Files
smoothschedule/smoothschedule/docker-compose.production.yml
poduck bed0ba9304 feat(mail): Add mail server SSH configuration
- Mount SSH keys in Django container for mail server access
- Add mail server configuration environment variables
- Import mail server settings in production.py with env defaults
- Configure mail.talova.net SSH connection parameters

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-03 13:33:19 -05:00

90 lines
2.0 KiB
YAML

volumes:
production_postgres_data: {}
production_postgres_data_backups: {}
production_traefik: {}
production_redis_data: {}
services:
django: &django
build:
context: .
dockerfile: ./compose/production/django/Dockerfile
image: smoothschedule_production_django
depends_on:
- postgres
- redis
env_file:
- ./.envs/.production/.django
- ./.envs/.production/.postgres
volumes:
- ./.ssh:/app/.ssh:ro
command: /start
postgres:
build:
context: .
dockerfile: ./compose/production/postgres/Dockerfile
image: smoothschedule_production_postgres
volumes:
- production_postgres_data:/var/lib/postgresql/data
- production_postgres_data_backups:/backups
env_file:
- ./.envs/.production/.postgres
traefik:
build:
context: .
dockerfile: ./compose/production/traefik/Dockerfile
image: smoothschedule_production_traefik
depends_on:
- django
volumes:
- production_traefik:/etc/traefik/acme
ports:
- '0.0.0.0:80:80'
- '0.0.0.0:443:443'
- '0.0.0.0:5555:5555'
- '0.0.0.0:5555:5555'
nginx:
build:
context: ../smoothschedule-frontend
dockerfile: Dockerfile.prod
args:
VITE_API_URL: https://api.smoothschedule.com
depends_on:
- django
ports:
- "8080:80" # Expose internally for Traefik
redis:
image: docker.io/redis:7.2
volumes:
- production_redis_data:/data
celeryworker:
<<: *django
image: smoothschedule_production_celeryworker
command: /start-celeryworker
celerybeat:
<<: *django
image: smoothschedule_production_celerybeat
command: /start-celerybeat
flower:
<<: *django
image: smoothschedule_production_flower
command: /start-flower
awscli:
build:
context: .
dockerfile: ./compose/production/aws/Dockerfile
env_file:
- ./.envs/.production/.django
volumes:
- production_postgres_data_backups:/backups:z