Files
OpsMastery.v5/docker-compose.yml
2026-07-12 20:26:16 -04:00

93 lines
2.4 KiB
YAML

services:
app:
build:
context: .
dockerfile: Dockerfile
target: prod
restart: unless-stopped
ports:
- "${PORT}:${PORT}"
environment:
APP_ENV: ${APP_ENV}
PORT: ${PORT}
BLUEPRINT_DB_HOST: psql_bp
BLUEPRINT_DB_PORT: 5432
BLUEPRINT_DB_DATABASE: ${BLUEPRINT_DB_DATABASE}
BLUEPRINT_DB_USERNAME: ${BLUEPRINT_DB_USERNAME}
BLUEPRINT_DB_PASSWORD: ${BLUEPRINT_DB_PASSWORD}
BLUEPRINT_DB_SCHEMA: ${BLUEPRINT_DB_SCHEMA}
EMAIL_FROM: ${EMAIL_FROM}
EMAIL_PASSWORD: ${EMAIL_PASSWORD}
SMTP_HOST: ${SMTP_HOST}
SMTP_PORT: ${SMTP_PORT}
APP_URL: ${APP_URL}
SESSION_SECRET: ${SESSION_SECRET}
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}
GOOGLE_CALLBACK_URL: ${GOOGLE_CALLBACK_URL}
GITHUB_CLIENT_ID: ${GITHUB_CLIENT_ID}
GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET}
GITHUB_CALLBACK_URL: ${GITHUB_CALLBACK_URL}
depends_on:
psql_bp:
condition: service_healthy
networks:
- blueprint
chat-service:
build:
context: .
dockerfile: Dockerfile.chat
ports:
- "5000:5000"
networks:
- blueprint
webrtc-service:
build:
context: .
dockerfile: Dockerfile.webrtc
ports:
- "4000:4000"
networks:
- blueprint
psql_bp:
image: postgres:17-alpine
restart: unless-stopped
environment:
POSTGRES_DB: ${BLUEPRINT_DB_DATABASE}
POSTGRES_USER: ${BLUEPRINT_DB_USERNAME}
POSTGRES_PASSWORD: ${BLUEPRINT_DB_PASSWORD}
ports:
- "${BLUEPRINT_DB_PORT}:5432"
volumes:
- psql_volume_bp:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${BLUEPRINT_DB_USERNAME} -d ${BLUEPRINT_DB_DATABASE}'"]
interval: 5s
timeout: 5s
retries: 3
start_period: 15s
networks:
- blueprint
seed:
build:
context: .
dockerfile: Dockerfile.seed
depends_on:
psql_bp:
condition: service_healthy
networks:
- blueprint
environment:
BLUEPRINT_DB_HOST: psql_bp
BLUEPRINT_DB_PORT: 5432
BLUEPRINT_DB_DATABASE: ${BLUEPRINT_DB_DATABASE}
BLUEPRINT_DB_USERNAME: ${BLUEPRINT_DB_USERNAME}
BLUEPRINT_DB_PASSWORD: ${BLUEPRINT_DB_PASSWORD}
BLUEPRINT_DB_SCHEMA: ${BLUEPRINT_DB_SCHEMA}
command: ["./seed"]
volumes:
psql_volume_bp:
networks:
blueprint: