Ana içeriğe atla

Konfigürasyon Yönetimi

İlk kez mi kuruyorsunuz? Twenty’yi çalıştırmak için Docker Compose kurulum kılavuzunu izleyin, ardından yapılandırma için buraya dönün.
Twenty, farklı dağıtım ihtiyaçlarına uygun iki yapılandırma modu sunar: Yönetici paneli erişimi: Yalnızca yönetici ayrıcalıklarına sahip kullanıcılar (canAccessFullAdminPanel: true) konfigürasyon arayüzüne erişebilir.

1. Yönetici Paneli Konfigürasyonu (Varsayılan)

IS_CONFIG_VARIABLES_IN_DB_ENABLED=true  # varsayılan
Çoğu konfigürasyon, kurulumdan sonra arayüz üzerinden gerçekleştirilir:
  1. Twenty örneğinize erişin (genellikle http://localhost:3000)
  2. Ayarlar / Yönetici Paneli / Konfigürasyon Değişkenleri yoluna gidin
  3. Entegrasyonları, e-postayı, depolamayı ve daha fazlasını yapılandırın
  4. Değişiklikler hemen yürürlüğe girer (çok konteynerli dağıtımlarda 15 saniye içinde)
Çok Konteynerli Dağıtımlar: Veritabanı yapılandırması (IS_CONFIG_VARIABLES_IN_DB_ENABLED=true) kullanıldığında, hem sunucu hem de worker konteynerleri aynı veritabanından okur. Yönetici panelindeki değişiklikler her ikisini de otomatik olarak etkiler ve konteynerler arasında ortam değişkenlerini çoğaltma ihtiyacını ortadan kaldırır (altyapı değişkenleri hariç).
Yönetici paneli aracılığıyla yapılandırabileceğiniz:
  • Kimlik Doğrulama - Google/Microsoft OAuth, şifre ayarları
  • E-posta - SMTP ayarları, şablonlar, doğrulama
  • Depolama - S3 yapılandırması, yerel depolama yolları
  • Entegrasyonlar - Gmail, Google Calendar, Microsoft hizmetleri
  • İş Akışı ve Hız Limiti - Yürütme sınırları, API daraltma
  • Ve daha fazlası…
Yönetici Paneli Konfigürasyon Değişkenleri
Her bir değişken, yönetici panelinizde Ayarlar → Yönetici Paneli → Konfigürasyon Değişkenleri altında açıklamalarla belgelenir. Veritabanı bağlantıları (PG_DATABASE_URL), sunucu URL’leri (SERVER_URL) ve uygulama gizli anahtarları (APP_SECRET) gibi bazı altyapı ayarları yalnızca .env dosyası aracılığıyla yapılandırılabilir.Tam teknik referans →

2. Yalnızca Ortam Değişkenleriyle Yapılandırma

IS_CONFIG_VARIABLES_IN_DB_ENABLED=false
Tüm konfigürasyon .env dosyaları aracılığıyla yönetilir:
  1. .env dosyanızda IS_CONFIG_VARIABLES_IN_DB_ENABLED=false değerini ayarlayın
  2. Tüm konfigürasyon değişkenlerini .env dosyanıza ekleyin
  3. Değişikliklerin etkin olması için kapları yeniden başlatın
  4. Yönetici paneli mevcut değerleri gösterir ancak bunları değiştiremez

Çoklu Çalışma Alanı Modu

Varsayılan olarak, Twenty tek çalışma alanı modunda çalışır — kuruluşunuz için tek bir CRM örneğine ihtiyaç duyulan çoğu kendi barındırmalı dağıtım için idealdir.

Tek Çalışma Alanı Modu (Varsayılan)

IS_MULTIWORKSPACE_ENABLED=false  # default
  • Her Twenty örneği başına bir çalışma alanı
  • İlk kullanıcı otomatik olarak tam ayrıcalıklara sahip yönetici olur (canImpersonate ve canAccessFullAdminPanel)
  • İlk çalışma alanı oluşturulduktan sonra yeni kayıtlar devre dışı bırakılır
  • Basit URL yapısı: https://your-domain.com

Çoklu Çalışma Alanı Modunu Etkinleştirme

IS_MULTIWORKSPACE_ENABLED=true
DEFAULT_SUBDOMAIN=app  # default value
Aynı Twenty örneği üzerinde birden fazla bağımsız ekibin kendi çalışma alanlarına ihtiyaç duyduğu SaaS benzeri dağıtımlar için çoklu çalışma alanı modunu etkinleştirin. Tek çalışma alanı modundan temel farklar:
  • Aynı örnek üzerinde birden fazla çalışma alanı oluşturulabilir
  • Her çalışma alanı kendi alt alan adını alır (ör. sales.your-domain.com, marketing.your-domain.com)
  • Kullanıcılar {DEFAULT_SUBDOMAIN}.your-domain.com adresinde kaydolur ve oturum açar (ör. app.your-domain.com)
  • Otomatik yönetici ayrıcalıkları yoktur — her çalışma alanındaki ilk kullanıcı normal bir kullanıcıdır
  • Alt alan adı ve özel alan adı gibi çalışma alanına özgü ayarlar, çalışma alanı ayarlarında kullanılabilir hale gelir
Yalnızca ortam üzerinden ayar: IS_MULTIWORKSPACE_ENABLED yalnızca .env dosyası üzerinden yapılandırılabilir ve yeniden başlatma gerektirir. Yönetici paneli üzerinden değiştirilemez.

Çoklu Çalışma Alanı için DNS Yapılandırması

Çoklu çalışma alanı modu kullanılırken, dinamik alt alan adı oluşturmayı sağlamak için DNS’inizi bir wildcard kaydıyla yapılandırın:
*.your-domain.com -> your-server-ip
Bu, manuel DNS yapılandırması olmadan yeni çalışma alanları için otomatik alt alan yönlendirmesini etkinleştirir.

Çalışma Alanı Oluşturmayı Kısıtlama

Çoklu çalışma alanı modunda, yeni çalışma alanı oluşturabilecek kişileri sınırlamak isteyebilirsiniz:
IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS=true
Etkinleştirildiğinde, yalnızca canAccessFullAdminPanel yetkisine sahip kullanıcılar ek çalışma alanları oluşturabilir. Kullanıcılar yine de ilk kayıt sırasında ilk çalışma alanlarını oluşturabilir.

Gmail ve Google Takvim Entegrasyonu

Google Cloud Projesi Oluştur

  1. Google Cloud Konsolu adresine gidin
  2. Yeni bir proje oluşturun veya mevcut bir projeyi seçin
  3. Bu API’leri etkinleştirin:

OAuth’u Yapılandır

  1. Kimlik Bilgileri sayfasına gidin
  2. OAuth 2.0 İstemci Kimliği Oluştur
  3. Bu yönlendirme URI’lerini ekleyin:
    • https://{your-domain}/auth/google/redirect (SSO için)
    • https://{your-domain}/auth/google-apis/get-access-token (entegrasyonlar için)

Twenty’de Yapılandır

  1. Ayarlar → Yönetici Paneli → Konfigürasyon Değişkenleri bölümüne gidin
  2. Google Auth bölümünü bulun
  3. Bu değişkenleri ayarlayın:
    • 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
Çevre-yalnızca modu: IS_CONFIG_VARIABLES_IN_DB_ENABLED=false ayarlarsanız, bu değişkenleri .env dosyanıza ekleyin.
Gerekli kapsamlar (otomatik yapılandırılmış): İlgili kaynak kodunu görün
  • https://www.googleapis.com/auth/calendar.events
  • https://www.googleapis.com/auth/gmail.readonly
  • https://www.googleapis.com/auth/profile.emails.read

Uygulamanız test modunda ise

Uygulamanız test modunda ise, projenize test kullanıcıları eklemeniz gerekecek. OAuth onay ekranı altında “Test kullanıcılar” bölümüne test kullanıcılarınızı ekleyin.

Microsoft 365 Entegrasyonu

Kullanıcıların Takvim ve Mesajlaşma API’sini kullanabilmesi için bir Microsoft 365 Lisansı olması gerekir. Biri olmadan hesaplarını Twenty’de eşitleyemeyecekler.

Microsoft Azure’da bir proje oluştur

Microsoft Azure platformunda bir proje oluşturmanız ve kimlik bilgilerini almanız gerekecek.

API’leri etkinleştir

Microsoft Azure Konsolunda “İzinler” altında aşağıdaki API’leri etkinleştirin:
  • Microsoft Graph: Mail.ReadWrite
  • Microsoft Graph: Mail.Send
  • Microsoft Graph: Calendars.Read
  • Microsoft Graph: User.Read
  • Microsoft Graph: openid
  • Microsoft Graph: email
  • Microsoft Graph: profil
  • Microsoft Graph: offline_access
Not: “Mail.ReadWrite” ve “Mail.Send” yalnızca iş akışı eylemleri kullanarak e-posta göndermek istiyorsanız gereklidir. Yalnızca e-posta almak istiyorsanız “Mail.Read” kullanabilirsiniz.

Yetkili yönlendirme URI’leri

Projenize aşağıdaki yönlendirme URI’lerini eklemeniz gerekir:
  • https://{your-domain}/auth/microsoft/redirect Microsoft SSO kullanmak istiyorsanız
  • https://{your-domain}/auth/microsoft-apis/get-access-token

Twenty’de Yapılandır

  1. Ayarlar → Yönetici Paneli → Konfigürasyon Değişkenleri bölümüne gidin
  2. Microsoft Auth bölümünü bulun
  3. Bu değişkenleri ayarlayın:
    • 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
Çevre-yalnızca modu: IS_CONFIG_VARIABLES_IN_DB_ENABLED=false ayarlarsanız, bu değişkenleri .env dosyanıza ekleyin.

Kapsamları yapılandır

İlgili kaynak kodunu görün
  • ‘openid’
  • ‘e-posta’
  • ‘profil’
  • ‘offline_access’
  • ‘Mail.ReadWrite’
  • ‘Mail.Send’
  • ‘Calendars.Read’

Uygulamanız test modunda ise

Uygulamanız test modunda ise, projenize test kullanıcıları eklemeniz gerekecek. Test kullanıcılarınızı “Kullanıcılar ve gruplar” bölümüne ekleyin.

Takvim ve Mesajlaşma için Arka Plan İşleri

Gmail, Google Takvim veya Microsoft 365 entegrasyonlarını yapılandırdıktan sonra, verileri senkronize edecek arka plan işlerini başlatmanız gerekir. İşçi kabınızdaki aşağıdaki tekrarlanan işleri kaydedin:
# from your 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-posta Yapılandırması

  1. Ayarlar → Yönetici Paneli → Konfigürasyon Değişkenleri bölümüne gidin
  2. E-posta bölümünü bulun
  3. SMTP ayarlarınızı yapılandırın:
Çevre-yalnızca modu: IS_CONFIG_VARIABLES_IN_DB_ENABLED=false ayarlarsanız, bu değişkenleri .env dosyanıza ekleyin.

Mantıksal işlevler

Twenty, iş akışları ve özel mantık için mantıksal işlevleri destekler. Yürütme ortamı, SERVERLESS_TYPE ortam değişkeni aracılığıyla yapılandırılır.
Güvenlik Notu: Yerel sürücü (SERVERLESS_TYPE=LOCAL), herhangi bir sandbox olmadan kodu ana makinede doğrudan bir Node.js sürecinde çalıştırır. Yalnızca geliştirirken güvenilen kod için kullanılmalıdır. Güvenilmeyen kodu işleyen üretim dağıtımları için SERVERLESS_TYPE=LAMBDA veya SERVERLESS_TYPE=DISABLED kullanmanızı şiddetle öneririz.

Kullanılabilir Sürücüler

SürücüOrtam DeğişkeniKullanım alanıGüvenlik Düzeyi
Devre dışıSERVERLESS_TYPE=DISABLEDMantıksal işlevleri tamamen devre dışı bırakınUygulanamaz
YerelSERVERLESS_TYPE=LOCALGeliştirme ve güvenilir ortamlarDüşük (sandbox yok)
LambdaSERVERLESS_TYPE=LAMBDAGüvenilmeyen kodla üretimYüksek (donanım düzeyinde izolasyon)

Önerilen Yapılandırma

Geliştirme için:
SERVERLESS_TYPE=LOCAL  # default
Üretim için (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
Mantıksal işlevleri devre dışı bırakmak için:
SERVERLESS_TYPE=DISABLED
SERVERLESS_TYPE=DISABLED kullanıldığında, bir mantıksal işlevi yürütmeye yönelik herhangi bir girişim bir hata döndürür. Bu, Twenty’yi mantıksal işlev yetenekleri olmadan çalıştırmak istiyorsanız kullanışlıdır.