diff --git a/docker-compose.yml b/docker-compose.yml index ed17e07..c9fe957 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,20 @@ +# ВНИМАНИЕ (2026-08-05). Порты базы и внутреннего API наружу НЕ публикуются, +# секреты берутся только из .env — в этот файл их не писать. +# Прежняя версия (5432 наружу + пароль postgres) привела к потере базы на ru2: +# её снесли вымогатели и оставили требование выкупа. +# И помните: пустой ports в override-файле НЕ отменяет порты отсюда — +# списки в docker compose при слиянии складываются. services: db: image: postgres:16-alpine environment: POSTGRES_DB: family_tree POSTGRES_USER: postgres - POSTGRES_PASSWORD: postgres + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?задайте в .env} volumes: - db_data:/var/lib/postgresql/data - ./db/schema.sql:/docker-entrypoint-initdb.d/01_schema.sql:ro - ./db/seed.sql:/docker-entrypoint-initdb.d/02_seed.sql:ro - ports: - - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s @@ -21,21 +25,19 @@ services: build: ./backend environment: PORT: 4000 - DATABASE_URL: postgres://postgres:postgres@db:5432/family_tree - JWT_SECRET: please_change_this_secret + DATABASE_URL: ${DATABASE_URL:?задайте в .env} + JWT_SECRET: ${JWT_SECRET:?задайте в .env} CORS_ORIGIN: http://localhost:3000 depends_on: db: condition: service_healthy - ports: - - "4000:4000" frontend: build: ./frontend depends_on: - backend ports: - - "3000:80" + - "127.0.0.1:3000:80" volumes: db_data: