Zum Inhalt

OpenProject

GitHub · openproject/openproject:17.2.1

Projektmanagement-Plattform fuer Aufgaben, Gantt-Planung, Meetings und Wiki. Enthaelt ab Version 17.2 Hocuspocus fuer kollaborative Echtzeit-Dokumentenbearbeitung. Im Docker-Compose-Setup laufen Web-Server, Worker, Cron und Hocuspocus als ein einziger Container.

Sicherheitshinweis

OpenProject 17.2.1 enthaelt einen kritischen Security-Fix (CVE-2026-32698, SQL Injection → RCE). Keine aelteren Versionen verwenden.

Zugang

URL https://openproject.novabrands.org
Standard-Login admin / admin (sofort aendern!)
Healthcheck https://openproject.novabrands.org/health_checks/default

Container-Konfiguration

Container Image Netzwerke Memory Limit
openproject openproject/openproject:17.2.1 proxy, openproject-backend 2048 MB
openproject-db postgres:18.3-alpine openproject-backend 512 MB
openproject-cache memcached:1.6.41-alpine openproject-backend 192 MB

Wichtige Umgebungsvariablen

Variable Wert
OPENPROJECT_HOST__NAME openproject.novabrands.org
OPENPROJECT_HTTPS true
OPENPROJECT_HSTS true
OPENPROJECT_DEFAULT__LANGUAGE de
OPENPROJECT_RAILS__CACHE__STORE memcache
OPENPROJECT_CACHE__MEMCACHE__SERVER openproject-cache:11211
RAILS_MIN_THREADS 4
RAILS_MAX_THREADS 16
DATABASE_URL postgres://openproject:***@openproject-db/openproject

E-Mail-Versand erfolgt ueber SMTP-Relay (Proton oder SMTP2Go), konfiguriert via OPENPROJECT_SMTP__*-Variablen.

Volumes

Volume Mountpunkt Inhalt
op-assets /var/openproject/assets Uploads, Anhaenge
op-pgdata /var/lib/postgresql Datenbankdaten

Netzwerk

OpenProject haengt im proxy-Netz (Traefik) und im openproject-backend-Netz (intern). PostgreSQL und Memcached sind nur im Backend-Netz erreichbar.

Traefik-Labels:

  • Entrypoint: websecure (443, TLS via Let's Encrypt)
  • Interner Port: 8080
  • Middlewares: op-headers (X-Forwarded-Proto, HSTS), rate-limit (200 req/min, Burst 400)

Nextcloud-Integration

OpenProject kann Dateien aus Nextcloud direkt an Work Packages verknuepfen. Einrichtung per OAuth (beide Seiten tauschen Client-ID und Secret aus):

  1. OpenProject Admin -> Administration -> File Storages -> Nextcloud hinzufuegen
  2. Generierte OAuth-Credentials in Nextcloud eintragen (Einstellungen -> OpenProject Integration)
  3. Nextcloud OAuth-Credentials zurueck in OpenProject eintragen
  4. Pro Projekt: File Storages-Modul aktivieren und Nextcloud-Storage zuweisen

Wartung und Betrieb

Nach dem ersten Start

# Initial-Login und Passwort aendern
# https://openproject.novabrands.org
# Login: admin / admin

Updates

# 1. Backup erstellen
./dump-databases.sh

# 2. Version in docker-compose.yml aendern
# 3. Neue Version starten
docker compose pull openproject
docker compose up -d openproject

# 4. DB-Migrationen laufen beim Start automatisch
docker compose logs -f openproject 2>&1 | grep -i "migrat"

Datenbank-Backup

docker exec openproject-db pg_dump \
  -U openproject -d openproject --format=custom \
  --file=/tmp/openproject.dump
docker cp openproject-db:/tmp/openproject.dump ./db-dumps/openproject.dump

Datenbank-Restore

docker cp db-dumps/openproject.dump openproject-db:/tmp/openproject.dump
docker exec openproject-db pg_restore \
  -U openproject -d openproject \
  --clean --if-exists /tmp/openproject.dump

Troubleshooting

ERR_SSL_PROTOCOL_ERROR: Sicherstellen dass OPENPROJECT_HTTPS=true und OPENPROJECT_HSTS=true gesetzt sind und Traefik X-Forwarded-Proto: https weiterleitet.

DB-Migration haengt beim Erststart: OpenProject benoetigt 1-3 Minuten fuer den ersten Start. Logs beobachten:

docker compose logs -f openproject 2>&1 | grep -i "migrat"