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
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
name | Text | - | Name der Umgebung. Muss dem Dateinamen entsprechen. |
platform | Platform.Config | - | Ferrosoft-Platform-Konfiguration |
postgres | Platform.Postgres | - | PostgreSQL-Konfiguration |
caddy | Platform.Caddy | - | Caddy-Konfiguration |
valkey | Optional Platform.ImageSpec | None | Valkey-Container-Image |
victoria | Optional Platform.ImageSpec | None | Victoria-Container-Image |
weasyprint | Optional Platform.ImageSpec | None | Weasyprint-Container-Image |
docker_socket_proxy | Optional Platform.ImageSpec | None | Docker-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.
| Feld | Typ | Standard | Beschreibung |
|---|---|---|---|
listen_address | Text | 0.0.0.0 | Adresse, auf der Ferrosoft Platform lauscht. |
listen_port | Natural | 80 | Port, auf dem Ferrosoft Platform lauscht. |
django_secret_key | Text | - | Geheimer Schlüssel für Django (Session-Verschlüsselung u.ä.) |
sentry_dsn | Text | - | Sentry-DSN für Fehlertracking |
service_fqdn_platform | Text | - | Domain für das Web-UI. Muss über das Internet erreichbar sein — TLS-Zertifikate werden über Let's Encrypt ausgestellt. |
service_fqdn_emiflow | Text | - | Domain für das Emiflow-Web-UI. Muss über das Internet erreichbar sein — TLS-Zertifikate werden über Let's Encrypt ausgestellt. |
geoapify_api_key | Text | - | API-Schlüssel für Geoapify (Kartendienst; erforderlich für die Distanzermittlung) |
django | Optional (DjangoSettings → DjangoSettings) | None | Siehe 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"
}
)
}
-
λ(d : Platform.DjangoSettings.Type) →DHALL-Syntax für Funktionen:
λ(Argument) -> Body -
⫽DHALL-Operator "Shallow right-biased record value merge":
record-a ⫽ record-b