> ## Documentation Index
> Fetch the complete documentation index at: https://docs.get-clara.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Configurare

# Gestionarea configurației

<Warning>
  **Prima instalare?** Urmați [ghidul de instalare Docker Compose](/l/ro/developers/self-host/capabilities/docker-compose) pentru a rula Twenty, apoi reveniți aici pentru configurare.
</Warning>

Twenty oferă **două moduri de configurare** pentru a se potrivi nevoilor diferite de implementare:

**Acces la panoul de administrare:** Doar utilizatorii cu privilegii de administrator (`canAccessFullAdminPanel: true`) pot accesa interfața de configurare.

## 1. Configurare Panou Admin (Implicită)

```bash theme={null}
IS_CONFIG_VARIABLES_IN_DB_ENABLED=true  # implicit
```

**Majoritatea configurărilor se fac prin UI** după instalare:

1. Accesați instanța dumneavoastră Twenty (de obicei `http://localhost:3000`)
2. Mergeți la **Setări / Panou Admin / Variabile de Configurare**
3. Configurați integrările, e-mailul, stocarea și multe altele
4. Schimbările intră în vigoare imediat (în termen de 15 secunde pentru implementări cu mai multe containere)

<Warning>
  **Implementări Multi-Container:** Când utilizați configurarea bazei de date (`IS_CONFIG_VARIABLES_IN_DB_ENABLED=true`), atât serverul cât și containerele worker citesc din aceeași bază de date. Modificările din panoul de administrare afectează ambele automat, eliminând necesitatea duplicării variabilelor de mediu între containere (cu excepția variabilelor de infrastructură).
</Warning>

**Ce puteți configura prin panoul de administrare:**

* **Autentificare** - OAuth Google/Microsoft, setări parole
* **E-mail** - setări SMTP, șabloane, verificare
* **Stocare** - configurație S3, căi stocare locală
* **Integrări** - Gmail, Google Calendar, servicii Microsoft
* **Flux de lucru și limitarea ratei** - limite de execuție, limitarea ratei pentru API
* **Și multe altele...**

<img src="https://mintcdn.com/clara-1b8b12e1/sHXKG8rWt8DAIbvx/images/user-guide/setup/admin-panel-config-variables.png?fit=max&auto=format&n=sHXKG8rWt8DAIbvx&q=85&s=e02a0f2b3f241bc00ff09513600b0ea2" alt="Variabile de Configurare Panou Admin" width="3024" height="1645" data-path="images/user-guide/setup/admin-panel-config-variables.png" />

<Warning>
  Fiecare variabilă este documentată cu descrieri în panoul dvs. de administrare la **Setări → Panou Admin → Variabile de Configurare**.
  Unele setări de infrastructură, cum ar fi conexiunile la baze de date (`PG_DATABASE_URL`), URL-urile serverului (`SERVER_URL`), și secretele aplicației (`APP_SECRET`) pot fi configurate doar prin fișierul `.env`.

  [Referință tehnică completă →](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts)
</Warning>

## 2. Configurare Doar Mediu

```bash theme={null}
IS_CONFIG_VARIABLES_IN_DB_ENABLED=false
```

**Toate configurațiile gestionate prin fișiere `.env`:**

1. Setați `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false` în fișierul dvs. `.env`
2. Adăugați toate variabilele de configurare în fișierul dvs. `.env`
3. Reporniți containerele pentru ca schimbările să aibă efect
4. Panoul de administrare va afișa valorile curente, dar nu le poate modifica

## Mod cu mai multe spații de lucru

În mod implicit, Twenty rulează în **modul cu un singur spațiu de lucru** — ideal pentru majoritatea implementărilor auto-găzduite în care aveți nevoie de o singură instanță CRM pentru organizația dvs.

### Modul cu un singur spațiu de lucru (implicit)

```bash theme={null}
IS_MULTIWORKSPACE_ENABLED=false  # default
```

* Un spațiu de lucru pentru fiecare instanță Twenty
* Primul utilizator devine automat administrator cu privilegii complete (`canImpersonate` și `canAccessFullAdminPanel`)
* Înregistrările noi sunt dezactivate după crearea primului spațiu de lucru
* Structură URL simplă: `https://your-domain.com`

### Activarea modului cu mai multe spații de lucru

```bash theme={null}
IS_MULTIWORKSPACE_ENABLED=true
DEFAULT_SUBDOMAIN=app  # default value
```

Activați modul cu mai multe spații de lucru pentru implementări de tip SaaS, în care mai multe echipe independente au nevoie de propriile spații de lucru pe aceeași instanță Twenty.

**Diferențe cheie față de modul cu un singur spațiu de lucru:**

* Pe aceeași instanță pot fi create mai multe spații de lucru
* Fiecare spațiu de lucru primește propriul subdomeniu (de ex., `sales.your-domain.com`, `marketing.your-domain.com`)
* Utilizatorii se înregistrează și se autentifică la `{DEFAULT_SUBDOMAIN}.your-domain.com` (de ex., `app.your-domain.com`)
* Fără privilegii administrative automate — primul utilizator din fiecare spațiu de lucru este un utilizator obișnuit
* Setări specifice spațiului de lucru, precum subdomeniu și domeniu personalizat, devin disponibile în setările spațiului de lucru

<Warning>
  **Setare exclusiv de mediu:** `IS_MULTIWORKSPACE_ENABLED` poate fi configurată doar prin fișierul `.env` și necesită o repornire. Nu poate fi modificată prin panoul de administrare.
</Warning>

### Configurarea DNS pentru modul cu mai multe spații de lucru

Când folosiți modul cu mai multe spații de lucru, configurați DNS-ul cu o înregistrare wildcard pentru a permite crearea dinamică de subdomenii:

```
*.your-domain.com -> your-server-ip
```

Acest lucru permite rutarea automată a subdomeniilor pentru spațiile de lucru noi, fără configurare DNS manuală.

### Restricționarea creării de spații de lucru

În modul cu mai multe spații de lucru, este posibil să doriți să limitați cine poate crea spații de lucru noi:

```bash theme={null}
IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS=true
```

Când este activată, doar utilizatorii cu `canAccessFullAdminPanel` pot crea spații de lucru suplimentare. Utilizatorii își pot crea în continuare primul spațiu de lucru în timpul înregistrării inițiale.

## Integrare Gmail & Google Calendar

### Creați Proiect Google Cloud

1. Mergeți la [Google Cloud Console](https://console.cloud.google.com/)
2. Creați un proiect nou sau selectați unul existent
3. Activați aceste API-uri:

* [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)

### Configurați OAuth

1. Mergeți la [Credentials](https://console.cloud.google.com/apis/credentials)
2. Creați Client ID OAuth 2.0
3. Adăugați aceste URI-uri de redirecționare:
   * `https://{your-domain}/auth/google/redirect` (pentru SSO)
   * `https://{your-domain}/auth/google-apis/get-access-token` (pentru integrări)

### Configurați în Twenty

1. Mergeți la **Setări → Panou Admin → Variabile de Configurare**
2. Găsiți secțiunea **Autentificare Google**
3. Setați aceste variabile:
   * `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`

<Warning>
  **Mod doar pentru mediu:** Dacă setați `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, adăugați aceste variabile în fișierul dvs. `.env` în schimb.
</Warning>

**Domenii necesare** (configurate automat):
[Consultați codul sursă relevant](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`

### Dacă aplicația dvs. este în modul de test

Dacă aplicația dvs. este în modul de test, va trebui să adăugați utilizatori de test în proiectul dvs.

În [ecranul de consimțământ OAuth](https://console.cloud.google.com/apis/credentials/consent), adăugați utilizatorii dvs. de test în secțiunea "Utilizatori de test".

## Integrare Microsoft 365

<Warning>
  Utilizatorii trebuie să aibă un [Licență Microsoft 365](https://admin.microsoft.com/Adminportal/Home) pentru a putea utiliza API-ul Calendar și Mesagerie. Nu vor putea sincroniza contul lor pe Twenty fără una.
</Warning>

### Creați un proiect în Microsoft Azure

Va trebui să creați un proiect în [Microsoft Azure](https://portal.azure.com/#view/Microsoft_AAD_IAM/AppGalleryBladeV2) și să obțineți acreditările.

### Activați API-urile

În Microsoft Azure Console activați următoarele API-uri în "Permisiuni":

* Graph Microsoft: Mail.ReadWrite
* Graph Microsoft: Mail.Send
* Graph Microsoft: Calendars.Read
* Graph Microsoft: User.Read
* Graph Microsoft: openid
* Graph Microsoft: email
* Graph Microsoft: profile
* Graph Microsoft: offline\_access

Notă: "Mail.ReadWrite" și "Mail.Send" sunt obligatorii doar dacă doriți să trimiteți e-mailuri utilizând acțiunile noastre de flux de lucru. Puteți utiliza "Mail.Read" dacă doriți doar să primiți e-mailuri.

### URIs de redirecționare autorizate

Trebuie să adăugați următoarele URI-uri de redirecționare în proiectul dvs.:

* `https://{your-domain}/auth/microsoft/redirect` dacă doriți să utilizați SSO Microsoft
* `https://{your-domain}/auth/microsoft-apis/get-access-token`

### Configurați în Twenty

1. Mergeți la **Setări → Panou Admin → Variabile de Configurare**
2. Găsiți secțiunea **Autentificare Microsoft**
3. Setați aceste variabile:
   * `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`

<Warning>
  **Mod doar pentru mediu:** Dacă setați `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, adăugați aceste variabile în fișierul dvs. `.env` în schimb.
</Warning>

### Configurați scopurile

[Consultați codul sursă relevant](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'
* 'email'
* 'profil'
* 'offline\_access'
* 'Mail.ReadWrite'
* 'Mail.Send'
* 'Calendars.Read'

### Dacă aplicația dvs. este în modul de test

Dacă aplicația dvs. este în modul de test, va trebui să adăugați utilizatori de test în proiectul dvs.

Adăugați utilizatorii de test în secțiunea "Utilizatori și grupuri".

## Procese în fundal pentru Calendar și Mesagerie

După configurarea integrărilor Gmail, Google Calendar, sau Microsoft 365, trebuie să porniți joburile de fundal care sincronizează datele.

Înregistrați următoarele joburi recurente în containerul dvs. worker:

```bash theme={null}
# 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
```

## Configurare Email

1. Mergeți la **Setări → Panou Admin → Variabile de Configurare**
2. Găsiți secțiunea **Email**
3. Configurați setările dvs. SMTP:

<ArticleTabs label1="Gmail" label2="Office365" label3="Smtp4dev">
  <ArticleTab>
    Va trebui să provisionați o [Parolă de Aplicație](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'
  </ArticleTab>

  <ArticleTab>
    **smtp4dev** este un server SMTP fals pentru dezvoltare și testare.

    * EMAIL\_DRIVER=smtp
    * EMAIL\_SMTP\_HOST=smtp.office365.com
    * EMAIL\_SMTP\_PORT=587
    * EMAIL\_SMTP\_USER=office365\_email\_address
    * EMAIL\_SMTP\_PASSWORD='office365\_password'
  </ArticleTab>

  <ArticleTab>
    **smtp4dev** este un server SMTP fals pentru dezvoltare și testare.

    * Rulați imaginea smtp4dev: `docker run --rm -it -p 8090:80 -p 2525:25 rnwood/smtp4dev`
    * Accesați interfața smtp4dev aici: [http://localhost:8090](http://localhost:8090)
    * Setați următoarele variabile:
      * EMAIL\_DRIVER=smtp
      * EMAIL\_SMTP\_HOST=localhost
      * EMAIL\_SMTP\_PORT=2525
  </ArticleTab>
</ArticleTabs>

<Warning>
  **Mod doar pentru mediu:** Dacă setați `IS_CONFIG_VARIABLES_IN_DB_ENABLED=false`, adăugați aceste variabile în fișierul dvs. `.env` în schimb.
</Warning>

## Stocare S3

<Warning>
  În mod implicit, Twenty stochează fișierele încărcate în sistemul de fișiere local. Pentru implementări în producție, utilizați S3 sau un serviciu compatibil cu S3 (MinIO, DigitalOcean Spaces etc.). pentru a vă asigura că fișierele persistă între repornirile containerelor și se scalează pe mai multe instanțe de server.
</Warning>

Setați `STORAGE_TYPE=S_3` și configurați variabilele `STORAGE_S3_*` prin panoul de administrare sau `.env`. Consultați [referința config-variables.ts](https://github.com/twentyhq/twenty/blob/main/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts) pentru lista completă a variabilelor S3.

Când utilizați S3 cu funcționalități dependente de CORS (de ex., descărcări de fișiere în browser), asigurați-vă că bucketul permite originea frontend-ului Twenty în configurația sa CORS.

## Funcții logice și interpretor de cod

Twenty acceptă funcții logice pentru fluxuri de lucru și interpretorul de cod pentru analiza datelor cu AI. Ambele rulează cod furnizat de utilizator și necesită o configurare explicită din motive de securitate.

### Valori implicite de securitate

**În producție (NODE\_ENV=production):** Atât funcțiile logice, cât și interpretorul de cod au implicit valoarea **Dezactivat**. Trebuie să le activezi explicit cu `LOGIC_FUNCTION_TYPE` și `CODE_INTERPRETER_TYPE` dacă ai nevoie de aceste funcționalități.

**În dezvoltare (NODE\_ENV=development):** Ambele au implicit valoarea **LOCAL** pentru comoditate când rulezi local.

<Warning>
  **Atenționare de securitate:** Driverul local (`LOGIC_FUNCTION_TYPE=LOCAL` sau `CODE_INTERPRETER_TYPE=LOCAL`) rulează codul direct pe gazdă într-un proces Node.js, fără sandboxing. Ar trebui utilizat doar pentru cod de încredere, în dezvoltare. Pentru implementări în producție care gestionează cod neverificat, folosiți `LOGIC_FUNCTION_TYPE=LAMBDA` sau `CODE_INTERPRETER_TYPE=E2B` (cu sandboxing) ori păstrați-le dezactivate.
</Warning>

### Funcții logice - Drivere disponibile

| Driver     | Variabilă de mediu             | Caz de utilizare                      | Nivel de securitate                    |
| ---------- | ------------------------------ | ------------------------------------- | -------------------------------------- |
| Dezactivat | `LOGIC_FUNCTION_TYPE=DISABLED` | Dezactivează complet funcțiile logice | N/A                                    |
| Local      | `LOGIC_FUNCTION_TYPE=LOCAL`    | Dezvoltare și medii de încredere      | Scăzut (fără sandboxing)               |
| Lambda     | `LOGIC_FUNCTION_TYPE=LAMBDA`   | Producție cu cod neverificat          | Ridicat (izolare la nivel de hardware) |

### Funcții logice - Configurare recomandată

**Pentru dezvoltare:**

```bash theme={null}
LOGIC_FUNCTION_TYPE=LOCAL  # default when NODE_ENV=development
```

**Pentru producție (AWS):**

```bash theme={null}
LOGIC_FUNCTION_TYPE=LAMBDA
LOGIC_FUNCTION_LAMBDA_REGION=us-east-1
LOGIC_FUNCTION_LAMBDA_ROLE=arn:aws:iam::123456789:role/your-lambda-role
LOGIC_FUNCTION_LAMBDA_ACCESS_KEY_ID=your-access-key
LOGIC_FUNCTION_LAMBDA_SECRET_ACCESS_KEY=your-secret-key
```

**Pentru a dezactiva funcțiile logice:**

```bash theme={null}
LOGIC_FUNCTION_TYPE=DISABLED  # default when NODE_ENV=production
```

### Interpretor de cod - Drivere disponibile

| Driver     | Variabilă de mediu               | Caz de utilizare                         | Nivel de securitate      |
| ---------- | -------------------------------- | ---------------------------------------- | ------------------------ |
| Dezactivat | `CODE_INTERPRETER_TYPE=DISABLED` | Dezactivați execuția codului de către AI | N/A                      |
| Local      | `CODE_INTERPRETER_TYPE=LOCAL`    | Doar pentru dezvoltare                   | Scăzut (fără sandboxing) |
| E2B        | `CODE_INTERPRETER_TYPE=E_2_B`    | Producție cu execuție în sandbox         | Ridicat (sandbox izolat) |

<Note>
  Când utilizați `LOGIC_FUNCTION_TYPE=DISABLED` sau `CODE_INTERPRETER_TYPE=DISABLED`, orice încercare de execuție va returna o eroare. Acest lucru este util dacă doriți să rulați Twenty fără aceste capabilități.
</Note>
