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

# Server local

> Gestionează serverul Twenty Docker local — pornește, oprește, actualizează, rulează o instanță de testare în paralel și configurează manual SDK-ul.

## Gestionarea serverului local

Folosiți `yarn twenty docker:*` pentru a controla containerul Twenty local:

| Comandă                                | Ce face                                                      |
| -------------------------------------- | ------------------------------------------------------------ |
| `yarn twenty docker:start`             | Pornește serverul (descarcă imaginea dacă este necesar)      |
| `yarn twenty docker:start 2.2.0`       | Pornește o anumită versiune a serverului                     |
| `yarn twenty docker:start --port 3030` | Pornește pe un port personalizat                             |
| `yarn twenty docker:stop`              | Oprește serverul (păstrează datele)                          |
| `yarn twenty docker:status`            | Afișează URL-ul, versiunea și credențialele de autentificare |
| `yarn twenty docker:logs`              | Transmite în flux jurnalele serverului                       |
| `yarn twenty docker:reset`             | Șterge datele și pornește de la zero                         |
| `yarn twenty docker:upgrade`           | Descarcă cea mai recentă imagine `twenty-app-dev`            |
| `yarn twenty docker:upgrade 2.2.0`     | Actualizează la o versiune specifică                         |

Datele persistă între reporniri în două volume Docker (`twenty-app-dev-data` pentru PostgreSQL, `twenty-app-dev-storage` pentru fișiere). Folosiți `reset` pentru a șterge totul.

## Fixarea versiunii serverului

Când nu este transmisă nicio versiune, `docker:start` rezolvă versiunea din intervalul `engines.twenty` al aplicației tale din `package.json` — același interval față de care serverul validează când aplicația ta este instalată. Pornește cea mai nouă imagine publicată `twenty-app-dev` care satisface intervalul, revenind la `latest` atunci când câmpul lipsește sau nicio versiune publicată nu se potrivește:

```json filename="package.json" theme={null}
{
  "engines": {
    "twenty": ">=2.2.0"
  }
}
```

Transmite explicit o versiune pentru a suprascrie intervalul pentru o singură rulare: `yarn twenty docker:start 2.3.0`. Dacă un container există deja pe o versiune diferită, `docker:start` îl actualizează pe loc (recreând containerul, dar păstrând volumele tale de date).

## Actualizarea imaginii serverului

`yarn twenty docker:upgrade` descarcă cea mai recentă imagine, compară digest-urile și recreează containerul doar dacă s-a schimbat ceva. Volumele de date sunt păstrate — doar containerul este înlocuit. Dacă a fost descărcată o imagine nouă și containerul rula, actualizarea pornește automat un container nou; rulați apoi `yarn twenty docker:start` pentru a aștepta până când devine funcțional.

```bash filename="Terminal" theme={null}
yarn twenty docker:upgrade            # Latest
yarn twenty docker:upgrade 2.2.0      # Specific version
```

Puteți verifica versiunea care rulează cu `yarn twenty docker:status` (aceasta afișează `APP_VERSION` încorporat în container).

## Rularea unei instanțe de test în paralel

Adăugați `--test` la orice comandă `docker:*` pentru a gestiona o a doua instanță, complet izolată — utilă pentru teste de integrare sau pentru a experimenta fără a atinge datele principale de dezvoltare:

| Comandă                             | Ce face                                             |
| ----------------------------------- | --------------------------------------------------- |
| `yarn twenty docker:start --test`   | Pornește instanța de test (implicit pe portul 2021) |
| `yarn twenty docker:stop --test`    | Oprește-o                                           |
| `yarn twenty docker:status --test`  | Afișează-i starea                                   |
| `yarn twenty docker:logs --test`    | Transmite în flux jurnalele sale                    |
| `yarn twenty docker:reset --test`   | Șterge-i datele                                     |
| `yarn twenty docker:upgrade --test` | Actualizează-i imaginea                             |

Instanța de test are propriul container (`twenty-app-dev-test`), propriile volume (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) și propria configurație — rulează alături de instanța principală, fără conflicte. Combinați `--test` cu `--port` pentru a înlocui portul 2021.

## Configurare manuală (fără generator)

Săriți peste generatorul de schelet dacă adăugați SDK-ul într-un proiect existent:

```bash filename="Terminal" theme={null}
yarn add twenty-sdk twenty-client-sdk
```

Adăugați scriptul în `package.json`:

```json filename="package.json" theme={null}
{
  "scripts": {
    "twenty": "twenty"
  }
}
```

Acum puteți rula `yarn twenty dev`, `yarn twenty docker:start` și restul.

<Note>
  Nu instalați `twenty-sdk` global — fixați-l per proiect astfel încât fiecare aplicație să folosească propria versiune.
</Note>
