# Секреты только из .env — не хардкодить здесь. services: db: image: postgres:16-alpine env_file: .env environment: POSTGRES_DB: nika_gallery POSTGRES_USER: postgres POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} 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 healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 3s retries: 10 backend: build: ./backend env_file: .env depends_on: db: condition: service_healthy ports: - "127.0.0.1:4000:4000" volumes: - ./uploads:/app/uploads frontend: build: ./frontend env_file: .env depends_on: - backend ports: - "127.0.0.1:3000:3000" nginx: image: nginx:alpine ports: - "80:80" - "443:443" volumes: - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro - ./nginx/certs:/etc/nginx/certs:ro - ./uploads:/var/www/uploads:ro depends_on: - frontend - backend volumes: db_data: