Selbst hosten
Installation mit Docker
Flowplan läuft als ein einziger Container mit SQLite und einem Datenverzeichnis. Postgres, Redis oder ein separater Suchdienst werden nicht gebraucht.
Voraussetzungen
- Ein Server mit Docker und einem dauerhaften Volume. Die Texterkennung gescannter PDFs braucht beim Hochladen kurzzeitig spürbar CPU.
- Eine Domain mit HTTPS über einen Reverse Proxy (Traefik, Caddy, nginx, Coolify, Pangolin …).
- Optional ein OpenID-Connect-Anbieter für Single Sign-on. Ohne ihn melden sich Personen mit E-Mail und Passwort oder Passkey an, siehe Anmeldung.
- Optional: ein S3-kompatibler Speicher für Dateien und die laufende Datenbanksicherung, siehe Speicher, S3 und Sicherung.
Mit Docker Compose
Flowplan ist Open Source (AGPL-3.0). Das fertige Image liegt in der GitHub Container Registry, für linux/amd64 und linux/arm64:
| Tag | Inhalt |
|---|---|
ghcr.io/yannicschuller/flowplan:latest | Neueste Version (Release) |
ghcr.io/yannicschuller/flowplan:1.2.3 | Feste Version, auch als :1.2 und :1 |
ghcr.io/yannicschuller/flowplan:beta | Neuester Entwicklungsstand – zum Ausprobieren, nicht für den Betrieb |
Compose-Datei und Beispielkonfiguration herunterladen:
mkdir flowplan && cd flowplan
curl -O https://raw.githubusercontent.com/yannicschuller/flowplan/main/compose.yaml
curl -o .env https://raw.githubusercontent.com/yannicschuller/flowplan/main/.env.exampleIn .env mindestens die öffentliche Adresse setzen:
APP_URL=https://flowplan.example.comFür Single Sign-on zusätzlich OIDC_ISSUER, OIDC_CLIENT_ID, OIDC_CLIENT_SECRET und OIDC_ADMIN_GROUP (siehe Anmeldung); für E-Mails (Einladungen, Passwort vergessen) die SMTP_*-Werte aus der Konfiguration.
docker compose up -dDer Container lauscht auf Port 3000 (in der Compose-Datei nur an 127.0.0.1 gebunden, damit der Proxy davor sitzt). Das Volume flowplan-data auf /app/data hält alle Inhalte unabhängig vom Container. Eine feste Version wählst du mit FLOWPLAN_VERSION=1.2.3 in der .env.
Image selbst bauen
Aus dem Quellcode (github.com/yannicschuller/flowplan):
git clone https://github.com/yannicschuller/flowplan.git && cd flowplan
cp .env.example .env
docker compose up -d --buildOder ohne Compose:
docker build -t flowplan:latest .
docker run -d --name flowplan \
-p 127.0.0.1:3000:3000 \
-v flowplan-data:/app/data \
--env-file .env \
flowplan:latestDas Image enthält Node, Litestream für die S3-Sicherung und curl für den Healthcheck. Es läuft als Benutzer node (UID 1000).
Erster Start
https://flowplan.example.com/api/healthaufrufen – die Antwort ist200mit"status":"ok".- Die Adresse im Browser öffnen: Eine neue Instanz bietet Konto erstellen an. Dieses erste Konto verwaltet die Instanz. (Mit Single Sign-on: Mit SSO anmelden; Admin ist, wer in der Gruppe aus
OIDC_ADMIN_GROUPist.) - In der Seitenleiste unter Administration Instanzname, Upload-Grenze, Registrierung und die weiteren Einstellungen setzen.
Aktualisieren
docker compose pull
docker compose up -dBeim selbst gebauten Image stattdessen git pull und docker compose up -d --build.
Beim Start migriert Flowplan die Datenbank selbst. Vorher eine Sicherung anlegen (siehe Speicher, S3 und Sicherung); ein Zurückgehen auf eine ältere Version nach einer Migration ist nicht vorgesehen.
Ohne Docker
Node.js 22.13 oder neuer (Node 24 LTS empfohlen):
npm ci
npm run build
FLOWPLAN_DATA_DIR=/var/lib/flowplan npm startFür die lokale Entwicklung reicht npm run dev. Der Entwicklungsmodus bietet zusätzlich Lokalen Arbeitsbereich öffnen an, ein gemeinsames Beispielkonto; im Produktionsmodus gibt es diesen Zugang nicht.
Weiter
- Konfiguration: alle Umgebungsvariablen.
- Coolify und Reverse Proxy: Betrieb hinter Traefik, Coolify oder Pangolin.