Персональный образовательный ресурс для Константина на Deepseek API
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

39 lines
1.2 KiB

services:
db:
image: postgres:16-alpine
environment:
POSTGRES_USER: ${POSTGRES_USER:-edu}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-edu}
POSTGRES_DB: ${POSTGRES_DB:-edu_helper}
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-edu} -d ${POSTGRES_DB:-edu_helper}"]
interval: 3s
timeout: 5s
retries: 10
app:
build: .
ports:
- "${APP_PORT:-3107}:3107"
environment:
NODE_ENV: production
PORT: "3107"
DATABASE_URL: postgresql://${POSTGRES_USER:-edu}:${POSTGRES_PASSWORD:-edu}@db:5432/${POSTGRES_DB:-edu_helper}
JWT_SECRET: ${JWT_SECRET:?Set JWT_SECRET in .env}
SEED_TUTOR_USERNAME: ${SEED_TUTOR_USERNAME:-alexey}
SEED_STUDENT_USERNAME: ${SEED_STUDENT_USERNAME:-konstantin}
SEED_TUTOR_PASSWORD: ${SEED_TUTOR_PASSWORD:?Set SEED_TUTOR_PASSWORD in .env}
SEED_STUDENT_PASSWORD: ${SEED_STUDENT_PASSWORD:?Set SEED_STUDENT_PASSWORD in .env}
DEEPSEEK_API_KEY: ${DEEPSEEK_API_KEY:-}
COOKIE_SECURE: ${COOKIE_SECURE:-false}
depends_on:
db:
condition: service_healthy
volumes:
- uploads:/app/uploads
volumes:
pgdata:
uploads: