Zum Hauptinhalt springen

Konfigurationsverwaltung

Erstinstallation? Folgen Sie dem Docker Compose-Installationshandbuch, um Twenty zum Laufen zu bringen, und kehren Sie dann hierher zurück, um die Konfiguration fortzusetzen.
Twenty bietet zwei Konfigurationsmodi, um unterschiedlichen Implementierungsbedürfnissen gerecht zu werden: Zugriff auf das Admin-Panel: Nur Benutzer mit Admin-Berechtigungen (canAccessFullAdminPanel: true) können auf die Konfigurationsoberfläche zugreifen.

1. Admin-Panel-Konfiguration (Standard)

IS_CONFIG_VARIABLES_IN_DB_ENABLED=true  # Standard
Die meiste Konfiguration erfolgt über die Benutzeroberfläche nach der Installation:
  1. Greifen Sie auf Ihre Twenty-Instanz zu (normalerweise http://localhost:3000)
  2. Gehen Sie zu Einstellungen / Admin-Panel / Konfigurationsvariablen
  3. Konfigurieren Sie Integrationen, E-Mail, Speicherung und mehr
  4. Änderungen werden sofort wirksam (innerhalb von 15 Sekunden für Mehrcontainer-Bereitstellungen)
Mehr-Container-Bereitstellungen: Bei Verwendung der Datenbankkonfiguration (IS_CONFIG_VARIABLES_IN_DB_ENABLED=true) lesen sowohl Server- als auch Worker-Container aus derselben Datenbank. Änderungen im Admin-Panel wirken sich auf beide Container aus, wodurch die Notwendigkeit entfällt, Umgebungsvariablen zwischen den Containern zu duplizieren (außer Infrastrukturvariablen).
Was Sie über das Admin-Panel konfigurieren können:
  • Authentifizierung - Google/Microsoft OAuth, Passwort-Einstellungen
  • E-Mail - SMTP-Einstellungen, Vorlagen, Verifizierung
  • Speicherung - S3-Konfiguration, lokale Speicherpfade
  • Integrationen - Gmail, Google Kalender, Microsoft-Dienste
  • Arbeitsablauf & Ratenbegrenzung - Ausführungslimits, API-Drosselung
  • Und vieles mehr…
Konfigurationsvariablen des Admin-Panels
Jede Variable ist mit Beschreibungen in Ihrem Admin-Panel dokumentiert unter Einstellungen → Admin-Panel → Konfigurationsvariablen. Einige Infrastruktureinstellungen wie Datenbankverbindungen (PG_DATABASE_URL), Server-URLs (SERVER_URL) und Anwendungsgeheimnisse (APP_SECRET) können nur über die .env-Datei konfiguriert werden.Vollständige technische Referenz →

2. Nur-Umgebungs-Konfiguration

IS_CONFIG_VARIABLES_IN_DB_ENABLED=false
Alle Konfiguration wird über .env-Dateien verwaltet:
  1. Setzen Sie IS_CONFIG_VARIABLES_IN_DB_ENABLED=false in Ihrer .env-Datei
  2. Fügen Sie alle Konfigurationsvariablen zu Ihrer .env-Datei hinzu
  3. Starten Sie Container neu, damit Änderungen wirksam werden
  4. Im Admin-Panel werden aktuelle Werte angezeigt, können jedoch nicht geändert werden

Multi-Workspace-Modus

Standardmäßig läuft Twenty im Single-Workspace-Modus — ideal für die meisten selbstgehosteten Bereitstellungen, bei denen Sie eine CRM-Instanz für Ihre Organisation benötigen.

Single-Workspace-Modus (Standard)

IS_MULTIWORKSPACE_ENABLED=false  # default
  • Ein Workspace pro Twenty-Instanz
  • Der erste Benutzer wird automatisch zum Admin mit vollen Berechtigungen (canImpersonate und canAccessFullAdminPanel).
  • Neue Registrierungen werden deaktiviert, nachdem der erste Workspace erstellt wurde.
  • Einfache URL-Struktur: https://your-domain.com

Multi-Workspace-Modus aktivieren

IS_MULTIWORKSPACE_ENABLED=true
DEFAULT_SUBDOMAIN=app  # default value
Aktivieren Sie den Multi-Workspace-Modus für SaaS-ähnliche Bereitstellungen, bei denen mehrere unabhängige Teams eigene Workspaces auf derselben Twenty-Instanz benötigen. Wesentliche Unterschiede zum Single-Workspace-Modus:
  • Auf derselben Instanz können mehrere Workspaces erstellt werden.
  • Jeder Workspace erhält seine eigene Subdomain (z. B. sales.your-domain.com, marketing.your-domain.com).
  • Benutzer registrieren sich und melden sich unter {DEFAULT_SUBDOMAIN}.your-domain.com an (z. B. app.your-domain.com).
  • Keine automatischen Admin-Berechtigungen — der erste Benutzer in jedem Workspace ist ein normaler Benutzer.
  • Workspacespezifische Einstellungen wie Subdomain und benutzerdefinierte Domain werden in den Workspace-Einstellungen verfügbar.
Nur-Umgebungs-Einstellung: IS_MULTIWORKSPACE_ENABLED kann nur über die .env-Datei konfiguriert werden und erfordert einen Neustart. Dies kann nicht über das Admin-Panel geändert werden.

DNS-Konfiguration für Multi-Workspace

Wenn Sie den Multi-Workspace-Modus verwenden, konfigurieren Sie Ihr DNS mit einem Wildcard-Eintrag, um die dynamische Erstellung von Subdomains zu ermöglichen:
*.your-domain.com -> your-server-ip
Dadurch wird das automatische Subdomain-Routing für neue Workspaces ohne manuelle DNS-Konfiguration ermöglicht.

Einschränkung der Workspace-Erstellung

Im Multi-Workspace-Modus möchten Sie möglicherweise einschränken, wer neue Workspaces erstellen darf:
IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS=true
Wenn aktiviert, können nur Benutzer mit canAccessFullAdminPanel zusätzliche Workspaces erstellen. Benutzer können bei der Erstregistrierung weiterhin ihren ersten Workspace erstellen.

Gmail- & Google Kalender-Integration

Erstellen Sie ein Projekt auf Google Cloud

  1. Gehen Sie zum Google Cloud-Konsole
  2. Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus
  3. Aktivieren Sie diese APIs:

OAuth konfigurieren

  1. Gehen Sie zu Anmeldedaten
  2. Erstellen Sie eine OAuth 2.0-Client-ID
  3. Fügen Sie diese Weiterleitungs-URIs hinzu:
    • https://{your-domain}/auth/google/redirect (für SSO)
    • https://{your-domain}/auth/google-apis/get-access-token (für Integrationen)

In Twenty konfigurieren

  1. Gehen Sie zu Einstellungen → Admin-Panel → Konfigurationsvariablen
  2. Finden Sie den Abschnitt Google Auth
  3. Setzen Sie diese Variablen:
    • MESSAGING_PROVIDER_GMAIL_ENABLED=true
    • CALENDAR_PROVIDER_GOOGLE_ENABLED=true
    • AUTH_GOOGLE_CLIENT_ID={client-id}
    • AUTH_GOOGLE_CLIENT_SECRET={client-secret}
    • AUTH_GOOGLE_CALLBACK_URL=https://{your-domain}/auth/google/redirect
    • AUTH_GOOGLE_APIS_CALLBACK_URL=https://{your-domain}/auth/google-apis/get-access-token
Nur-Umgebungsmodus: Wenn Sie IS_CONFIG_VARIABLES_IN_DB_ENABLED=false setzen, fügen Sie diese Variablen stattdessen Ihrer .env-Datei hinzu.
Erforderliche Scopes (automatisch konfiguriert): Siehe relevanten Quellcode
  • https://www.googleapis.com/auth/calendar.events
  • https://www.googleapis.com/auth/gmail.readonly
  • https://www.googleapis.com/auth/profile.emails.read

Wenn Ihre Anwendung im Testmodus ist

Wenn Ihre Anwendung im Testmodus ist, müssen Sie Testbenutzer zu Ihrem Projekt hinzufügen. Fügen Sie im OAuth-Zustimmungsbildschirm Ihre Testbenutzer dem Abschnitt “Testbenutzer” hinzu.

Microsoft 365-Integration

Benutzer müssen eine Microsoft 365-Lizenz besitzen, um die Kalender- und Messaging-API verwenden zu können. Ohne eine solche Lizenz können sie ihr Konto nicht mit Twenty synchronisieren.

Erstellen Sie ein Projekt in Microsoft Azure

Sie müssen ein Projekt in Microsoft Azure erstellen und die Anmeldeinformationen erhalten.

APIs aktivieren

Aktivieren Sie diese APIs im “Berechtigungen”-Bereich der Microsoft Azure-Konsole:
  • Microsoft Graph: Mail.ReadWrite
  • Microsoft Graph: Mail.Send
  • Microsoft Graph: Kalender.Read
  • Microsoft Graph: Benutzer.Read
  • Microsoft Graph: openid
  • Microsoft Graph: email
  • Microsoft Graph: profil
  • Microsoft Graph: offline_access
Hinweis: “Mail.ReadWrite” und “Mail.Send” sind nur erforderlich, wenn Sie E-Mails mit unseren Workflow-Aktionen senden möchten. Sie können stattdessen “Mail.Read” verwenden, wenn Sie nur E-Mails empfangen möchten.

Autorisierte Redirect-URIs

Sie müssen die folgenden Weiterleitungs-URIs zu Ihrem Projekt hinzufügen:
  • https://{your-domain}/auth/microsoft/redirect, falls Sie das Microsoft-SSO verwenden möchten
  • https://{your-domain}/auth/microsoft-apis/get-access-token

In Twenty konfigurieren

  1. Gehen Sie zu Einstellungen → Admin-Panel → Konfigurationsvariablen
  2. Finden Sie den Abschnitt Microsoft Auth
  3. Setzen Sie diese Variablen:
    • MESSAGING_PROVIDER_MICROSOFT_ENABLED=true
    • CALENDAR_PROVIDER_MICROSOFT_ENABLED=true
    • AUTH_MICROSOFT_ENABLED=true
    • AUTH_MICROSOFT_CLIENT_ID={client-id}
    • AUTH_MICROSOFT_CLIENT_SECRET={client-secret}
    • AUTH_MICROSOFT_CALLBACK_URL=https://{your-domain}/auth/microsoft/redirect
    • AUTH_MICROSOFT_APIS_CALLBACK_URL=https://{your-domain}/auth/microsoft-apis/get-access-token
Nur-Umgebungsmodus: Wenn Sie IS_CONFIG_VARIABLES_IN_DB_ENABLED=false setzen, fügen Sie diese Variablen stattdessen Ihrer .env-Datei hinzu.

Scopes konfigurieren

Siehe relevanten Quellcode
  • ‘openid’
  • ‘e-Mail’
  • ‘profil’
  • ‘offline_access’
  • ‘Mail.ReadWrite’
  • ‘Mail.Send’
  • ‘Kalender.Read’

Wenn Ihre Anwendung im Testmodus ist

Wenn Ihre Anwendung im Testmodus ist, müssen Sie Testbenutzer zu Ihrem Projekt hinzufügen. Fügen Sie Ihre Testbenutzer dem Abschnitt “Benutzer und Gruppen” hinzu.

Hintergrundaufgaben für Kalender & Messaging

Nachdem Sie Gmail-, Google Kalender- oder Microsoft 365-Integrationen konfiguriert haben, müssen Sie die Hintergrundaufgaben starten, die Daten synchronisieren. Registrieren Sie die folgenden wiederkehrenden Aufgaben in Ihrem Worker-Container:
# von Ihrem Worker-Container
yarn command:prod cron:messaging:messages-import
yarn command:prod cron:messaging:message-list-fetch
yarn command:prod cron:calendar:calendar-event-list-fetch
yarn command:prod cron:calendar:calendar-events-import
yarn command:prod cron:messaging:ongoing-stale
yarn command:prod cron:calendar:ongoing-stale
yarn command:prod cron:workflow:automated-cron-trigger

E-Mail-Konfiguration

  1. Gehen Sie zu Einstellungen → Admin-Panel → Konfigurationsvariablen
  2. Finden Sie den Abschnitt E-Mail
  3. Konfigurieren Sie Ihre SMTP-Einstellungen:
Nur-Umgebungsmodus: Wenn Sie IS_CONFIG_VARIABLES_IN_DB_ENABLED=false setzen, fügen Sie diese Variablen stattdessen Ihrer .env-Datei hinzu.

Logikfunktionen

Twenty unterstützt Logikfunktionen für Workflows und benutzerdefinierte Logik. Die Ausführungsumgebung wird über die Umgebungsvariable SERVERLESS_TYPE konfiguriert.
Sicherheitshinweis: Der lokale Treiber (SERVERLESS_TYPE=LOCAL) führt Code ohne Sandbox direkt auf dem Host in einem Node.js-Prozess aus. Er sollte nur für vertrauenswürdigen Code in der Entwicklung verwendet werden. Für Produktivbereitstellungen, die nicht vertrauenswürdigen Code verarbeiten, empfehlen wir nachdrücklich, SERVERLESS_TYPE=LAMBDA oder SERVERLESS_TYPE=DISABLED zu verwenden.

Verfügbare Treiber

TreiberUmgebungsvariableAnwendungsfallSicherheitsstufe
DeaktiviertSERVERLESS_TYPE=DISABLEDLogikfunktionen vollständig deaktivierenN/A
LokalSERVERLESS_TYPE=LOCALEntwicklung und vertrauenswürdige UmgebungenNiedrig (keine Sandbox)
LambdaSERVERLESS_TYPE=LAMBDAProduktivbetrieb mit nicht vertrauenswürdigem CodeHoch (Isolation auf Hardwareebene)

Empfohlene Konfiguration

Für die Entwicklung:
SERVERLESS_TYPE=LOCAL  # default
Für den Produktivbetrieb (AWS):
SERVERLESS_TYPE=LAMBDA
SERVERLESS_LAMBDA_REGION=us-east-1
SERVERLESS_LAMBDA_ROLE=arn:aws:iam::123456789:role/your-lambda-role
SERVERLESS_LAMBDA_ACCESS_KEY_ID=your-access-key
SERVERLESS_LAMBDA_SECRET_ACCESS_KEY=your-secret-key
Zum Deaktivieren von Logikfunktionen:
SERVERLESS_TYPE=DISABLED
Bei Verwendung von SERVERLESS_TYPE=DISABLED führt jeder Versuch, eine Logikfunktion auszuführen, zu einem Fehler. Dies ist nützlich, wenn Sie Twenty ohne Unterstützung für Logikfunktionen betreiben möchten.