flowplanDokumentationZur Startseite

Selbst hosten

Konfiguration

Alle Umgebungsvariablen auf einen Blick. Viele Werte lassen sich zusätzlich in der Oberfläche unter Administration → Instanz setzen; dort gesetzte Werte haben Vorrang.

Pflicht

VariableBeispielBedeutung
APP_URLhttps://flowplan.example.comÖffentliche Adresse genau so, wie sie im Browser steht – Schema, Host, ggf. Port, ohne Schrägstrich am Ende. Grundlage für Login-Weiterleitung, Cookies, Passkeys, Links in E-Mails und Push-Nachrichten und die Origin-Prüfung.

Anmeldung

VariableStandardBedeutung
FLOWPLAN_LOCAL_LOGINanfalse schaltet E-Mail, Passwort und Passkeys ab; dann bleibt nur Single Sign-on.
OIDC_ISSUERleerLogin-Anbieter für Single Sign-on. Ohne ihn gibt es nur E-Mail, Passwort und Passkeys.
OIDC_CLIENT_ID–Client-ID.
OIDC_CLIENT_SECRET–Client-Secret. Nie ins Image oder ins Git.
SESSION_HOURS8Dauer einer Sitzung in Stunden (1–24).

Die übrigen OIDC-Variablen und alles zu Passwörtern und Passkeys stehen unter Anmeldung.

Betrieb

VariableStandardBedeutung
FLOWPLAN_DATA_DIR/app/data im Image, sonst ./dataDatenverzeichnis für SQLite, Uploads, Push-Schlüssel und Texterkennungsdaten.
FLOWPLAN_WORKSPACE_QUOTA_MBunbegrenztStandard-Speicherkontingent je Arbeitsbereich in MB (0 = unbegrenzt).
FLOWPLAN_SNAPSHOT_RETENTION_DAYS180Aufbewahrung automatischer Versionen in Tagen (0 = unbegrenzt).
FLOWPLAN_OCRan0 schaltet die Texterkennung für gescannte PDFs und Bilder ab.
FLOWPLAN_METRICS_TOKENleerMindestens 16 Zeichen; aktiviert /api/metrics im Prometheus-Format.
FLOWPLAN_TRUSTED_PROXIES1Anzahl der Proxys vor Flowplan (Traefik allein: 1, Pangolin vor Traefik: 2). Bestimmt, welcher Eintrag in X-Forwarded-For die echte Adresse ist – für die Begrenzung von Demo-Starts und anonymen Formularantworten. Frei erfundene Einträge des Browsers werden so ignoriert.

S3 und Datenbanksicherung

VariableStandardBedeutung
S3_BUCKETleerSchaltet S3 ein. Ohne diese Variable bleibt alles lokal.
S3_ENDPOINTAWSAPI-Adresse des Speichers, z. B. http://minio:9000.
S3_ACCESS_KEY_ID / S3_SECRET_ACCESS_KEY–Zugangsschlüssel mit Lese- und Schreibrecht auf den Bucket.
S3_REGIONus-east-1Region. Garage verlangt seinen eigenen Wert (oft garage).
S3_PREFIXflowplanOrdner im Bucket; Dateien unter <Präfix>/uploads/, Datenbank unter <Präfix>/db/.
FLOWPLAN_LITESTREAManoff: nur Dateien spiegeln, Datenbank nicht sichern.

Details: Speicher, S3 und Sicherung.

E-Mail (SMTP)

VariableStandardBedeutung
SMTP_HOSTleerSchaltet den E-Mail-Versand ein: Einladungen und Zusammenfassungen ungelesener Benachrichtigungen.
SMTP_PORT587Port. Bei 465 spricht Flowplan direkt TLS, sonst STARTTLS.
SMTP_SECUREnach Porttrue/false erzwingt TLS ab Verbindungsbeginn.
SMTP_USER / SMTP_PASSWORDleerAnmeldung am Mailserver.
SMTP_FROMFlowplan <SMTP_USER>Absender, z. B. Flowplan <[email protected]>.

Den Versand prüfst du unter Administration → Instanz → Test-E-Mail senden.

Integrationen

VariableStandardBedeutung
FLOWPLAN_WEBHOOK_ALLOW_PRIVATEleertrue erlaubt Webhooks an interne Adressen und http:// – etwa Home Assistant oder n8n im selben Netz. Ohne diese Variable sind nur öffentliche HTTPS-Adressen erlaubt.

Sprachnotizen (Whisper)

Sprachnotizen im Editor werden immer als Audio gespeichert. Mit einem Whisper-Dienst im eigenen Netz macht Flowplan daraus zusätzlich Text; die Aufnahme verlässt dabei deinen Server nicht.

VariableStandardBedeutung
WHISPER_URLleerAdresse eines OpenAI-kompatiblen Whisper-Servers (POST /v1/audio/transcriptions), z. B. http://whisper:8000. Schaltet die Transkription ein.
WHISPER_MODELSystran/faster-whisper-smallModellname, wie ihn der Dienst erwartet.
WHISPER_LANGUAGEdeSprache der Aufnahmen.
WHISPER_API_KEYleerNur falls der Dienst einen Schlüssel verlangt.

Beispiel mit speaches (früher faster-whisper-server) im selben Compose-Projekt:

  whisper:
    image: ghcr.io/speaches-ai/speaches:latest-cpu
    volumes:
      - whisper-models:/home/ubuntu/.cache/huggingface/hub
    restart: unless-stopped

Bei Flowplan dann WHISPER_URL=http://whisper:8000 setzen. Neuere speaches-Versionen laden Modelle nicht selbst; einmalig herunterladen, etwa aus dem Flowplan-Container:

node -e "fetch('http://whisper:8000/v1/models/Systran/faster-whisper-small',{method:'POST'}).then(r=>console.log(r.status))"

small braucht rund 1 GB Arbeitsspeicher und transkribiert auf einer normalen CPU etwa in Echtzeit; base ist schneller und ungenauer, medium genauer und deutlich langsamer. Den Whisper-Dienst nicht öffentlich erreichbar machen – nur Flowplan spricht mit ihm.

Push-Benachrichtigungen

VariableBedeutung
WEB_PUSH_SUBJECTKontakt für die Push-Dienste, z. B. mailto:[email protected].
WEB_PUSH_PUBLIC_KEY / WEB_PUSH_PRIVATE_KEYVAPID-Schlüsselpaar. Ohne Angabe erzeugt Flowplan eines unter FLOWPLAN_DATA_DIR/web-push-keys.json.

Die Schlüssel dürfen sich nicht ändern, sonst verlieren alle Geräte ihr Abonnement. Ausgehendes HTTPS zu den Push-Diensten von Apple, Google und Mozilla muss möglich sein.

Nicht setzen

NODE_ENV, PORT, HOSTNAME und NEXT_TELEMETRY_DISABLED setzt das Image selbst. FLOWPLAN_DIST_DIR ist nur für parallele Entwicklungsserver gedacht, OIDC_ALLOW_LOCAL_HTTP nur für Tests mit einem Anbieter auf http://localhost.

In der Oberfläche

Unter Administration → Instanz stellen Admins ein:

  • Instanzname und ein Hinweisbanner für alle,
  • Standard-Speicherkontingent und Aufbewahrung von Versionen,
  • maximale Uploadgröße,
  • ob alle Personen eigene Arbeitsbereiche anlegen dürfen,
  • ob sich jede Person mit E-Mail und Passwort registrieren darf,
  • tägliche Datenbanksicherung und wie viele Kopien bleiben,
  • nach wie vielen Tagen ohne Anmeldung Konten gesperrt werden,
  • ob die Instanz eine öffentliche Demo anbietet (laufende und insgesamt gestartete Demos zeigt Administration → Betrieb).

Leere Felder fallen auf die Umgebungsvariablen zurück.