version: '3.9' | |
services: | |
main: | |
build: | |
context: ./docker | |
dockerfile: Dockerfile.compose | |
entrypoint: /compose-entrypoint.sh | |
ports: | |
- '3000:3000' | |
depends_on: | |
postgres: | |
condition: service_healthy | |
redis: | |
condition: service_started | |
environment: | |
- HOST=localhost | |
- PROTOCOL=http | |
- PORT=3000 | |
- APP_ENV=production | |
- REDIS_HOST=redis | |
- POSTGRES_HOST=postgres | |
- POSTGRES_DATABASE=automatisch | |
- POSTGRES_USERNAME=automatisch_user | |
- POSTGRES_PASSWORD=automatisch_password | |
- ENCRYPTION_KEY | |
- WEBHOOK_SECRET_KEY | |
- APP_SECRET_KEY | |
volumes: | |
- automatisch_storage:/automatisch/storage | |
worker: | |
build: | |
context: ./docker | |
dockerfile: Dockerfile.compose | |
entrypoint: /compose-entrypoint.sh | |
depends_on: | |
- main | |
environment: | |
- APP_ENV=production | |
- REDIS_HOST=redis | |
- POSTGRES_HOST=postgres | |
- POSTGRES_DATABASE=automatisch | |
- POSTGRES_USERNAME=automatisch_user | |
- POSTGRES_PASSWORD=automatisch_password | |
- ENCRYPTION_KEY | |
- WEBHOOK_SECRET_KEY | |
- APP_SECRET_KEY | |
- WORKER=true | |
volumes: | |
- automatisch_storage:/automatisch/storage | |
postgres: | |
image: 'postgres:14.5' | |
environment: | |
- POSTGRES_DB=automatisch | |
- POSTGRES_USER=automatisch_user | |
- POSTGRES_PASSWORD=automatisch_password | |
volumes: | |
- postgres_data:/var/lib/postgresql/data | |
healthcheck: | |
test: ['CMD-SHELL', 'pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}'] | |
interval: 10s | |
timeout: 5s | |
retries: 5 | |
redis: | |
image: 'redis:7.0.4' | |
volumes: | |
- redis_data:/data | |
volumes: | |
automatisch_storage: | |
postgres_data: | |
redis_data: | |