version: '3.9' services: main: build: context: ./docker dockerfile: Dockerfile.compose entrypoint: /compose-entrypoint.sh ports: - '1234:3000' depends_on: postgres: condition: service_healthy redis: condition: service_started environment: - HOST=${HOST} - PROTOCOL=${PROTOCOL} - PORT=${PORT} - APP_ENV=${APP_ENV} - REDIS_HOST=${REDIS_HOST} - POSTGRES_HOST=${POSTGRES_HOST} - POSTGRES_DATABASE=${POSTGRES_DATABASE} - POSTGRES_USERNAME=${POSTGRES_USERNAME} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - ENCRYPTION_KEY=${ENCRYPTION_KEY} - WEBHOOK_SECRET_KEY=${WEBHOOK_SECRET_KEY} - APP_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=${APP_ENV} - REDIS_HOST=${REDIS_HOST} - POSTGRES_HOST=${POSTGRES_HOST} - POSTGRES_DATABASE=${POSTGRES_DATABASE} - POSTGRES_USERNAME=${POSTGRES_USERNAME} - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - ENCRYPTION_KEY=${ENCRYPTION_KEY} - WEBHOOK_SECRET_KEY=${WEBHOOK_SECRET_KEY} - APP_SECRET_KEY=${APP_SECRET_KEY} - WORKER=true volumes: - automatisch_storage:/automatisch/storage postgres: image: 'postgres:14.5' environment: - POSTGRES_DB=${POSTGRES_DATABASE} - POSTGRES_USER=${POSTGRES_USERNAME} - POSTGRES_PASSWORD=${POSTGRES_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: