114 lines
2.9 KiB
YAML
114 lines
2.9 KiB
YAML
services:
|
|
app:
|
|
# Meta
|
|
image: moonlight-deploy
|
|
|
|
# Build
|
|
pull_policy: build
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
HTTP_PROXY: ${HTTP_PROXY}
|
|
HTTPS_PROXY: ${HTTPS_PROXY}
|
|
GIT_BRANCH: ${GIT_BRANCH:-v2.1}
|
|
|
|
# Requirements
|
|
depends_on:
|
|
database:
|
|
condition: service_healthy
|
|
|
|
# Networks
|
|
networks:
|
|
- moonlight
|
|
ports:
|
|
- "8080:8080"
|
|
|
|
# User
|
|
user: 0:0
|
|
|
|
# Persistent storage
|
|
volumes:
|
|
- ${DATA_PATH}/moonlight:/app/storage
|
|
|
|
# Env Settings
|
|
environment:
|
|
# 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"
|
|
|
|
# Container Helper
|
|
- "Moonlight__ContainerHelper__IsEnabled=true"
|
|
- "Moonlight__ContainerHelper__Url=http://helper:8080"
|
|
|
|
# Logging
|
|
- "Logging__LogLevel__Default=Information"
|
|
- "Logging__LogLevel__Microsoft.AspNetCore=Warning"
|
|
- "Logging__LogLevel__System.Net.Http.HttpClient=Warning"
|
|
|
|
# HTTP Proxy
|
|
- "HTTP_PROXY=${HTTP_PROXY}"
|
|
- "HTTPS_PROXY=${HTTPS_PROXY}"
|
|
- "NO_PROXY=database,helper"
|
|
|
|
database:
|
|
image: postgres:18.1
|
|
|
|
networks:
|
|
- moonlight
|
|
|
|
environment:
|
|
- "POSTGRES_USER=${DATABASE_USERNAME}"
|
|
- "POSTGRES_PASSWORD=${DATABASE_PASSWORD}"
|
|
- "POSTGRES_DB=${DATABASE_DATABASE}"
|
|
|
|
volumes:
|
|
- ${DATA_PATH}/database:/var/lib/postgresql
|
|
|
|
healthcheck:
|
|
test: [ "CMD", "pg_isready", "-q", "-d", "${DATABASE_DATABASE}", "-U", "${DATABASE_USERNAME}" ]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
start_period: 3s
|
|
|
|
helper:
|
|
image: git.battlestati.one/moonlight-panel/container_helper
|
|
|
|
group_add:
|
|
- "${DOCKER_GID}"
|
|
|
|
networks:
|
|
- moonlight
|
|
|
|
environment:
|
|
# Logging
|
|
- "Logging__LogLevel__Default=Information"
|
|
- "Logging__LogLevel__Microsoft.AspNetCore=Warning"
|
|
|
|
# Compose
|
|
- "ContainerHelper__Compose__Directory=${PWD}"
|
|
- "ContainerHelper__Compose__Binary=docker-compose"
|
|
|
|
# HTTP Proxy
|
|
- "HTTP_PROXY=${HTTP_PROXY}"
|
|
- "HTTPS_PROXY=${HTTPS_PROXY}"
|
|
|
|
volumes:
|
|
- "${PWD}:${PWD}"
|
|
- "/var/run/docker.sock:/var/run/docker.sock"
|
|
|
|
networks:
|
|
moonlight: |