53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
# Backend + frontend в сети с уже поднятым PostgreSQL (external network).
|
||
#
|
||
# Подготовка: из корня репозитория скопируйте .env.example → .env и задайте DB_*
|
||
# и CORS_ORIGIN (для фронта на :3033 — http://localhost:3033).
|
||
#
|
||
# Сеть (имя должно существовать, как у вашего Postgres):
|
||
# docker network ls
|
||
#
|
||
# Запуск:
|
||
# docker compose -f docker-compose.stack.yml up -d --build
|
||
#
|
||
# Миграции и seed (один раз после появления БД):
|
||
# docker compose -f docker-compose.stack.yml exec backend node dist/migrate.js
|
||
# docker compose -f docker-compose.stack.yml exec backend node dist/seed.js
|
||
#
|
||
# NPM: проброс на порт 3033. Браузер ходит на /api → nginx во фронте → backend:3000.
|
||
|
||
services:
|
||
backend:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile.backend
|
||
container_name: runners-calendar-backend
|
||
env_file:
|
||
- .env
|
||
environment:
|
||
- PORT=3000
|
||
ports:
|
||
- "3001:3000"
|
||
volumes:
|
||
# CSV и прочие данные import/ на хосте (Synology: ./import рядом с compose) без пересборки образа
|
||
- ./import:/app/import:ro
|
||
restart: unless-stopped
|
||
networks:
|
||
- postgres_default
|
||
|
||
frontend:
|
||
build:
|
||
context: .
|
||
dockerfile: Dockerfile.frontend
|
||
container_name: runners-calendar-frontend
|
||
depends_on:
|
||
- backend
|
||
ports:
|
||
- "3033:80"
|
||
restart: unless-stopped
|
||
networks:
|
||
- postgres_default
|
||
|
||
networks:
|
||
postgres_default:
|
||
external: true
|