1.0 KiB · text History 25c4237
services:
  postgres:
    image: postgres:16
    environment:
      POSTGRES_DB: app
      POSTGRES_USER: app_user
      POSTGRES_PASSWORD: app_password
    ports:
      - "5441:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U app_user -d app"]
      interval: 5s
      timeout: 3s
      retries: 10

  webservice:
    build:
      context: .
    # Named per project, not a shared `app:local`: compose reuses an existing
    # image of this name instead of building, so a generic name makes `up`
    # silently start whichever generated project built it last (whose
    # migrations then don't match this database).
    image: fieri-eternal:local
    depends_on:
      postgres: { condition: service_healthy }
    environment:
      DATABASE_URL: postgres://app_user:app_password@postgres:5432/app
      BIND_ADDRESS: 0.0.0.0:3999
      AUTO_MIGRATE: "true"
      REGISTRATION_ENABLED: "false"
    ports:
      - "4011:3999"

volumes:
  postgres_data: