--- title: Konfiguracja image: /images/user-guide/table-views/table.png --- Header import OptionTable from '@site/src/theme/OptionTable' # Zarządzanie Konfiguracją **First time installing?** Follow the [Docker Compose installation guide](https://docs.twenty.com/l/pl/developers/self-hosting/docker-compose) to get Twenty running, then return here for configuration. Twenty oferuje **dwa tryby konfiguracji**, aby odpowiadać na różne potrzeby wdrożenia: **Dostęp do panelu admina:** Tylko użytkownicy z uprawnieniami administratora (`canAccessFullAdminPanel: true`) mogą uzyskać dostęp do interfejsu konfiguracji. ## 1. Konfiguracja Panelu Admina (Domyślna) ```bash IS_CONFIG_VARIABLES_IN_DB_ENABLED=true # default ``` **Większość konfiguracji odbywa się przez interfejs użytkownika** po instalacji: 1. Access your Twenty instance (usually `http://localhost:3000`) 2. Go to **Settings / Admin Panel / Configuration Variables** 3. Configure integrations, email, storage, and more 4. Zmiany wchodzą w życie natychmiastowo (w ciągu 15 sek. dla wdrożeń z wieloma kontenerami) **Wdrożenia wielokontenerowe:** Przy korzystaniu z konfiguracji bazy danych (`IS_CONFIG_VARIABLES_IN_DB_ENABLED=true`), zarówno kontenery serwera, jak i pracownika, odczytują z tej samej bazy danych. Zmiany w panelu administracyjnym wpływają na oba automatycznie, eliminując potrzebę duplikowania zmiennych środowiskowych między kontenerami (z wyjątkiem zmiennych infrastruktury). **Co możesz skonfigurować przez panel administracyjny:** - **Uwierzytelnianie** - Google/Microsoft OAuth, ustawienia hasła - **E-mail** - ustawienia SMTP, szablony, weryfikacja - **Magazyn** - konfiguracja S3, lokalne ścieżki magazynu - **Integracje** - Gmail, Google Calendar, usługi Microsoft - **Przepływy pracy i ograniczenie tempa** - limitowanie wykonania, ograniczanie API - **I wiele więcej...** ![Zmienne Konfiguracji Panelu Admina](/images/user-guide/setup/admin-panel-config-variables.png) Each variable is documented with descriptions in your admin panel at **Settings → Admin Panel → Configuration Variables**. Niektóre ustawienia infrastruktury jak połączenia z bazą danych (`PG_DATABASE_URL`), adresy URL serwera (`SERVER_URL`) i sekrety aplikacji (`APP_SECRET`) mogą być konfigurowane tylko przez plik `.env`. [Complete technical reference →](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) ## 2. Konfiguracja Tylko Środowiskowa ```bash IS_CONFIG_VARIABLES_IN_DB_ENABLED=false ``` **Cała konfiguracja zarządzana przez pliki `.env`:** 1. Ustaw `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false` w swoim pliku `.env` 2. Dodaj wszystkie zmienne konfiguracji do swojego pliku `.env` 3. Uruchom ponownie kontenery, aby zmiany weszły w życie 4. Panel administracyjny wyświetli bieżące wartości, ale nie może ich modyfikować ## Integracja z Gmail i Kalendarzem Google ### Utwórz projekt w Google Cloud 1. Przejdź do [Google Cloud Console](https://console.cloud.google.com/) 2. Utwórz nowy projekt lub wybierz istniejący 3. Włącz następujące API: - [Gmail API](https://console.cloud.google.com/apis/library/gmail.googleapis.com) - [Google Calendar API](https://console.cloud.google.com/apis/library/calendar-json.googleapis.com) - [People API](https://console.cloud.google.com/apis/library/people.googleapis.com) ### Konfiguracja OAuth 1. Przejdź do [Poświadczeń](https://console.cloud.google.com/apis/credentials) 2. Utwórz ID klienta OAuth 2.0 3. Dodaj te URI przekierowania: - `https://{your-domain}/auth/google/redirect` (for SSO) - `https://{your-domain}/auth/google-apis/get-access-token` (for integrations) ### Konfiguracja w Twenty 1. Przejdź do **Ustawienia → Panel Admina → Zmienne Konfiguracji** 2. Znajdź sekcję **Google Auth** 3. Ustaw te zmienne: - `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` **Environment-only mode:** If you set `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, add these variables to your `.env` file instead. **Wymagane zakresy** (automatycznie konfigurowane): [Zobacz odpowiedni kod źródłowy](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` ### Jeśli twoja aplikacja jest w trybie testowym Jeśli twoja aplikacja jest w trybie testowym, musisz dodać użytkowników testowych do swojego projektu. Pod [ekranem zgody OAuth](https://console.cloud.google.com/apis/credentials/consent), dodaj swoich użytkowników testowych do sekcji "Użytkownicy testowi". ## Integracja z Microsoft 365 Użytkownicy muszą mieć [licencję Microsoft 365](https://admin.microsoft.com/Adminportal/Home), aby móc korzystać z API Kalendarza i Wiadomości. Nie będą mogli zsynchronizować swojego konta na Twenty bez niej. ### Utwórz projekt w Microsoft Azure Będziesz musiał utworzyć projekt w [Microsoft Azure](https://portal.azure.com/#view/Microsoft_AAD_IAM/AppGalleryBladeV2) i uzyskać poświadczenia. ### Włącz API W Microsoft Azure Console włącz następujące API w "Uprawnienia": - 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 Note: "Mail.ReadWrite" and "Mail.Send" are only mandatory if you want to send emails using our workflow actions. Możesz zamiast tego używać "Mail.Read", jeśli chcesz tylko otrzymywać e-maile. ### Upoważnione URI przekierowania Musisz dodać następujące URI przekierowania do swojego projektu: - `https://{your-domain}/auth/microsoft/redirect` if you want to use Microsoft SSO - `https://{your-domain}/auth/microsoft-apis/get-access-token` ### Konfiguracja w Twenty 1. Przejdź do **Ustawienia → Panel Admina → Zmienne Konfiguracji** 2. Znajdź sekcję **Microsoft Auth** 3. Ustaw te zmienne: - `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` **Environment-only mode:** If you set `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, add these variables to your `.env` file instead. ### Konfiguracja zakresów [Zobacz odpowiedni kod źródłowy](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' - 'e-mail' - 'profil' - 'offline_access' - 'Mail.ReadWrite' - 'Mail.Send' - 'Calendars.Read' ### Jeśli twoja aplikacja jest w trybie testowym Jeśli twoja aplikacja jest w trybie testowym, musisz dodać użytkowników testowych do swojego projektu. Dodaj swoich użytkowników testowych do sekcji "Użytkownicy i grupy". ## Zadania w tle dla Kalendarza i Wiadomości Po skonfigurowaniu integracji z Gmail, Kalendarzem Google lub Microsoft 365, musisz uruchomić zadania w tle, które synchronizują dane. Register the following recurring jobs in your worker container: ```bash # 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 ``` ## Konfiguracja Email 1. Przejdź do **Ustawienia → Panel Admina → Zmienne Konfiguracji** 2. Znajdź sekcję **E-mail** 3. Skonfiguruj swoje ustawienia SMTP: Będziesz musiał utworzyć [Hasło Aplikacji](https://support.google.com/accounts/answer/185833). - EMAIL_DRIVER=smtp - EMAIL_SMTP_HOST=smtp.gmail.com - EMAIL_SMTP_PORT=465 - EMAIL_SMTP_USER=gmail_email_address - EMAIL_SMTP_PASSWORD='gmail_app_password' Pamiętaj, że jeśli masz włączone 2FA, będziesz musiał utworzyć [Hasło Aplikacji](https://support.microsoft.com/en-us/account-billing/manage-app-passwords-for-two-step-verification-d6dc8c6d-4bf7-4851-ad95-6d07799387e9). - EMAIL_DRIVER=smtp - EMAIL_SMTP_HOST=smtp.office365.com - EMAIL_SMTP_PORT=587 - EMAIL_SMTP_USER=office365_email_address - EMAIL_SMTP_PASSWORD='office365_password' **smtp4dev** to fałszywy serwer poczty SMTP do rozwoju i testowania. - Uruchom obraz smtp4dev: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev` - Uzyskaj dostęp do interfejsu smtp4dev tutaj: [http://localhost:8090](http://localhost:8090) - Ustaw następujące zmienne: - EMAIL_DRIVER=smtp - EMAIL_SMTP_HOST=localhost - EMAIL_SMTP_PORT=2525 **Environment-only mode:** If you set `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, add these variables to your `.env` file instead.