Zum Hauptinhalt springen

Konfigurationsreferenz

Die gesamte Konfiguration steht in der Datei .env im Ordner des Pakets. setup.sh erstellt sie aus .env.example, wo jede Einstellung mit Kommentaren beschrieben ist. Diese Seite listet die Einstellungen in denselben Gruppen auf.

  • Von setup.sh gesetzt bedeutet, dass setup.sh den Wert einträgt: Geheimnisse werden einmal erzeugt, wenn sie leer sind, und abgeleitete Werte werden bei jedem Lauf aus der öffentlichen URL und dem TLS-Modus neu geschrieben. Bearbeiten Sie abgeleitete Werte nicht von Hand, sondern führen Sie setup.sh aus.
  • Eine Einstellung mit dem Vermerk (auskommentiert) steht in .env.example, ist aber inaktiv, bis Sie das # entfernen.

Übernehmen Sie Änderungen mit docker compose up -d.

Release​

EinstellungVorgabeBedeutung
GOAT_VERSIONdas Release des PaketsDie GOAT-Version, die alle Images verwenden. Siehe Updates.
GOAT_REGISTRYghcr.io/plan4better/goatWoher die GOAT-Images geladen werden, z. B. ein interner Mirror

Öffentliche Adresse und TLS​

EinstellungVorgabeBedeutung
GOAT_PUBLIC_URLvon setup.sh abgefragtDie URL, die Benutzer in den Browser eingeben, ohne abschließenden Schrägstrich
GOAT_TLSautoauto, custom, internal oder off; siehe HTTPS und Adressen
GOAT_ACME_EMAILleerOptionaler Kontakt für Ablaufhinweise von Let's Encrypt (nur auto)
GOAT_TRUSTED_PROXIESprivate_rangesAdressen, die X-Forwarded-*-Header setzen dürfen (Ihr Load Balancer), als CIDRs durch Leerzeichen getrennt
GOAT_ADMIN_ALLOW_CIDRS0.0.0.0/0 ::/0Netze, die die Keycloak-Admin-Konsole unter /keycloak/admin öffnen dürfen
GOAT_CA_BUNDLEleerPfad innerhalb der Container zu einem zusätzlichen CA-Zertifikat (PEM) in ./certs; im Modus internal von setup.sh gesetzt. Siehe Firmen-CA.
GOAT_HTTP_PORT80Port für HTTP; von setup.sh aus der URL oder --http-port gesetzt
GOAT_HTTPS_PORT443Port für HTTPS; von setup.sh aus der URL gesetzt
GOAT_HOSTNAME, GOAT_NETWORK_ALIAS, GOAT_SITE_ADDRESS, GOAT_HTTPS_PUBLISH, GOAT_KEYCLOAK_SSL_REQUIREDAbgeleitet; von setup.sh gesetzt

Profile​

EinstellungVorgabeBedeutung
COMPOSE_PROFILESgarage,keycloakDie mitgelieferten Komponenten, die laufen sollen: garage (Objektspeicher), keycloak (Anmeldeserver), backup (nächtliche Backups)

Authentifizierung​

EinstellungVorgabeBedeutung
AUTHTrueTrue: Benutzer melden sich über Keycloak an. False: keine Anmeldung, alle handeln als ein eingebauter Administrator (nur für lokale und Demo-Installationen).
GOAT_ADMIN_EMAILvon setup.sh abgefragtDer erste GOAT-Benutzer, der beim ersten Start im mitgelieferten Keycloak angelegt wird
GOAT_ADMIN_PASSWORDvon setup.sh gesetztPasswort des ersten Benutzers
REALM_NAMEgoatKeycloak-Realm, den GOAT verwendet
KEYCLOAK_CLIENT_IDgoatKeycloak-Client, den GOAT verwendet
KEYCLOAK_CLIENT_SECRETvon setup.sh gesetztSecret dieses Clients
KEYCLOAK_ADMIN_PASSWORDvon setup.sh gesetztPasswort des Benutzers admin in der Keycloak-Admin-Konsole
KEYCLOAK_PROVISION_INVITED_USERStrueLegt das Anmeldekonto in Keycloak an, wenn jemand eingeladen wird, dessen E-Mail-Adresse noch keines hat
KEYCLOAK_DB_PASSWORDvon setup.sh gesetztDatenbank-Passwort des mitgelieferten Keycloak
KEYCLOAK_PUBLIC_URL, KEYCLOAK_INTERNAL_URL(auskommentiert)Ihr eigenes Keycloak; siehe Eigenes Keycloak

Objektspeicher (S3)​

EinstellungVorgabeBedeutung
S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEYvon setup.sh gesetztZugangsschlüssel für das mitgelieferte Garage oder Ihr eigener S3-Schlüssel
GARAGE_RPC_SECRET, GARAGE_ADMIN_TOKENvon setup.sh gesetztInterne Geheimnisse des mitgelieferten Garage
S3_ENDPOINT_URL, S3_PUBLIC_ENDPOINT_URL, S3_REGION, S3_BUCKET_NAME, S3_FORCE_PATH_STYLE(auskommentiert)Ihr eigener S3-Speicher; siehe Eigener S3-Speicher
ASSETS_S3_ENDPOINT_URL, ASSETS_BUCKET_NAME, ASSETS_URL(auskommentiert)Der öffentlich lesbare Bucket für Profilbilder und Bilder in Ihrem eigenen S3-Speicher

Datenbank​

Die Speichervorgaben passen zu einer Maschine mit 16 GB. Als Faustregel setzen Sie POSTGRES_SHARED_BUFFERS auf etwa 1/4 und POSTGRES_EFFECTIVE_CACHE_SIZE auf etwa 3/4 des Arbeitsspeichers, den Sie PostgreSQL geben.

EinstellungVorgabeBedeutung
POSTGRES_PASSWORDvon setup.sh gesetztPasswort der GOAT-Datenbank
WINDMILL_DB_PASSWORDvon setup.sh gesetztPasswort der Windmill-Datenbank
POSTGRES_SHARED_BUFFERS1GBPostgreSQL shared_buffers
POSTGRES_EFFECTIVE_CACHE_SIZE3GBPostgreSQL effective_cache_size
POSTGRES_MAX_CONNECTIONS200PostgreSQL max_connections
POSTGRES_POOL_SIZE5Größe des Verbindungspools der Core API
POSTGRES_MAX_OVERFLOW10Zusätzliche Verbindungen, die die Core API über den Pool hinaus öffnen darf

Jobs (Windmill)​

EinstellungVorgabeBedeutung
WINDMILL_ADMIN_PASSWORDvon setup.sh gesetztPasswort von admin@windmill.dev in der Windmill-Oberfläche
GOAT_TOOLS_WORKERS2Anzahl der Analyse-Jobs, die parallel laufen; jeder Tools-Worker darf bis zu 4 GB Arbeitsspeicher nutzen
WINDMILL_LOCAL_PORT8110Port der Windmill-Oberfläche, nur an 127.0.0.1 gebunden; siehe Windmill
GOAT_BASE_DATA_URLhttps://goat-base-data.plan4better.de/Quelle der Routing- und ÖV-Basisdaten; siehe Routing-Basisdaten

Geheimnisse der Web-App​

EinstellungVorgabeBedeutung
NEXTAUTH_SECRETvon setup.sh gesetztSignaturschlüssel für die Anmeldesitzungen der Web-App

Optionale Integrationen​

EinstellungVorgabeBedeutung
NEXT_PUBLIC_MAPTILER_KEYleerMapTiler-Schlüssel für die Satelliten-/Hybrid-Grundkarte (ausgeblendet, wenn leer)
NEXT_PUBLIC_MAPBOX_TOKENleerMapbox-Token für die Ortssuche
CATALOG_S3_BUCKET, CATALOG_S3_ENDPOINT_URL, CATALOG_S3_ACCESS_KEY_ID, CATALOG_S3_SECRET_ACCESS_KEY, CATALOG_S3_REGIONleerDer GOAT-Datenkatalog (schreibgeschützter Bucket mit den harmonisierten Datensätzen)
GEOCODING_URL, GEOCODING_AUTHORIZATIONleerGeocoding-Dienst, den Analyse-Werkzeuge verwenden
NEXT_PUBLIC_WEBSITE_URLhttps://www.plan4better.deWebsite-Link und Feeds in der App
NEXT_PUBLIC_STATUS_FEED_URLleerStatus-Feed in der App
NEXT_PUBLIC_DOCS_URLhttps://goat.plan4better.de/docsLink zur Dokumentation in der App
STATIC_ASSETS_URLhttps://assets.plan4better.deProduktgrafiken: Icons, Standard-Vorschaubilder, Bilder in E-Mails
OTEL_ENABLEDfalseTraces, Metriken und Logs über OpenTelemetry exportieren
OTEL_EXPORTER_OTLP_ENDPOINTleerIhr OpenTelemetry-Endpunkt (OTLP)

E-Mail​

Wie diese Einstellungen zusammenwirken, lesen Sie unter E-Mail.

EinstellungVorgabeBedeutung
SMTP_HOSTleerMailserver; E-Mail ist ausgeschaltet, solange leer
SMTP_PORT587Port des Mailservers
SMTP_SECURITYstarttlsstarttls, ssl oder none
SMTP_USER, SMTP_PASSWORDleerAnmeldedaten; lassen Sie beide leer für ein Relay ohne Anmeldung
SMTP_FROMleerAbsenderadresse; SMTP_USER, wenn leer
EMAILS_FROM_NAMEGOATAbsendername
SMTP_STARTTLS, SMTP_SSLtrue, falseAus SMTP_SECURITY abgeleitet; von setup.sh gesetzt
EMAIL_BRAND_NAME, EMAIL_LOGO_URL, EMAIL_CONTACT_URL, EMAIL_PRIVACY_URL(auskommentiert)Optionales Branding: Name, Logo statt des Namens, Links in der Fußzeile

Backups​

Diese Einstellungen gelten, wenn das Profil backup eingeschaltet ist; siehe Backups.

EinstellungVorgabeBedeutung
BACKUP_TIME02:30Uhrzeit des nächtlichen Backups (UTC)
BACKUP_RETENTION_DAYS7Backups, die älter als diese Anzahl Tage sind, werden gelöscht