Revamped Dockerfile and compose for updated architectur
This commit is contained in:
93
compose.yml
93
compose.yml
@@ -1,49 +1,70 @@
|
||||
services:
|
||||
api-server:
|
||||
user: 0:0
|
||||
restart: always
|
||||
image: ${MOONLIGHT_IMAGE}
|
||||
services:
|
||||
app:
|
||||
# Meta
|
||||
image: moonlight-deploy
|
||||
|
||||
# Build
|
||||
pull_policy: build
|
||||
build:
|
||||
context: .
|
||||
dockerfile: ./Dockerfile
|
||||
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"
|
||||
HTTP_PROXY: ${HTTP_PROXY}
|
||||
HTTPS_PROXY: ${HTTPS_PROXY}
|
||||
|
||||
# Requirements
|
||||
depends_on:
|
||||
db:
|
||||
database:
|
||||
condition: service_healthy
|
||||
|
||||
# Networks
|
||||
networks:
|
||||
- moonlight
|
||||
ports:
|
||||
- "8080:8080"
|
||||
|
||||
# Env Settings
|
||||
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}
|
||||
# Database settings
|
||||
- "Moonlight__Database__Host=${DATABASE_HOST}"
|
||||
- "Moonlight__Database__Port=${DATABASE_PORT}"
|
||||
- "Moonlight__Database__Username=${DATABASE_USERNAME}"
|
||||
- "Moonlight__Database__Password=${DATABASE_PASSWORD}"
|
||||
- "Moonlight__Database__Database=${DATABASE_DATABASE}"
|
||||
|
||||
# OIDC
|
||||
- "Moonlight__OIDC__Authority=${OIDC_AUTHORITY}"
|
||||
- "Moonlight__OIDC__ClientId=${OIDC_CLIENT_ID}"
|
||||
- "Moonlight__OIDC__ClientSecret=${OIDC_CLIENT_SECRET}"
|
||||
- "Moonlight__OIDC__RequireHttpsMetadata=${OIDC_REQUIRE_HTTPS_METADATA:-true}"
|
||||
- "Moonlight__OIDC__Scopes__0=openid"
|
||||
- "Moonlight__OIDC__Scopes__1=identify"
|
||||
- "Moonlight__OIDC__Scopes__2=email"
|
||||
|
||||
# Logging
|
||||
- "Logging__LogLevel__Default=Information"
|
||||
- "Logging__LogLevel__Microsoft.AspNetCore=Warning"
|
||||
|
||||
db:
|
||||
image: postgres:latest
|
||||
restart: always
|
||||
database:
|
||||
image: postgres:18.1
|
||||
|
||||
networks:
|
||||
- moonlight
|
||||
|
||||
environment:
|
||||
- POSTGRES_USER=${MOONLIGHT_DATABASE_USER}
|
||||
- POSTGRES_DB=${MOONLIGHT_DATABASE_NAME}
|
||||
- POSTGRES_PASSWORD=${MOONLIGHT_DATABASE_PASSWORD}
|
||||
- "POSTGRES_USER=${DATABASE_USERNAME}"
|
||||
- "POSTGRES_PASSWORD=${DATABASE_PASSWORD}"
|
||||
- "POSTGRES_DB=${DATABASE_DATABASE}"
|
||||
- "PGDATA=/pgdata"
|
||||
|
||||
volumes:
|
||||
- ${MOONLIGHT_DATA}/database:/var/lib/postgresql/data
|
||||
- ./data/database:/var/lib/postgresql/data
|
||||
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "pg_isready"]
|
||||
test: [ "CMD", "pg_isready", "-q", "-d", $DATABASE_DATABASE, "-U", $DATABASE_USERNAME]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 5
|
||||
|
||||
networks:
|
||||
moonlight:
|
||||
Reference in New Issue
Block a user