vas3k.club/docker-compose.production.yml

100 lines
2.0 KiB
YAML

version: "3"
services:
club_app: &app
image: ghcr.io/vas3k/club:${GITHUB_SHA:-latest}
command: make docker-run-production
container_name: club_app
environment:
- MODE=production
- PYTHONUNBUFFERED=1
- DEBUG=false
- APP_HOST=https://vas3k.club
- MEDIA_UPLOAD_URL=https://i.vas3k.club/upload/
- POSTGRES_DB=vas3k_club
- POSTGRES_USER=vas3k
- POSTGRES_PASSWORD=vas3k
- POSTGRES_HOST=postgres
- REDIS_DB=0
- REDIS_HOST=redis
- EMAIL_HOST
- EMAIL_PORT
- DEFAULT_FROM_EMAIL
env_file:
- .env
restart: always
volumes:
- ./frontend/static:/tmp/static
- ./gdpr/downloads:/app/gdpr/downloads
depends_on:
- postgres
- redis
- queue
ports:
- "127.0.0.1:8814:8814"
logging:
driver: "json-file"
options:
max-size: "100M"
queue:
<<: *app
command: make docker-run-queue
container_name: club_queue
depends_on:
- postgres
- redis
ports: []
logging:
driver: "json-file"
options:
max-size: "100M"
bot:
<<: *app
command: make docker-run-bot
container_name: club_bot
depends_on:
- club_app
- postgres
- redis
ports:
- "8816:8816"
logging:
driver: "json-file"
options:
max-size: "100M"
cron:
<<: *app
command: make docker-run-cron
container_name: club_cron
depends_on:
- club_app
- postgres
- redis
ports: []
logging:
driver: "json-file"
options:
max-size: "100M"
postgres:
image: postgres:12
container_name: club_postgres
restart: always
environment:
POSTGRES_USER: vas3k
POSTGRES_PASSWORD: vas3k
POSTGRES_DB: vas3k_club
volumes:
- /home/vas3k/pgdata:/var/lib/postgresql/data:rw
ports:
- "127.0.0.1:54333:5432"
redis:
image: redis:alpine
container_name: club_redis
restart: always
environment:
- ALLOW_EMPTY_PASSWORD=yes