version: '2.8' services: app: build: context: '.' args: - 'LOCALE=$DEFAULT_LOCALE' image: 'chewingbever/firefly-iii-cron:latest' restart: 'always' healthcheck: test: 'curl -f localhost:8080 || exit 1' interval: '1m' timeout: '10s' retries: 3 start_period: '10s' depends_on: db: condition: 'service_healthy' redis: condition: 'service_healthy' env_file: - '.env' networks: - 'nginx' - 'default' volumes: - 'upload:/var/www/html/storage/upload' db: image: 'postgres:13.2-alpine' restart: 'always' healthcheck: test: 'pg_isready -U firefly' interval: '10s' timeout: '5s' retries: 5 start_period: '0s' environment: - 'POSTGRES_DB=firefly' - 'POSTGRES_PASSWORD=firefly' - 'POSTGRES_USER=firefly' volumes: - 'db-data:/var/lib/postgresql/data' redis: image: 'redis:6.0.12-alpine' restart: 'always' healthcheck: test: 'redis-cli -h localhost ping' interval: '10s' timeout: '5s' retries: 3 networks: nginx: external: true volumes: upload: db-data: