version: '3.9' services: app: build: context: . dockerfile: Dockerfile ports: - '3000:3000' environment: - DATABASE_URL=postgresql://sentryagent:sentryagent@postgres:5432/sentryagent_idp - REDIS_URL=redis://redis:6379 - PORT=3000 env_file: - .env depends_on: postgres: condition: service_healthy redis: condition: service_healthy volumes: - ./src:/app/src:ro postgres: image: postgres:14-alpine environment: POSTGRES_USER: sentryagent POSTGRES_PASSWORD: sentryagent POSTGRES_DB: sentryagent_idp ports: - '5432:5432' volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ['CMD-SHELL', 'pg_isready -U sentryagent -d sentryagent_idp'] interval: 5s timeout: 5s retries: 5 redis: image: redis:7-alpine ports: - '6379:6379' volumes: - redis_data:/data healthcheck: test: ['CMD', 'redis-cli', 'ping'] interval: 5s timeout: 5s retries: 5 volumes: postgres_data: redis_data: