Управление конфигурацией
Twenty предлагает два режима конфигурации, чтобы соответствовать разным потребностям развертывания:
Доступ к панели администратора: Только пользователи с правами администратора (canAccessFullAdminPanel: true) могут получить доступ к интерфейсу конфигурации.
1. Конфигурация панели администратора (по умолчанию)
IS_CONFIG_VARIABLES_IN_DB_ENABLED=true # по умолчанию
Большая часть конфигурации происходит через UI после установки:
- Получите доступ к вашему экземпляру Twenty (обычно
http://localhost:3000)
- Перейдите в Настройки / Панель администратора / Переменные конфигурации
- Настройте интеграции, почту, хранилище и многое другое
- Изменения вступают в силу немедленно (в течение 15 секунд для многоконтейнерных развертываний)
Многоконтейнерное развертывание: при использовании конфигурации базы данных (IS_CONFIG_VARIABLES_IN_DB_ENABLED=true) серверные и рабочие контейнеры читают из одной базы данных. Изменения в панели администратора влияют на оба контейнера автоматически, исключая необходимость дублирования переменных среды между контейнерами (за исключением инфраструктурных переменных).
Что вы можете настроить через панель администратора:
- Аутентификация - Google/Microsoft OAuth, настройки паролей
- Электронная почта - настройки SMTP, шаблоны, верификация
- Хранилище - конфигурация S3, пути локального хранения
- Интеграции - Gmail, Google Calendar, сервисы Microsoft
- Рабочий процесс и Ограничения скорости - лимиты выполнения, ограничение API
- И многое другое…
Каждая переменная документирована с описаниями в вашей панели администратора в Настройки → Панель администратора → Переменные конфигурации.
Некоторые инфраструктурные настройки, такие как соединения с базой данных (PG_DATABASE_URL), URL сервера (SERVER_URL) и секреты приложения (APP_SECRET), могут быть настроены только через файл .env.Полная техническая ссылка →
2. Конфигурация только для среды
IS_CONFIG_VARIABLES_IN_DB_ENABLED=false
Вся конфигурация управляется через файлы .env:
- Установите
IS_CONFIG_VARIABLES_IN_DB_ENABLED=false в своем .env файле
- Добавьте все переменные конфигурации в ваш файл
.env
- Перезапустите контейнеры, чтобы изменения вступили в силу
- Панель администратора будет показывать текущие значения, но не сможет их изменить
Multi-Workspace Mode
By default, Twenty runs in single-workspace mode — ideal for most self-hosted deployments where you need one CRM instance for your organization.
Single-Workspace Mode (Default)
IS_MULTIWORKSPACE_ENABLED=false # default
- One workspace per Twenty instance
- First user automatically becomes admin with full privileges (
canImpersonate and canAccessFullAdminPanel)
- New signups are disabled after the first workspace is created
- Simple URL structure:
https://your-domain.com
Enabling Multi-Workspace Mode
IS_MULTIWORKSPACE_ENABLED=true
DEFAULT_SUBDOMAIN=app # default value
Enable multi-workspace mode for SaaS-like deployments where multiple independent teams need their own workspaces on the same Twenty instance.
Key differences from single-workspace mode:
- Multiple workspaces can be created on the same instance
- Each workspace gets its own subdomain (e.g.,
sales.your-domain.com, marketing.your-domain.com)
- Users sign up and log in at
{DEFAULT_SUBDOMAIN}.your-domain.com (e.g., app.your-domain.com)
- No automatic admin privileges — first user in each workspace is a regular user
- Workspace-specific settings like subdomain and custom domain become available in workspace settings
Environment-only setting: IS_MULTIWORKSPACE_ENABLED can only be configured via .env file and requires a restart. It cannot be changed through the admin panel.
DNS Configuration for Multi-Workspace
When using multi-workspace mode, configure your DNS with a wildcard record to allow dynamic subdomain creation:
*.your-domain.com -> your-server-ip
This enables automatic subdomain routing for new workspaces without manual DNS configuration.
Restricting Workspace Creation
In multi-workspace mode, you may want to limit who can create new workspaces:
IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS=true
When enabled, only users with canAccessFullAdminPanel can create additional workspaces. Users can still create their first workspace during initial signup.
Интеграция Gmail и Google Calendar
Создайте проект в Google Cloud
- Перейдите в Google Cloud Console
- Создайте новый проект или выберите существующий
- Включите следующие API:
Настройте OAuth
- Перейдите к Учётные данные
- Создайте OAuth 2.0 Client ID
- Добавьте эти URI перенаправления:
https://{your-domain}/auth/google/redirect (for SSO)
https://{your-domain}/auth/google-apis/get-access-token (for integrations)
Настройка в Twenty
- Перейдите в Настройки → Панель администратора → Переменные конфигурации
- Найдите раздел Google Auth.
- Установите эти переменные:
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
Режим только для среды: если вы установили IS_CONFIG_VARIABLES_IN_DB_ENABLED=false, добавьте эти переменные в свой .env файл вместо этого.
соответствующий исходный код](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/auth/utils/get-google-apis-oauth-scopes.ts#L4-L10)
https://www.googleapis.com/auth/calendar.events
https://www.googleapis.com/auth/gmail.readonly
https://www.googleapis.com/auth/profile.emails.read
Если ваше приложение находится в тестовом режиме
Если ваше приложение находится в тестовом режиме, вам потребуется добавить тестовых пользователей в ваш проект.
На экране согласия OAuth добавьте тестовых пользователей в раздел “Тестовые пользователи”.
Интеграция Microsoft 365
Пользователи должны иметь лицензию Microsoft 365, чтобы иметь возможность использовать API Календаря и Сообщений. Они не смогут синхронизировать свою учетную запись в Twenty без нее.
Создайте проект в Microsoft Azure
Вам потребуется создать проект в Microsoft Azure и получить учетные данные.
Включите API
На консоли Microsoft Azure включите следующие API в “Разрешениях”:
- Microsoft Graph: Mail.ReadWrite
- Microsoft Graph: Mail.Send
- Microsoft Graph: Calendars.Read
- Microsoft Graph: User.Read
- Microsoft Graph: openid
- Microsoft Graph: email
- Microsoft Graph: profile
- Microsoft Graph: offline_access
Примечание: «Mail.ReadWrite» и «Mail.Send» обязательны только если вы хотите отправлять письма с использованием наших действий рабочего процесса. Вы можете использовать «Mail.Read», если хотите получать только письма.
Авторизованные URI перенаправления
Вам нужно добавить следующие URI перенаправления в ваш проект:
https://{your-domain}/auth/microsoft/redirect if you want to use Microsoft SSO
https://{your-domain}/auth/microsoft-apis/get-access-token
Настройка в Twenty
- Перейдите в Настройки → Панель администратора → Переменные конфигурации
- Найдите раздел Microsoft Auth.
- Установите эти переменные:
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
Режим только для среды: если вы установили IS_CONFIG_VARIABLES_IN_DB_ENABLED=false, добавьте эти переменные в свой .env файл вместо этого.
соответствующий исходный код](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/auth/utils/get-microsoft-apis-oauth-scopes.ts#L2-L9)
- ‘openid’
- ‘электронная почта’
- ‘профиль’
- ‘offline_access’
- ‘Mail.ReadWrite’
- ‘Mail.Send’
- ‘Calendars.Read’
Если ваше приложение находится в тестовом режиме
Если ваше приложение находится в тестовом режиме, вам потребуется добавить тестовых пользователей в ваш проект.
Добавьте тестовых пользователей в раздел “Пользователи и группы”.
Фоновые задания для Календаря и Сообщений
После настройки интеграций Gmail, Google Calendar или Microsoft 365, вам необходимо запустить фоновые задания, синхронизирующие данные.
Зарегистрируйте следующие повторяющиеся задания в вашем контейнере рабочего:
# из вашего контейнера рабочего
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
Конфигурация электронной почты
- Перейдите в Настройки → Панель администратора → Переменные конфигурации
- Найдите раздел Электронной почты.
- Настройте параметры вашего SMTP:
Режим только для среды: если вы установили IS_CONFIG_VARIABLES_IN_DB_ENABLED=false, добавьте эти переменные в свой .env файл вместо этого.