version: "3.8" services: app: build: . ports: - "7860:7860" env_file: - .env environment: - PGHOST=postgres - REDIS_URL=redis://redis:6379 depends_on: postgres: condition: service_healthy redis: condition: service_healthy volumes: - uploads:/app/public/uploads postgres: image: postgres:16-alpine restart: unless-stopped environment: POSTGRES_USER: ${PGUSER:-nexus} POSTGRES_PASSWORD: ${PGPASSWORD:-nexus} POSTGRES_DB: ${PGDATABASE:-nexus} ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${PGUSER:-nexus}"] interval: 5s timeout: 5s retries: 5 redis: image: redis:7-alpine restart: unless-stopped ports: - "6379:6379" volumes: - redisdata:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 5s timeout: 5s retries: 5 volumes: pgdata: redisdata: uploads: