version: "3.8" services: api: build: . ports: - "8080:8080" environment: - REDIS_ADDR=redis:6379 - POSTGRES_DATABASE=trip_planner - POSTGRES_USER=trip_planner - POSTGRES_PASSWORD=trip_planner - POSTGRES_HOST=postgres depends_on: - redis - postgres command: ["/api"] cron: build: . environment: - REDIS_ADDR=redis:6379 - POSTGRES_DATABASE=trip_planner - POSTGRES_USER=trip_planner - POSTGRES_PASSWORD=trip_planner - POSTGRES_HOST=postgres depends_on: - redis - postgres command: ["/cron"] redis: image: redis:7-alpine ports: - "6379:6379" volumes: - redis_data:/data postgres: image: postgres:15-alpine environment: - POSTGRES_DB=trip_planner - POSTGRES_USER=trip_planner - POSTGRES_PASSWORD=trip_planner ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data watchtower: image: nickfedor/watchtower:latest volumes: - /var/run/docker.sock:/var/run/docker.sock command: --interval 60 --cleanup travel-api volumes: postgres_data: redis_data: