services:
  app:
    build: .
    ports:
      - '${APP_PORT:-3001}:3000'
    env_file: .env
    environment:
      - DATABASE_URL=postgresql://sub2apipay:${DB_PASSWORD:-password}@db:5432/sub2apipay
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_USER: sub2apipay
      POSTGRES_PASSWORD: ${DB_PASSWORD:-password}
      POSTGRES_DB: sub2apipay
    volumes:
      - pgdata:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD-SHELL', 'pg_isready -U sub2apipay']
      interval: 5s
    restart: unless-stopped

volumes:
  pgdata:
