Files
automatisch/docker-compose.yml
ksurl 9ba1351a3b refactor: use healthcheck for db, remove psql client from image (#737)
* refactor: use healthcheck for db, remove postgresql client from main image

* fix: redis dependency condition

* cleanup entrypoint.sh

* fix healthcheck command
2022-11-22 01:18:05 +01:00

67 lines
1.6 KiB
YAML

version: '3.9'
services:
main:
build:
context: ./docker
image: automatischio/automatisch
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
- APP_SECRET_KEY
volumes:
- automatisch_storage:/automatisch/storage
worker:
build:
context: ./docker
image: automatischio/automatisch
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
- 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: