services: app: image: goalcast:latest build: . ports: - "8080:8080" environment: SPRING_PROFILES_ACTIVE: prod DB_PASSWORD: ${DB_PASSWORD} SPRING_DATA_REDIS_HOST: valkey depends_on: - db - valkey restart: unless-stopped db: image: postgres:17 environment: POSTGRES_DB: goalcast POSTGRES_USER: goalcast POSTGRES_PASSWORD: ${DB_PASSWORD} volumes: - pgdata:/var/lib/postgresql/data restart: unless-stopped valkey: image: valkey/valkey:8-alpine restart: unless-stopped caddy: image: caddy:2-alpine ports: - "80:80" - "443:443" volumes: - ./Caddyfile:/etc/caddy/Caddyfile - caddy_data:/data depends_on: - app restart: unless-stopped dozzle: image: amir20/dozzle:latest volumes: - /var/run/docker.sock:/var/run/docker.sock:ro ports: - "127.0.0.1:8888:8080" environment: DOZZLE_USERNAME: admin DOZZLE_PASSWORD: ${DOZZLE_PASSWORD} restart: unless-stopped volumes: pgdata: caddy_data: