2025-11-23 23:25:58 +07:00
|
|
|
spring:
|
2026-01-27 20:55:33 +07:00
|
|
|
# config:
|
|
|
|
|
# activate:
|
|
|
|
|
# on-profile: ${SPRING_PROFILES_ACTIVE:dev}
|
2026-01-27 20:27:39 +07:00
|
|
|
|
2026-01-16 20:20:14 +07:00
|
|
|
mail:
|
2026-01-20 03:47:51 +07:00
|
|
|
host: smtp.gmail.com
|
|
|
|
|
port: 587
|
|
|
|
|
username: vlad.popovtsev@gmail.com
|
|
|
|
|
password: gocjwvrqrzlaatsr
|
2026-01-16 20:20:14 +07:00
|
|
|
properties:
|
2026-01-20 03:47:51 +07:00
|
|
|
mail:
|
|
|
|
|
smtp:
|
|
|
|
|
auth: true
|
|
|
|
|
starttls:
|
|
|
|
|
enable: true
|
|
|
|
|
|
2026-01-27 20:27:39 +07:00
|
|
|
# mail:
|
|
|
|
|
# host: postfix
|
|
|
|
|
# port: 25
|
|
|
|
|
# username: noreply@nocopy.com
|
|
|
|
|
# password: nocopy!nocopy!
|
|
|
|
|
# properties:
|
|
|
|
|
# mail.smtp.auth: false
|
|
|
|
|
# mail.smtp.starttls.enable: false
|
|
|
|
|
# mail.debug: true
|
2026-01-16 20:20:14 +07:00
|
|
|
|
2026-01-13 22:40:52 +07:00
|
|
|
flyway:
|
|
|
|
|
enabled: true
|
|
|
|
|
baseline-on-migrate: true
|
|
|
|
|
|
2025-11-23 23:25:58 +07:00
|
|
|
datasource:
|
2025-11-24 21:04:50 +07:00
|
|
|
url: jdbc:postgresql://${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
|
|
|
|
|
username: ${POSTGRES_USER}
|
|
|
|
|
password: ${POSTGRES_PASSWORD}
|
|
|
|
|
driver-class-name: org.postgresql.Driver
|
2025-11-23 23:25:58 +07:00
|
|
|
|
|
|
|
|
jpa:
|
|
|
|
|
hibernate:
|
|
|
|
|
ddl-auto: update
|
|
|
|
|
show-sql: true
|
2025-12-15 19:49:09 +07:00
|
|
|
properties:
|
|
|
|
|
hibernate:
|
|
|
|
|
dialect: org.hibernate.dialect.PostgreSQLDialect
|
|
|
|
|
format_sql: true
|
|
|
|
|
|
|
|
|
|
servlet:
|
|
|
|
|
multipart:
|
|
|
|
|
max-file-size: 10MB
|
|
|
|
|
max-request-size: 100MB
|
|
|
|
|
enabled: true
|
|
|
|
|
resolve-lazily: false
|
|
|
|
|
|
|
|
|
|
file:
|
|
|
|
|
storage:
|
2025-12-16 03:44:59 +07:00
|
|
|
base-path: ${FILE_STORAGE_PATH:/data/uploads}
|
2026-01-08 12:59:30 +07:00
|
|
|
chunk-size: ${FILE_CHUNK_SIZE:1000000} # 1MB
|
2025-12-16 03:44:59 +07:00
|
|
|
max-file-size: ${MAX_FILE_SIZE:10737418240} # 10GB
|
|
|
|
|
max-retry-attempts: ${MAX_RETRY_ATTEMPTS:3}
|
|
|
|
|
chunk-timeout-ms: ${CHUNK_TIMEOUT_MS:300000} # 5 минут
|
|
|
|
|
temp-ttl-hours: ${TEMP_TTL_HOURS:72} # 3 дня
|
2026-01-05 16:26:46 +07:00
|
|
|
auth-token-life-hours: ${AUTH_TOKEN_LIFE:1} # 1 час
|
2025-12-16 03:44:59 +07:00
|
|
|
session-expiry-hours: ${SESSION_EXPIRY_HOURS:24}
|
2025-11-23 23:25:58 +07:00
|
|
|
|
2025-12-17 01:19:48 +07:00
|
|
|
security:
|
|
|
|
|
cors:
|
|
|
|
|
allowed-origins: "*"
|
|
|
|
|
allowed-methods: GET,POST,PUT,DELETE,OPTIONS
|
|
|
|
|
allowed-headers: "*"
|
|
|
|
|
allow-credentials: true
|
|
|
|
|
|
2025-11-23 23:25:58 +07:00
|
|
|
server:
|
|
|
|
|
port: ${SERVER_PORT:8080}
|
2026-01-27 20:55:33 +07:00
|
|
|
baseurl: "http://92.242.61.23"
|
2026-02-10 12:33:07 +07:00
|
|
|
tomcat:
|
|
|
|
|
uri-encoding: UTF-8
|
|
|
|
|
servlet:
|
|
|
|
|
encoding:
|
|
|
|
|
charset: UTF-8
|
|
|
|
|
enabled: true
|
|
|
|
|
force: true
|
|
|
|
|
force-request: true
|
|
|
|
|
force-response: true
|
2025-11-23 23:25:58 +07:00
|
|
|
|
|
|
|
|
logging:
|
|
|
|
|
level:
|
2025-12-15 19:49:09 +07:00
|
|
|
com.example.fileupload: DEBUG
|
|
|
|
|
org.springframework.web: DEBUG
|
|
|
|
|
org.hibernate.SQL: DEBUG
|
|
|
|
|
file:
|
|
|
|
|
name: logs/application.log
|
|
|
|
|
pattern:
|
2026-01-10 01:06:32 +07:00
|
|
|
console: "%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"
|
|
|
|
|
|
|
|
|
|
yandex:
|
2026-01-10 01:19:30 +07:00
|
|
|
api-key: ${YANDEX_API_KEY:AQVNyaVaUmgUb1GMCtf5zSEqFxy0woXrcMOOB43q}
|
|
|
|
|
folder-id: ${YANDEX_FOLDER_ID:b1gokpdbm6qfpsou8pcd}
|
2026-01-16 20:20:14 +07:00
|
|
|
search-url: ${YANDEX_SEARCH_URL:https://searchapi.api.cloud.yandex.net/v2/image/search_by_image}
|
2026-01-20 03:47:51 +07:00
|
|
|
|
2026-02-05 00:37:59 +07:00
|
|
|
searchapi:
|
2026-02-11 16:24:19 +07:00
|
|
|
api-key: ${SEARCHAPI_API_KEY:rdwNzCr2eybYVbU1KrGTJAgm}
|
2026-02-05 00:37:59 +07:00
|
|
|
reverse-image-url: "https://searchapi.io/api/v1/search"
|
|
|
|
|
|
2026-01-20 03:47:51 +07:00
|
|
|
app:
|
|
|
|
|
email:
|
|
|
|
|
verification:
|
|
|
|
|
standart-subject: NO COPY - Подтверждение email адреса
|
2026-01-27 20:27:39 +07:00
|
|
|
standart-address-from: vlad.popovtsev@gmail.com
|
2026-02-02 12:19:34 +07:00
|
|
|
user: Пользователь
|
|
|
|
|
|
|
|
|
|
tarif:
|
|
|
|
|
demo-price: 0
|
|
|
|
|
demo-tokens: 10
|
|
|
|
|
demo-max-files-count: 10
|
|
|
|
|
demo-disk-size: 100
|
|
|
|
|
demo-user-count: 1
|
|
|
|
|
|
|
|
|
|
start-tokens: 20
|
|
|
|
|
start-price: 100
|
|
|
|
|
start-max-files-count: 20
|
|
|
|
|
start-disk-size: 200
|
|
|
|
|
start-user-count: 10
|
|
|
|
|
|
|
|
|
|
basic-tokens: 30
|
|
|
|
|
basic-price: 200
|
|
|
|
|
basic-max-files-count: 30
|
|
|
|
|
basic-disk-size: 300
|
|
|
|
|
basic-user-count: 30
|
|
|
|
|
|
|
|
|
|
pro-tokens: 40
|
|
|
|
|
pro-price: 300
|
|
|
|
|
pro-max-files-count: 40
|
|
|
|
|
pro-disk-size: 400
|
|
|
|
|
pro-user-count: 50
|
|
|
|
|
|
|
|
|
|
enterprice-tokens: 50
|
|
|
|
|
enterprice-price: 400
|
|
|
|
|
enterprice-max-files-count: 50
|
|
|
|
|
enterprice-disk-size: 500
|
2026-02-10 12:33:07 +07:00
|
|
|
enterprice-user-count: 80
|
|
|
|
|
|