Platform-Environment

Für eine allgemeine Erläuterung zu Platform-Environment-Dateien — Zweck und Verwendung — siehe Configs-Repository.

Diese Seite dokumentiert die verfügbaren Felder der Environment-Datei.

Achtung: Diese Dokumentation kann veralten. Gehen Sie im Zweifelsfall direkt an die Quelle. Um z.B. zu ermitteln, was in platform.yml landet, öffnen Sie platform/files/platform.dhall und folgen Sie dem Pfad.

Top-Level: Platform.Environment

FeldTypStandardBeschreibung
nameText-Name der Umgebung. Muss dem Dateinamen entsprechen.
platformPlatform.Config-Ferrosoft-Platform-Konfiguration
postgresPlatform.Postgres-PostgreSQL-Konfiguration
caddyPlatform.Caddy-Caddy-Konfiguration
valkeyOptional Platform.ImageSpecNoneValkey-Container-Image
victoriaOptional Platform.ImageSpecNoneVictoria-Container-Image
weasyprintOptional Platform.ImageSpecNoneWeasyprint-Container-Image
docker_socket_proxyOptional Platform.ImageSpecNoneDocker-Socket-Proxy-Container-Image

Platform.ImageSpec

Ist ein ImageSpec nicht gesetzt, wird ein fest hinterlegtes Image mit latest-Version verwendet. Welches Image konkret zum Einsatz kommt, entnehmen Sie direkt der Quelldatei.

Platform.Config

Dieser Typ enthält zusätzlich die Felder von Platform.ImageSpec.

FeldTypStandardBeschreibung
listen_addressText0.0.0.0Adresse, auf der Ferrosoft Platform lauscht.
listen_portNatural80Port, auf dem Ferrosoft Platform lauscht.
django_secret_keyText-Geheimer Schlüssel für Django (Session-Verschlüsselung u.ä.)
sentry_dsnText-Sentry-DSN für Fehlertracking
service_fqdn_platformText-Domain für das Web-UI. Muss über das Internet erreichbar sein — TLS-Zertifikate werden über Let's Encrypt ausgestellt.
service_fqdn_emiflowText-Domain für das Emiflow-Web-UI. Muss über das Internet erreichbar sein — TLS-Zertifikate werden über Let's Encrypt ausgestellt.
geoapify_api_keyText-API-Schlüssel für Geoapify (Kartendienst; erforderlich für die Distanzermittlung)
djangoOptional (DjangoSettings → DjangoSettings)NoneSiehe Django-Settings anpassen

Platform.DjangoSettings

Dieser Typ deckt ein Subset der Django-Settings ab — gegenwärtig nur jene, die zwingend konfiguriert werden müssen. Die vollständige Liste finden Sie in platform/types.dhall unter let DjangoSettings.

Eine vollständige Dokumentation der Django-Settings ist nicht Teil dieses Handbuchs. Konsultieren Sie die offizielle Django-Dokumentation sowie die Quelldateien im Platform-Repository.

Django-Settings anpassen

Das Feld django in Platform.Config erwartet keine bloße Platform.DjangoSettings-Struktur, sondern eine Funktion: Sie erhält die Default-Settings als Argument und gibt die angepassten Settings zurück.

Die Funktion hat dabei freie Hand — sie kann einzelne Felder überschreiben oder die Settings vollständig ersetzen. Das Environment-Snippet zeigt eine Funktion, die zwei Felder der Default-Settings überschreibt:

, django = Some
	( λ(d : Platform.DjangoSettings.Type) →
		  d
		⫽ { EMAIL_HOST_USER = Some "ferrosoft.net"
		  , EMAIL_HOST_PASSWORD = Some "5NC3fQsiHGbSorIe"
		  }
	)
}