42 lines
2.0 KiB
YAML
42 lines
2.0 KiB
YAML
# sultan server auf dem Ingress-Knoten (neben Traefik).
|
||
#
|
||
# cp .env.example .env && $EDITOR .env
|
||
# install -d -m 0700 -o 65532 -g 65532 suldata # Datenverzeichnis für den nonroot-User
|
||
# docker compose up -d
|
||
# docker compose exec sultan-server sultan version # Zeitzone prüfen
|
||
# docker compose exec sultan-server sultan token tenant add …
|
||
#
|
||
# network_mode: host wie Traefik:
|
||
# - Ports frei wählbar (.env), ohne Mapping; die Adresse des Landers für die
|
||
# Wartungsseiten stimmt damit automatisch.
|
||
# - Rate-Limit und nodes.ip_address sehen die echte IP der Agents.
|
||
# Traefik pollt http://${SULTAN_PROVIDER_ADDR}/v1/traefik-config (traefik.yml, siehe
|
||
# traefik-provider.yml).
|
||
services:
|
||
sultan-server:
|
||
image: ${SULTAN_IMAGE:-sultan:latest}
|
||
container_name: sultan-server
|
||
restart: unless-stopped
|
||
network_mode: host
|
||
command: ["sultan", "server", "--data-dir=/suldata"]
|
||
environment:
|
||
# Agents (TLS 1.3) – in der Firewall für die Agent-Hosts öffnen.
|
||
SULTAN_AGENT_ADDR: ${SULTAN_AGENT_ADDR:-:8443}
|
||
# Traefik-Provider & Checkmk – Klartext, nur Loopback!
|
||
SULTAN_PROVIDER_ADDR: ${SULTAN_PROVIDER_ADDR:-127.0.0.1:8080}
|
||
# Lander (Hinweis-/Wartungsseiten) – nur Loopback, Traefik ruft ihn auf.
|
||
SULTAN_LANDER_ADDR: ${SULTAN_LANDER_ADDR:-127.0.0.1:8081}
|
||
# Leer = keine Adresse in Einladungen (Agent braucht dann --server).
|
||
# Mehrere Adressen kommagetrennt (öffentlich, NetBird …).
|
||
SULTAN_PUBLIC_URL: ${SULTAN_PUBLIC_URL:-}
|
||
SULTAN_HOSTER_NAME: ${SULTAN_HOSTER_NAME:-}
|
||
SULTAN_HOSTER_URL: ${SULTAN_HOSTER_URL:-}
|
||
SULTAN_NOTIFY_SLACK: ${SULTAN_NOTIFY_SLACK:-}
|
||
SULTAN_NOTIFY_NTFY: ${SULTAN_NOTIFY_NTFY:-}
|
||
SULTAN_NOTIFY_NTFY_TOKEN: ${SULTAN_NOTIFY_NTFY_TOKEN:-}
|
||
# Zeitzone für Wartungsseite und Checkmk (sonst UTC). Prüfen:
|
||
# docker compose exec sultan-server sultan version
|
||
TZ: ${TZ:-Europe/Berlin}
|
||
volumes:
|
||
- ./suldata:/suldata # sultan.db, server.key/.crt, master.key – sichern!
|