Zum Hauptinhalt springen

Umgebungsvariablen

Um Ihre Anwendung zu konfigurieren, setzen Sie die folgenden Umgebungsvariablen. Diese Variablen steuern verschiedene Aspekte des Anwendungsverhaltens, einschließlich URLs, Datenbankverbindungen und Integrationen von Drittanbietern.

Anwendungskonfiguration​

VariableBeispielBeschreibung
APP_URLhttps://docmost.example.comDie Basis-URL Ihrer Anwendung. Sie ist optional, aber nützlich für korrekte E-Mail-Links.
APP_SECRETLONG_SECRET_KEYEin sicherer Schlüssel für die Anwendungssicherheit (mindestens 32 Zeichen). Generieren Sie ihn mit openssl rand -hex 32.
PORT3000Der Port, auf dem die Anwendung ausgeführt wird.
JWT_TOKEN_EXPIRES_IN30dDie Ablaufzeit für JSON Web Tokens (JWT). Der Standardwert beträgt 30 Tage.

Datenbankkonfiguration​

VariableBeispielBeschreibung
DATABASE_URLpostgresql://postgres:password@localhost:5432/docmost?schema=publicDie Verbindungs-URL für Ihre PostgreSQL-Datenbank.

Redis-Konfiguration​

VariableBeispielBeschreibung
REDIS_URLredis://127.0.0.1:6379Die Verbindungs-URL für Ihren Redis-Server.
Format: redis://username:password@host:port/db-number

Speicherkonfiguration​

Lokalen Speicher verwenden​

VariableBeispielBeschreibung
STORAGE_DRIVERlocalDer für die Dateispeicherung zu verwendende Speichertreiber.

S3-kompatiblen Speicher verwenden​

VariableBeispielBeschreibung
STORAGE_DRIVERs3Der für die Dateispeicherung zu verwendende Speichertreiber.
AWS_S3_ACCESS_KEY_IDIhre AWS-S3-Zugriffsschlüssel-ID.
AWS_S3_SECRET_ACCESS_KEYIhr geheimer AWS-S3-Zugriffsschlüssel.
AWS_S3_REGIONDie Region, in der sich Ihr S3-Bucket befindet.
AWS_S3_BUCKETDer Name Ihres S3-Buckets.
AWS_S3_ENDPOINTDie Endpunkt-URL für Ihren S3-Dienst (optional).
AWS_S3_FORCE_PATH_STYLEtrueErzwingt, dass die Anfrage Path-Style-Adressierung verwendet (optional).

Azure Blob Storage verwenden​

VariableBeispielBeschreibung
STORAGE_DRIVERazureDer für die Dateispeicherung zu verwendende Speichertreiber.
AZURE_STORAGE_ACCOUNT_NAMEIhr Azure-Storage-Kontoname.
AZURE_STORAGE_ACCOUNT_KEYIhr Azure-Storage-Kontoschlüssel.
AZURE_STORAGE_CONTAINERDer Name Ihres Blob-Containers.

Größenbeschränkungen für Datei-Uploads​

VariableBeispielBeschreibung
FILE_UPLOAD_SIZE_LIMIT50mbDie maximale Dateigröße pro Upload. Der Standardwert ist 50mb.
FILE_IMPORT_SIZE_LIMIT100mbDie maximale Größenbeschränkung für Datei-Importe. Der Standardwert ist 200mb.

E-Mail-Konfiguration​

SMTP verwenden​

VariableBeispielBeschreibung
MAIL_DRIVERsmtpDer für den E-Mail-Versand zu verwendende E-Mail-Treiber.
SMTP_HOSTsmtp.example.comDer für den E-Mail-Versand zu verwendende SMTP-Server.
SMTP_PORT587Der für den SMTP-Server zu verwendende Port.
SMTP_USERNAMEDer Benutzername für den SMTP-Server.
SMTP_PASSWORDDas Passwort für den SMTP-Server.
SMTP_SECUREfalseVerwendet TLS bei der Verbindung mit dem Server, üblicherweise für Port 465. Standardmäßig false. Siehe nodemailer 'secure' für Details
MAIL_FROM_ADDRESS[email protected]Die E-Mail-Adresse, von der E-Mails gesendet werden.
MAIL_FROM_NAMEDocmostDer Name, unter dem E-Mails gesendet werden.

Postmark verwenden​

VariableBeispielBeschreibung
MAIL_DRIVERpostmarkDer für den E-Mail-Versand zu verwendende E-Mail-Treiber.
POSTMARK_TOKENDas Token für Postmark, falls Postmark als MAIL_DRIVER verwendet wird.
MAIL_FROM_ADDRESS[email protected]Die E-Mail-Adresse, von der E-Mails gesendet werden.
MAIL_FROM_NAMEDocmostDer Name, unter dem E-Mails gesendet werden.

AI-Konfiguration (Enterprise)​

VariableBeispielBeschreibung
AI_DRIVERopenaiDer zu verwendende AI-Anbieter. Optionen: openai, openai-compatible, gemini, ollama.
AI_EMBEDDING_MODELtext-embedding-3-smallDas für die Erzeugung von Vektor-Embeddings verwendete Modell.
AI_COMPLETION_MODELgpt-4o-miniDas für die Beantwortung von Fragen verwendete Modell.
AI_EMBEDDING_DIMENSION1536Optional. Die Vektordimension für pgvector. Wird für voreingestellte Modelle automatisch erkannt. Unterstützte Werte: 768, 1024, 1536, 2000, 3072.
AI_EMBEDDING_SUPPORTS_MRLtrueOptional. Steuert, ob der Parameter dimensions an die API des Embedding-Modells gesendet wird. Standardmäßig wird die Modellvoreinstellung verwendet, falls verfügbar, andernfalls true. Auf false setzen für Modelle, die keinen dimensions-Parameter akzeptieren.
OPENAI_API_KEYsk-proj-xxxxxIhr OpenAI-API-Schlüssel. Erforderlich, wenn AI_DRIVER auf openai oder openai-compatible gesetzt ist.
OPENAI_API_URLhttps://api.openai.com/v1Optional. Benutzerdefinierter API-Endpunkt für Azure OpenAI oder kompatible Anbieter.
GEMINI_API_KEYAIzaSyxxxxxIhr Google-Gemini-API-Schlüssel. Erforderlich, wenn AI_DRIVER=gemini.
OLLAMA_API_URLhttp://localhost:11434Die URL Ihrer Ollama-Instanz. Erforderlich, wenn AI_DRIVER=ollama.

DRAW.IO (Diagrams.net) Konfiguration​

Die standardmäßige Draw.io-Einbettungs-URL ist https://embed.diagrams.net.

VariableBeispielBeschreibung
DRAWIO_URLhttps://embed.diagrams.netDie URL Ihres benutzerdefinierten draw.io-Servers.

Suchkonfiguration (Enterprise)​

VariableBeispielBeschreibung
SEARCH_DRIVERtypesenseDer zu verwendende Suchmaschinen-Treiber. Der Standardwert ist postgres (Datenbanksuche). typesense ist eine speziell entwickelte Suchmaschine mit tippfehlertoleranter, schneller Suche, die in der Enterprise Edition verfügbar ist.
TYPESENSE_URLhttp://localhost:8108Die URL Ihres Typesense-Servers. Erforderlich, wenn SEARCH_DRIVER=typesense. (Enterprise)
TYPESENSE_API_KEYyour_api_key_hereIhr Typesense-API-Schlüssel mit Lese-/Schreibberechtigungen. Erforderlich, wenn SEARCH_DRIVER=typesense. (Enterprise)
TYPESENSE_LOCALEenDie Locale für Textanalyse und Suche. Der Standardwert ist en. Beispiele: en, es, fr, de, ja, zh, ko usw. Eine vollständige Liste finden Sie unter Von Typesense unterstützte Sprachen. (Enterprise)

SAML​

Der Großteil der SAML-Konfiguration erfolgt über die Seite Einstellungen → Sicherheit & SSO in der App. Die folgende Variable ist die Ausnahme, da sie auf dem Server gesetzt werden muss.

VariableBeispielBeschreibung
SAML_DISABLE_REQUESTED_AUTHN_CONTEXTfalseWenn auf true gesetzt, lässt Docmost das Element RequestedAuthnContext (das PasswordProtectedTransport anfordert) aus der SAML-AuthnRequest weg. Dadurch können Identitätsanbieter wie AD FS ihre Standard-Authentifizierungsmethode verwenden, beispielsweise die integrierte Windows-Authentifizierung für Intranet-Clients. Gilt instanzweit für alle SAML-Anbieter. Standardmäßig false.

Sicherheit​

Iframe-Einbettung​

Standardmäßig blockiert Docmost die Einbettung Ihrer Instanz in einem <iframe> durch andere Ursprünge. Dies schützt Benutzer vor Clickjacking-Angriffen, bei denen eine bösartige Website Docmost in einem versteckten Frame lädt und angemeldete Benutzer dazu verleitet, auf zerstörerische Aktionen zu klicken. Standardmäßig antwortet Docmost mit X-Frame-Options: SAMEORIGIN, sodass nur Seiten, die von Ihrem eigenen Docmost-Ursprung ausgeliefert werden, Docmost-Inhalte in einem Iframe einbetten können.

Öffentlich geteilte Seiten (/share/...) sind von dieser Einschränkung ausgenommen und können immer von jedem Ursprung aus eingebettet werden. Geteilte Inhalte sind öffentlich, schreibgeschützt und enthalten keine authentifizierten Aktionen, sodass sie keine Clickjacking-Angriffsfläche bieten.

Wenn Sie den Rest von Docmost (die App selbst) berechtigterweise in einem anderen Tool einbetten müssen, beispielsweise in einem Intranet-Portal oder LMS, verwenden Sie die folgenden Variablen.

VariableBeispielBeschreibung
IFRAME_EMBED_ALLOWEDfalseHauptschalter für die externe Iframe-Einbettung. Standardmäßig false, was X-Frame-Options: SAMEORIGIN ausgibt. Auf true setzen, um externe Einbettung zuzulassen.
IFRAME_ALLOWED_ORIGINShttps://intranet.example.com,https://portal.example.comOptionale, durch Kommas getrennte Zulassungsliste. Wird nur berücksichtigt, wenn IFRAME_EMBED_ALLOWED=true. Wenn angegeben, gibt Docmost Content-Security-Policy: frame-ancestors 'self' <origins> anstelle von X-Frame-Options aus. Wenn leer, ist die Einbettung von jedem Ursprung aus zulässig.

Ausgehende Anfragen an private Netzwerke​

Integrationen wie das SIEM-Streaming lassen den Server Anfragen an URLs senden, die Arbeitsbereichs-Eigentümer konfigurieren. Auf selbst gehosteten Instanzen werden Ziele in privaten Netzwerken standardmäßig abgelehnt. Link-local-, Cloud-Metadaten-, unspezifizierte und Multicast-Adressen werden immer abgelehnt. Docmost Cloud ignoriert diese Variable.

VariableBeispielBeschreibung
ALLOWED_PRIVATE_NETWORKSall,127.0.0.0/8,::1/128none (Standard) lehnt private, Loopback- und reservierte Ziele ab. all erlaubt private Netzwerke (10.x, 172.16-31.x, 192.168.x, 100.64.x, IPv6 Unique Local). Eine durch Kommas getrennte Liste von CIDR-Bereichen, jeweils optional mit Port (192.168.1.20/32:8088), erlaubt nur diese Bereiche. Nach all aufgeführte Bereiche kommen hinzu, zum Beispiel Loopback für einen Collector auf derselben Maschine.

Telemetrie​

Wir erfassen anonym die aktive Version, die Anzahl der Benutzer, die Anzahl der Seiten sowie die Anzahl der Bereiche und Arbeitsbereiche.

VariableBeispielBeschreibung
DISABLE_TELEMETRYtrueZum Deaktivieren der Telemetrie