build - prozess optimiert mit push nach zot

nginx-kill - > maint. site...
This commit is contained in:
br committed 2026-10-03 12:44:45 +02:00
1 parent 665135f87e
commit 64417d8353
19 files changed
+447 -61

No files matched your search

+27 -13
View File
@@ -3,25 +3,39 @@
# 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 …
#
# Traefik (Host-Netz oder Binary) pollt http://127.0.0.1:8080/v1/traefik-config.
# 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
# Im Container auf allen Interfaces lauschen; nach außen nur 127.0.0.1 veröffentlichen.
command:
- "sultan"
- "server"
- "--data-dir=/suldata"
- "--provider-addr=:8080"
- "--lander-addr=:8081"
- "--public-url=${SULTAN_PUBLIC_URL}"
ports:
- "8443:8443" # Agents (TLS 1.3)
- "127.0.0.1:8080:8080" # Traefik-Provider & Checkmk – Klartext, nie öffentlich
- "127.0.0.1:8081:8081" # Lander (Hinweis-/Wartungsseiten) für Traefik
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!