Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Synology / NAS 11.09.2026 · 10 min Lesezeit

OpenProject auf dem Synology NAS installieren: Projektmanagement mit Gantt und Tickets

OpenProject ist eine quelloffene Projektmanagement-Plattform aus Berlin mit Gantt-Diagrammen, Ticketsystem und agilen Boards – alles auf deinem Synology NAS, DSGVO-konform und ohne Cloud-Abhängigkeit. Diese Anleitung zeigt dir, wie du das All-in-One-Docker-Image korrekt konfigurierst und startest.

OpenProject: Projekte planen. Gantt-Diagramme, Tickets verwalten, Zeit erfassen. Illustration mit Laptop und NAS. KI-generiert

Wer im KMU-Umfeld ein vollständiges Projektmanagement-Tool sucht, landet schnell bei Jira oder MS Project – und zahlt entsprechend. OpenProject, entwickelt von der OpenProject GmbH in Berlin, ist eine vollwertige Open-Source-Alternative: Gantt-Diagramme, Work Packages (Tickets), Scrum- und Kanban-Boards, Zeiterfassung, Budgets und ein Wiki sind in der kostenlosen Community Edition (GPLv3) enthalten. Wer ein Synology NAS betreibt, kann OpenProject als Docker-Container dauerhaft selbst hosten – alle Projektdaten verbleiben im eigenen Netzwerk, was besonders für DACH-Unternehmen mit DSGVO-Anforderungen interessant ist. Das All-in-One-Image bündelt PostgreSQL, Memcached und die Rails-Applikation in einem einzigen Container, sodass du keine separate Datenbank betreiben musst.

Voraussetzungen

  • Synology NAS mit mindestens 4 GB RAM (empfohlen; 2 GB Minimum), x86_64- oder ARM64-Prozessor
  • DSM 7.2 oder neuer mit installiertem Container Manager aus dem Package Center
  • Mindestens 5 GB freier Speicherplatz auf dem NAS-Volume (Image + Datenbankdaten)
  • SSH-Zugang zum NAS (für die Schlüsselgenerierung) – Aktivierung: SSH auf dem Synology NAS aktivieren und verbinden
  • Grundkenntnisse im Umgang mit dem Container Manager – Nachschlagen: Container Manager: Docker-Compose-Projekt anlegen, starten und aktualisieren
  • Stabiler Internetzugang für den Image-Download (~385 MB für Slim, ~817 MB für vollständig)
  • Optional: Synology DDNS und SSL-Zertifikat für HTTPS-Zugriff von außerhalb

Schritt 1: Ordnerstruktur in der File Station anlegen

Öffne die File Station im DSM und navigiere nach docker. Lege dort einen neuen Ordner openproject an. Darin erstellst du zwei Unterordner: pgdata (für die PostgreSQL-Datenbankdateien) und assets (für Anhänge und hochgeladene Dateien). Beide Verzeichnisse müssen vor dem ersten Container-Start existieren, sonst schlägt das Volume-Mapping fehl.

Vollständige Pfade auf dem NAS:

/volume1/docker/openproject/pgdata
/volume1/docker/openproject/assets

Die korrekte Ordneranlage via File Station ist in Docker-Ordner und Berechtigungen auf dem Synology NAS ausführlich erklärt.

Verifizieren: Navigiere in der File Station zu docker/openproject – du solltest dort genau zwei Ordner sehen: pgdata und assets. Beide müssen leer sein.

Schritt 2: SECRET_KEY_BASE generieren

OpenProject verschlüsselt Session-Cookies und bestimmte Datenbankfelder mit einem geheimen Schlüssel. Dieser Wert muss einmalig generiert, sicher aufbewahrt und bei jedem Container-Start identisch verwendet werden. Wer ihn ändert, macht alle laufenden Sessions ungültig und verschlüsselte Datenbankfelder unlesbar.

Verbinde dich per SSH mit dem NAS und führe folgenden Befehl aus:

openssl rand -hex 64

Das Ergebnis ist eine 128-stellige Hexadezimalzeichenkette (64 Byte Entropie). Kopiere diesen Wert sofort in einen Passwortmanager oder eine sichere Notiz – du benötigst ihn gleich in der compose.yaml und bei jedem späteren Update.

Verifizieren: Die Ausgabe muss genau 128 Zeichen lang sein und ausschließlich Hexadezimalzeichen (0–9, a–f) enthalten. Beispiel-Längenprüfung:

openssl rand -hex 64 | wc -c
# Erwartete Ausgabe: 129 (128 Zeichen + Zeilenumbruch)

Schritt 3: compose.yaml erstellen

Erstelle im Container Manager ein neues Projekt namens openproject und trage folgende compose.yaml ein. Ersetze dabei die drei markierten Platzhalter:

  • HIER_64_ZEICHEN_HEX_EINFUEGEN → dein in Schritt 2 generierter Schlüssel
  • 192.168.1.100:8080 → die tatsächliche IP-Adresse deines NAS mit Port 8080
  • admin@example.com → deine Admin-E-Mail-Adresse
services:
  openproject:
    image: openproject/openproject:17
    container_name: openproject
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - /volume1/docker/openproject/pgdata:/var/openproject/pgdata
      - /volume1/docker/openproject/assets:/var/openproject/assets
    environment:
      - SECRET_KEY_BASE=HIER_64_ZEICHEN_HEX_EINFUEGEN
      - OPENPROJECT_HOST__NAME=192.168.1.100:8080
      - OPENPROJECT_HTTPS=false
      - OPENPROJECT_DEFAULT__LANGUAGE=de
      - OPENPROJECT_SEED_ADMIN_USER_PASSWORD=sicheres_passwort
      - OPENPROJECT_SEED_ADMIN_USER_PASSWORD_RESET=true
      - OPENPROJECT_SEED_ADMIN_USER_MAIL=admin@example.com

Warum diese Variablen Pflicht sind

VariableBedeutungPflicht?
SECRET_KEY_BASERails-Verschlüsselungsschlüssel für Sessions und DB-FelderJa
OPENPROJECT_HOST__NAMEExterner Hostname für URL-Generierung in Formularen und E-Mails (doppelter Unterstrich!)Ja
OPENPROJECT_HTTPS=falseVerhindert HTTPS-Redirect-Schleifen bei HTTP-only-BetriebJa (ohne HTTPS)
OPENPROJECT_DEFAULT__LANGUAGE=deSeedet die Datenbank auf DeutschEmpfohlen
OPENPROJECT_SEED_ADMIN_USER_*Initialer Admin-Account (wirkt nur beim allerersten Start)Optional

Image-Varianten im Überblick

TagGröße (amd64)ArchitekturBIM-ModulEmpfehlung
:17~817 MBamd64, arm64JaNur wenn BIM benötigt
:17-slim~385 MBamd64, arm64NeinFür Synology empfohlen

Für reines KMU-Projektmanagement empfiehlt sich :17-slim – es spart knapp 430 MB und enthält alle relevanten Features. Das BIM-Modul (Building Information Modeling) ist ausschließlich für Architektur- und Bauprojekte relevant. Wechsle einfach den Tag in der image-Zeile.

Verifizieren: Öffne im Container Manager das Projekt openproject und prüfe, ob die YAML-Syntax ohne Fehler gespeichert wurde. Der Container Manager zeigt eine Meldung an, wenn die YAML ungültig ist.

Schritt 4: Container starten und Seeding abwarten

Starte das Projekt im Container Manager über die Schaltfläche „Starten" oder „Erstellen". Das Image wird jetzt heruntergeladen (~385 MB für Slim). Anschließend beginnt der erste Start: OpenProject initialisiert die PostgreSQL-Datenbank, führt Migrationen aus und kompiliert Assets. Dieser Vorgang dauert 5–10 Minuten – versuche in dieser Zeit nicht, dich einzuloggen.

Um den Fortschritt zu verfolgen, öffne die Container-Logs im Container Manager (Rechtsklick auf den Container → „Details" → „Protokoll") oder verbinde dich per SSH und führe aus:

docker logs openproject --follow

Verifizieren: Warte, bis in den Logs die Meldung erscheint:

Server available on localhost

Erst dann ist OpenProject betriebsbereit. Du kannst zusätzlich prüfen, ob das Seeding erfolgreich war:

docker logs openproject 2>&1 | grep -i seed

Erwartete Ausgabe enthält Zeilen wie Seeding completed oder Seed data created. Öffne anschließend http://<NAS-IP>:8080 im Browser – die OpenProject-Anmeldeseite muss erscheinen.

Schritt 5: Erster Login und Admin-Passwort ändern

Rufe http://<NAS-IP>:8080 im Browser auf. Melde dich mit den Standard-Zugangsdaten an:

  • Benutzername: admin
  • Passwort: admin (oder das in OPENPROJECT_SEED_ADMIN_USER_PASSWORD gesetzte Passwort)

Da OPENPROJECT_SEED_ADMIN_USER_PASSWORD_RESET=true gesetzt ist, fordert OpenProject sofort eine Passwortänderung. Wähle ein starkes Passwort und hinterlege deine korrekte E-Mail-Adresse.

Verifizieren: Nach erfolgreicher Passwortänderung landest du auf dem OpenProject-Dashboard. Navigiere zu Administration → Benutzer (oben rechts Zahnrad-Symbol → Administration → Benutzer und Berechtigungen → Benutzer). Der Admin-Account muss dort mit dem Status „Aktiv" gelistet sein.

Schritt 6: Erstes Projekt mit Gantt-Ansicht anlegen

Klicke in der Hauptnavigation auf das „+"-Symbol neben „Projekte" oder gehe über das Hamburger-Menü zu „Projekte → Neues Projekt". Vergib einen Projektnamen (z. B. „Website-Relaunch Q3") und aktiviere unter den Modulen „Gantt-Diagramme" sowie „Arbeitspakete".

Nach dem Erstellen des Projekts:

  1. Wechsle im linken Menü zu „Arbeitspakete"
  2. Erstelle ein neues Arbeitspaket (z. B. Typ „Aufgabe"), vergib einen Namen und setze ein Start- sowie ein Enddatum
  3. Wechsle nun über den Ansichts-Umschalter (oben rechts) zur Gantt-Ansicht

Wichtig: Gantt-Balken erscheinen nur, wenn das Arbeitspaket ein Start- und ein Enddatum hat. Ohne Datum bleibt die Gantt-Ansicht leer – das ist kein Fehler, sondern ein erwartetes Verhalten.

Verifizieren: In der Gantt-Ansicht zeigt sich ein horizontaler Balken für jedes Arbeitspaket mit Datum. Du kannst Balken per Drag-and-Drop verschieben und Abhängigkeiten zwischen Paketen durch Ziehen der Verbindungspunkte erstellen. Die Community Edition enthält diese Funktionen vollständig ohne zusätzliche Lizenz.

Schritt 7: DSM-Firewall-Port freigeben (optional, aber empfohlen)

Wenn du die DSM-Firewall aktiv hast, musst du Port 8080 für den Zugriff freigeben. Die genaue Vorgehensweise ist in der Grund-Anleitung DSM-Firewall: Ports für Docker-Container freigeben beschrieben.

Verifizieren: Rufe http://<NAS-IP>:8080 von einem anderen Gerät im selben Netzwerk auf. Die OpenProject-Anmeldeseite muss erreichbar sein.

Schritt 8: Reverse Proxy für HTTPS einrichten (optional)

Für den Zugriff von außerhalb des Heimnetzes oder für eine HTTPS-verschlüsselte Verbindung empfiehlt sich der Synology Reverse Proxy. Öffne im DSM Systemsteuerung → Anmeldeportal → Erweitert → Reverseproxy und lege eine neue Regel an:

EinstellungWert
QuellprotokollHTTPS
Quellhostnameopenproject.deine-domain.de (oder DDNS)
Quellport443
ZielprotokollHTTP
Ziel-Hostlocalhost
Zielport8080

Passe danach in der compose.yaml folgende Werte an und starte den Container neu:

environment:
  - OPENPROJECT_HOST__NAME=openproject.deine-domain.de
  - OPENPROJECT_HTTPS=true

Eine ausführliche Anleitung zum Nginx Proxy Manager als Alternative findest du unter Nginx Proxy Manager auf der Synology mit Container Manager einrichten.

Verifizieren: Rufe https://openproject.deine-domain.de auf. Der Browser zeigt ein gültiges Zertifikat (kein Warnhinweis), und die OpenProject-Anmeldeseite lädt vollständig. E-Mail-Links in Benachrichtigungen müssen nun auf die HTTPS-Domain verweisen.

Troubleshooting / Typische Fehler

  • Login-Seite lädt nicht nach 2 Minuten: Das initiale Datenbank-Seeding läuft noch. Beobachte docker logs openproject --follow und warte auf Server available on localhost. Geduld – der erste Start dauert 5–10 Minuten.
  • Permanente Logout-Schleife oder Cookie-Fehler nach Neustart: Der SECRET_KEY_BASE wurde geändert oder fehlt. Stelle sicher, dass der identische Schlüssel aus dem ersten Start in der compose.yaml steht. Wert aus dem Passwortmanager holen und eintragen, Container neu starten.
  • E-Mail-Links zeigen falsche Domain oder localhost: OPENPROJECT_HOST__NAME ist nicht gesetzt oder enthält einen einfachen statt doppelten Unterstrich (HOST_NAME statt HOST__NAME). Variable exakt als OPENPROJECT_HOST__NAME=<ip>:<port> eintragen – doppelter Unterstrich ist OpenProject-Konvention für verschachtelte Konfiguration.
  • Redirect-Schleife: OpenProject leitet alle HTTP-Anfragen auf HTTPS um: OPENPROJECT_HTTPS=false fehlt in der compose.yaml. Ohne diese Variable ist der Standard true, was ohne TLS-Terminierung vor dem Container zu Endlosschleifen führt.
  • Container startet neu mit could not connect to server: No such file or directory: Der Ordner pgdata existiert nicht oder hat falsche Berechtigungen. Prüfe in der File Station, ob /volume1/docker/openproject/pgdata vorhanden ist, und stelle sicher, dass kein anderer Prozess denselben Pfad verwendet.
  • Nach Major-Update (z. B. 16 → 17) startet die App nicht: Datenbankmigrationen laufen automatisch im Hintergrund und können 5–15 Minuten dauern. Keinen zweiten Container starten – Logs beobachten und abwarten.
  • Gantt-Ansicht zeigt leere Balken: Work Packages ohne Start- und Enddatum erscheinen nicht im Gantt. Beide Felder im Arbeitspaket ausfüllen, dann erscheinen die Balken automatisch.
  • BIM-Edition auf ARM-Synology schlägt fehl: Die BIM-Edition unterstützt laut offizieller Dokumentation nur linux/amd64. Variable OPENPROJECT_EDITION=bim entfernen oder das Standard-Image ohne diese Variable verwenden.

Häufige Fragen

Sind Gantt-Diagramme in der kostenlosen Community Edition enthalten?

Ja, vollständig. Gantt-Diagramme, Work Packages, Scrum-/Kanban-Boards und die Zeiterfassung sind in der Community Edition (CE, GPLv3) ohne Einschränkungen enthalten. Kostenpflichtige Enterprise-Funktionen betreffen vor allem erweiterte LDAP-Synchronisation, bestimmte Reporting-Features und priorisierten Support – für das Tages-Projektmanagement im KMU ist die CE ausreichend.

Was ist der Unterschied zwischen :17 und :17-slim?

Das :17-Image enthält alle Module inklusive BIM (Building Information Modeling für Architektur/Bauwesen, ca. 817 MB). Das :17-slim-Image lässt BIM weg (ca. 385 MB) und ist für Standard-Projektmanagement die bessere Wahl auf ressourcenbeschränkten NAS-Geräten. Für KMU ohne Bauprojekte ist :17-slim immer die richtige Wahl.

Wie viel RAM benötigt OpenProject auf dem NAS?

Das All-in-One-Image benötigt mindestens 2 GB RAM, empfohlen sind 4 GB. Bei weniger als 2 GB können Hintergrundprozesse (Job-Worker für E-Mails und asynchrone Aufgaben) abstürzen oder der initiale Start schlägt fehl. NAS-Modelle mit 4+ GB RAM – etwa DS923+, DS1522+ oder RS1221+ – eignen sich gut für den Produktivbetrieb.

Kann ich OpenProject hinter dem Synology Reverse Proxy (HTTPS) betreiben?

Ja. Im Synology Control Panel unter „Anmeldeportal → Erweitert → Reverseproxy" legst du eine Regel HTTPS 443 → HTTP localhost:8080 an. Setze dann OPENPROJECT_HOST__NAME auf den externen HTTPS-Hostnamen (z. B. openproject.mein-ddns.synology.me) und ändere OPENPROJECT_HTTPS auf true. Der Container selbst bleibt auf HTTP – die TLS-Terminierung übernimmt der Reverse Proxy.

Wie verifiziere ich, dass das initiale Seeding erfolgreich war?

Beobachte die Container-Logs auf Seeding-Meldungen:

docker logs openproject 2>&1 | grep -i seed

Erfolgreiche Ausgaben enthalten Zeilen wie Seeding completed oder Seed data created. Logge dich anschließend ein und prüfe unter Administration → Benutzer und Berechtigungen → Benutzer, ob der Admin-Account vorhanden und aktiv ist.

Kann ich eine externe PostgreSQL-Datenbank vom NAS verwenden?

Das All-in-One-Image enthält eine eingebettete PostgreSQL-Instanz und ist nicht direkt gegen eine externe Datenbank austauschbar. Für eine externe Datenbankanbindung empfiehlt die offizielle Dokumentation die Docker-Compose-Mehrcontainer-Installation (opf/openproject-docker-compose auf GitHub). Diese Variante ist komplexer, aber für den Produktivbetrieb mit separaten Backup-Strategien pro Dienst sinnvoller.

Was passiert, wenn ich SECRET_KEY_BASE ändere?

Alle aktiven Browser-Sessions werden sofort ungültig – alle angemeldeten Nutzer werden ausgeloggt. Außerdem werden verschlüsselte Datenbankfelder (z. B. OAuth-Tokens) unlesbar. Behandle diesen Wert wie ein Passwort: einmal generieren, sicher aufbewahren, nie ändern.

Fazit

OpenProject ist die überzeugendste On-Premises-Alternative zu Jira und MS Project für DACH-KMU, die ihre Projektdaten nicht in die Cloud geben wollen. Das deutsche Hersteller-Team liefert regelmäßige Releases (Version 17.5.0, Stand Juni 2026), und das All-in-One-Docker-Image macht die Installation auf dem Synology NAS erstaunlich unkompliziert – solange man die drei Pflicht-Variablen korrekt setzt. Die häufigsten Fehler in Anleitungen im Netz sind veraltete Variablennamen (SERVER_HOSTNAME statt OPENPROJECT_HOST__NAME), ein zu kurzer SECRET_KEY_BASE und das fehlende OPENPROJECT_HTTPS=false. Mit dieser Anleitung umgehst du all diese Fallstricke von Anfang an. Für ein leichtgewichtigeres Aufgaben-Tool als Alternative bietet sich Vikunja auf dem Synology NAS an; wer zusätzlich Arbeitszeiten erfassen möchte, findet in Kimai auf dem Synology NAS die passende Ergänzung.

Weiterführende Anleitungen und Quellen

Offizielle Quellen: OpenProject Docker-Installationsdokumentation · OpenProject Konfigurationsdokumentation · OpenProject auf Docker Hub