services: api-server: user: 0:0 restart: always image: ${MOONLIGHT_IMAGE} build: context: . dockerfile: ./Dockerfile args: - MOONLIGHT_REPO=${MOONLIGHT_REPOSITORY} - MOONLIGHT_BRANCH=${MOONLIGHT_BRANCH} - MOONLIGHT_GITHUB_TOKEN=${MOONLIGHT_GITHUB_TOKEN} - MOONLIGHT_NUGET_SOURCE=${MOONLIGHT_NUGET_SOURCE} ports: - "${MOONLIGHT_PORT}:8080" depends_on: db: condition: service_healthy environment: - MOONLIGHT_DATABASE_HOST=db - MOONLIGHT_DATABASE_PORT=5432 - MOONLIGHT_DATABASE_USERNAME=${MOONLIGHT_DATABASE_USER} - MOONLIGHT_DATABASE_PASSWORD=${MOONLIGHT_DATABASE_PASSWORD} - MOONLIGHT_DATABASE_DATABASE=${MOONLIGHT_DATABASE_NAME} - MOONLIGHT_PUBLICURL=${MOONLIGHT_URL} - MOONLIGHT_AUTHENTICATION_OAUTH2_ACCESSENDPOINT=http://localhost:8080/oauth2/handle # Use this when moonlight is using local oauth2 and a different port as the public url env_file: - path: "additional.env" required: false volumes: - ${MOONLIGHT_DATA}/moonlight:/app/storage links: - db pull_policy: ${MOONLIGHT_PULL_POLICY} db: image: postgres:latest restart: always environment: - POSTGRES_USER=${MOONLIGHT_DATABASE_USER} - POSTGRES_DB=${MOONLIGHT_DATABASE_NAME} - POSTGRES_PASSWORD=${MOONLIGHT_DATABASE_PASSWORD} volumes: - ${MOONLIGHT_DATA}/database:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready"] interval: 10s timeout: 5s retries: 5