Selbst betreiben

Konfiguration

Die Einstellungen einer Installation – was jede bewirkt und wann Sie sie brauchen.

Eine Installation liest ihre Einstellungen beim Start aus Umgebungsvariablen – bei Docker Compose aus .env, bei Kubernetes aus config.env und secrets.env. Eine Änderung wirkt, sobald der Dienst neu startet. Die Images enthalten keine Einstellungen; dasselbe Image läuft bei jedem Kunden.

Pflicht

VariableBedeutung
DDM_CMS_HOST, DDM_APP_HOSTDie beiden Hostnamen: CMS und Leser-App.
AUTH_COOKIE_DOMAINDie gemeinsame Domain beider Hostnamen, zum Beispiel firma.de – so gilt eine Anmeldung in beiden Apps.
POSTGRES_PASSWORDDas Passwort der Datenbank. Wird beim ersten Start übernommen und danach nicht mehr geändert.
BETTER_AUTH_SECRETSchlüssel für Sitzungen und Tokens. Mindestens 32 zufällige Zeichen; eine Änderung meldet alle ab.
LICENCE_KEYDie Lizenz von uns (ddm1.…). Ab dem ersten Start nötig.
MAIL_DRIVER, MAIL_FROMWie DDM Mails verschickt: smtp mit den Angaben unten.
SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORDIhr Mailserver. SMTP_SECURE=true für TLS ab dem ersten Byte (Port 465), SMTP_ALLOW_SELF_SIGNED=true für einen internen Server mit eigener Zertifizierungsstelle.

Dokumente

VariableBedeutung
S3_ENDPOINT, S3_BUCKET, S3_REGION, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEYDie Dokumente in einem S3-kompatiblen Bucket statt auf dem Volume. Die Sicherungen der Datenbank landen dann im selben Bucket.
S3_FORCE_PATH_STYLEtrue (Standard) für MinIO und die meisten eigenen Speicher; false für Anbieter mit Bucket im Hostnamen.
MAX_UPLOAD_BYTESDie größte Datei, die jemand hochladen kann. Standard 1 GB. Ihr Reverse Proxy muss mindestens so viel durchlassen.
THUMBNAILSoff lässt Vorschaubilder weg – für Server mit sehr wenig Arbeitsspeicher.
RENDER_LARGE_OFFICEon: Auch Office-Dateien über 64 MB bekommen eine PDF-Ansicht. Braucht mehrere GB Arbeitsspeicher für den Render-Worker.

Netzwerk

VariableBedeutung
HTTPS_PROXYEin Proxy für ausgehende Verbindungen: Lizenz, Updates, Wünsche, externe Quellen.
LDAP_PRIVATE_NETWORKS, SOURCES_PRIVATE_NETWORKSoff verbietet Verzeichnissen und externen Quellen Adressen im eigenen Netz. Bei Ihnen meist an lassen – Ihr Verzeichnis und Ihre Dateiserver stehen dort.

Anmeldung

VariableBedeutung
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET„Mit Entra ID anmelden" für die ganze Installation – eine App in Ihrem Entra ID.
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET„Mit Google Workspace anmelden".
OKTA_ISSUER, OKTA_CLIENT_ID, OKTA_CLIENT_SECRET„Mit Okta anmelden".
PASSKEY_RP_IDDie Domain, an die Passkeys gebunden sind. Ohne Angabe der Hostname des CMS – setzen Sie die gemeinsame Domain (zum Beispiel firma.de), damit ein Passkey in CMS und Leser-App gilt.

Single Sign-on je Organisation (SAML, OpenID Connect) und Verzeichnisse (LDAP, Active Directory) richten Sie dagegen in DDM selbst ein, unter Einstellungen › Single Sign-on und Einstellungen › Verzeichnisdienste.

Lizenz und Updates

VariableBedeutung
LICENCE_RENEWALoff für einen Server ohne Internet: Die Lizenz wird dann von Hand erneuert.
UPDATE_CHECKoff: Die Installation sagt nicht, wenn es eine neue Version gibt.
MIGRATE_ON_STARToff: Das CMS spielt beim Start keine Migrationen ein. Nur, wenn Sie sie selbst einspielen (bun run db:migrate).