--- title: Server local description: Gestionează serverul Twenty Docker local — pornește, oprește, actualizează, rulează o instanță de testare în paralel și configurează manual SDK-ul. icon: server --- ## 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" { "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" 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" yarn add twenty-sdk twenty-client-sdk ``` Adăugați scriptul în `package.json`: ```json filename="package.json" { "scripts": { "twenty": "twenty" } } ``` Acum puteți rula `yarn twenty dev`, `yarn twenty docker:start` și restul. Nu instalați `twenty-sdk` global — fixați-l per proiect astfel încât fiecare aplicație să folosească propria versiune.