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
| Variable | Bedeutung |
|---|---|
DDM_CMS_HOST, DDM_APP_HOST | Die beiden Hostnamen: CMS und Leser-App. |
AUTH_COOKIE_DOMAIN | Die gemeinsame Domain beider Hostnamen, zum Beispiel firma.de – so gilt eine Anmeldung in beiden Apps. |
POSTGRES_PASSWORD | Das Passwort der Datenbank. Wird beim ersten Start übernommen und danach nicht mehr geändert. |
BETTER_AUTH_SECRET | Schlüssel für Sitzungen und Tokens. Mindestens 32 zufällige Zeichen; eine Änderung meldet alle ab. |
LICENCE_KEY | Die Lizenz von uns (ddm1.…). Ab dem ersten Start nötig. |
MAIL_DRIVER, MAIL_FROM | Wie DDM Mails verschickt: smtp mit den Angaben unten. |
SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD | Ihr 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
| Variable | Bedeutung |
|---|---|
S3_ENDPOINT, S3_BUCKET, S3_REGION, S3_ACCESS_KEY_ID, S3_SECRET_ACCESS_KEY | Die Dokumente in einem S3-kompatiblen Bucket statt auf dem Volume. Die Sicherungen der Datenbank landen dann im selben Bucket. |
S3_FORCE_PATH_STYLE | true (Standard) für MinIO und die meisten eigenen Speicher; false für Anbieter mit Bucket im Hostnamen. |
MAX_UPLOAD_BYTES | Die größte Datei, die jemand hochladen kann. Standard 1 GB. Ihr Reverse Proxy muss mindestens so viel durchlassen. |
THUMBNAILS | off lässt Vorschaubilder weg – für Server mit sehr wenig Arbeitsspeicher. |
RENDER_LARGE_OFFICE | on: Auch Office-Dateien über 64 MB bekommen eine PDF-Ansicht. Braucht mehrere GB Arbeitsspeicher für den Render-Worker. |
Netzwerk
| Variable | Bedeutung |
|---|---|
HTTPS_PROXY | Ein Proxy für ausgehende Verbindungen: Lizenz, Updates, Wünsche, externe Quellen. |
LDAP_PRIVATE_NETWORKS, SOURCES_PRIVATE_NETWORKS | off verbietet Verzeichnissen und externen Quellen Adressen im eigenen Netz. Bei Ihnen meist an lassen – Ihr Verzeichnis und Ihre Dateiserver stehen dort. |
Anmeldung
| Variable | Bedeutung |
|---|---|
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_ID | Die 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
| Variable | Bedeutung |
|---|---|
LICENCE_RENEWAL | off für einen Server ohne Internet: Die Lizenz wird dann von Hand erneuert. |
UPDATE_CHECK | off: Die Installation sagt nicht, wenn es eine neue Version gibt. |
MIGRATE_ON_START | off: Das CMS spielt beim Start keine Migrationen ein. Nur, wenn Sie sie selbst einspielen (bun run db:migrate). |