5 Commits
Author SHA1 Message Date
vladp 4ee7e439c0 NC_YA
Test Workflow / test (push) Successful in 3s
2026-02-06 04:24:08 +07:00
vladp 503463e1d0 NC_YA
Test Workflow / test (push) Successful in 3s
2026-02-06 04:19:43 +07:00
vladp 5f61c82dee NC_YA
Test Workflow / test (push) Successful in 3s
2026-02-06 04:14:17 +07:00
vladp 2139ca0e8c NC_YA
Test Workflow / test (push) Successful in 7s
2026-02-06 03:50:26 +07:00
vladp 01332c7db5 NC_YA
Test Workflow / test (push) Successful in 4s
2026-02-06 03:31:41 +07:00
8 changed files with 154 additions and 20 deletions
+73
View File
@@ -0,0 +1,73 @@
version: '3.9'
services:
storage:
image: alpine:latest
container_name: file-storage-local
networks:
- app-network-local
volumes:
- uploads_data_local:/storage:rw
command: tail -f /dev/null
restart: unless-stopped
db:
image: postgres:17.7
restart: always
environment:
POSTGRES_DB: no_copy_
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_SHARED_BUFFERS: 512MB
POSTGRES_EFFECTIVE_CACHE_SIZE: 1536MB
ports:
- "54320:5432"
volumes:
- pgdata_local:/var/lib/postgresql/data
- ./init-scripts:/docker-entrypoint-initdb.d:ro
container_name: postgres-local
networks:
app-network-local:
aliases:
- database
app:
build: .
container_name: app-backend-local
environment:
JAVA_TOOL_OPTIONS: "-Xmx2g -Xms1g"
FILE_STORAGE_PATH: /data/uploads
POSTGRES_DB: no_copy_
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_PORT: 5432
POSTGRES_HOST: db
# Используем local профиль
SPRING_PROFILES_ACTIVE: local
YANDEX_API_KEY: AQVNyaVaUmgUb1GMCtf5zSEqFxy0woXrcMOOB43q
YANDEX_FOLDER_ID: b1gokpdbm6qfpsou8pcd
YANDEX_SEARCH_URL: "https://searchapi.api.cloud.yandex.net/v2/image/search_by_image"
depends_on:
- db
ports:
- "8080:8080"
networks:
app-network-local:
aliases:
- app
- backend
volumes:
- uploads_data_local:/data/uploads:rw
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8080/actuator/health" ]
interval: 30s
timeout: 10s
retries: 3
volumes:
pgdata_local:
uploads_data_local:
networks:
app-network-local:
driver: bridge
+49
View File
@@ -0,0 +1,49 @@
version: '3.9'
services:
storage:
image: alpine:latest
container_name: file-storage
networks:
- app-network
volumes:
- uploads_data:/storage:rw
command: tail -f /dev/null
restart: unless-stopped
app:
build: .
container_name: app-backend
environment:
JAVA_TOOL_OPTIONS: "-Xmx2g -Xms1g"
FILE_STORAGE_PATH: /data/uploads
# Данные для Yandex Cloud БД
YC_DB_USER: ${YC_DB_USER}
YC_DB_PASSWORD: ${YC_DB_PASSWORD}
# Используем prod профиль
SPRING_PROFILES_ACTIVE: prod
YANDEX_API_KEY: AQVNyaVaUmgUb1GMCtf5zSEqFxy0woXrcMOOB43q
YANDEX_FOLDER_ID: b1gokpdbm6qfpsou8pcd
YANDEX_SEARCH_URL: "https://searchapi.api.cloud.yandex.net/v2/image/search_by_image"
ports:
- "80:8080"
networks:
app-network:
aliases:
- app
- backend
volumes:
- uploads_data:/data/uploads:rw
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8080/actuator/health" ]
interval: 30s
timeout: 10s
retries: 3
volumes:
uploads_data:
networks:
app-network:
external: true
driver: bridge
+2
View File
@@ -0,0 +1,2 @@
YC_DB_USER=test
YC_DB_PASSWORD=testtest
-2
View File
@@ -1,2 +0,0 @@
server:
baseurl: "http://localhost"
-2
View File
@@ -1,2 +0,0 @@
server:
baseurl: "http://92.242.61.23"
+24
View File
@@ -0,0 +1,24 @@
spring:
datasource:
url: jdbc:postgresql://rc1a-7osqmsdaf27d2ieh.mdb.yandexcloud.net:6432/ncp-test?ssl=true&sslmode=require
username: ${YC_DB_USER:test}
password: ${YC_DB_PASSWORD:testtest}
driver-class-name: org.postgresql.Driver # ← ДОБАВЬ
jpa:
hibernate:
ddl-auto: update
flyway:
enabled: false
file:
storage:
base-path: ${FILE_STORAGE_PATH:/data/uploads}
chunk-size: ${FILE_CHUNK_SIZE:1000000} # 1MB
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 дня
auth-token-life-hours: ${AUTH_TOKEN_LIFE:1} # 1 час
session-expiry-hours: ${SESSION_EXPIRY_HOURS:24}
+6 -16
View File
@@ -1,7 +1,6 @@
spring:
# config:
# activate:
# on-profile: ${SPRING_PROFILES_ACTIVE:dev}
profiles:
active: ${SPRING_PROFILES_ACTIVE:local}
mail:
host: smtp.gmail.com
@@ -15,24 +14,15 @@ spring:
starttls:
enable: true
# 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
flyway:
enabled: true
baseline-on-migrate: true
datasource:
url: jdbc:postgresql://${POSTGRES_HOST}:${POSTGRES_PORT}/${POSTGRES_DB}
username: ${POSTGRES_USER}
password: ${POSTGRES_PASSWORD}
# Настройки по умолчанию для local разработки
url: jdbc:postgresql://${POSTGRES_HOST:localhost}:${POSTGRES_PORT:54320}/${POSTGRES_DB:no_copy_}
username: ${POSTGRES_USER:postgres}
password: ${POSTGRES_PASSWORD:postgres}
driver-class-name: org.postgresql.Driver
jpa: