> ## 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.

# Serveur local

> Gérez le serveur Docker local de Twenty — démarrage, arrêt, mise à niveau, instance de test parallèle et configuration manuelle du SDK.

## Gestion du serveur local

Utilisez `yarn twenty docker:*` pour contrôler le conteneur Twenty local :

| Commande                               | Ce que cela fait                                           |
| -------------------------------------- | ---------------------------------------------------------- |
| `yarn twenty docker:start`             | Démarre le serveur (récupère l’image si nécessaire)        |
| `yarn twenty docker:start 2.2.0`       | Démarrer une version spécifique du serveur                 |
| `yarn twenty docker:start --port 3030` | Démarre sur un port personnalisé                           |
| `yarn twenty docker:stop`              | Arrête le serveur (préserve les données)                   |
| `yarn twenty docker:status`            | Affiche l’URL, la version et les identifiants de connexion |
| `yarn twenty docker:logs`              | Diffuse les journaux du serveur                            |
| `yarn twenty docker:reset`             | Efface les données et repart de zéro                       |
| `yarn twenty docker:upgrade`           | Récupère la dernière image `twenty-app-dev`                |
| `yarn twenty docker:upgrade 2.2.0`     | Met à niveau vers une version spécifique                   |

Les données sont conservées entre les redémarrages dans deux volumes Docker (`twenty-app-dev-data` pour PostgreSQL, `twenty-app-dev-storage` pour les fichiers). Utilisez `reset` pour tout effacer.

## Figer la version du serveur

Lorsqu’aucune version n’est fournie, `docker:start` résout la version à partir de la plage `engines.twenty` de votre `package.json` — la même plage que le serveur utilise pour la validation lors de l’installation de votre application. Il démarre l’image `twenty-app-dev` la plus récente publiée qui satisfait la plage, et revient à `latest` lorsque le champ est absent ou qu’aucune version publiée ne correspond :

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

Passez explicitement une version pour remplacer la plage pour une seule exécution : `yarn twenty docker:start 2.3.0`. Si un conteneur existe déjà avec une version différente, `docker:start` le met à niveau sur place (en recréant le conteneur tout en préservant vos volumes de données).

## Mise à niveau de l’image du serveur

`yarn twenty docker:upgrade` récupère la dernière image, compare les empreintes et ne recrée le conteneur que si quelque chose a réellement changé. Les volumes sont conservés — seul le conteneur est remplacé. Si une nouvelle image a été récupérée et que le conteneur était en cours d’exécution, la mise à niveau démarre automatiquement un nouveau conteneur ; exécutez ensuite `yarn twenty docker:start` pour attendre qu’il devienne opérationnel.

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

Vérifiez la version en cours d’exécution avec `yarn twenty docker:status` (elle affiche la valeur de `APP_VERSION` intégrée au conteneur).

## Exécuter une instance de test parallèle

Passez `--test` à n’importe quelle commande `docker:*` pour gérer une deuxième instance totalement isolée — utile pour les tests d’intégration ou pour expérimenter sans toucher à vos données de développement principales :

| Commande                            | Ce que cela fait                                  |
| ----------------------------------- | ------------------------------------------------- |
| `yarn twenty docker:start --test`   | Démarre l’instance de test (port 2021 par défaut) |
| `yarn twenty docker:stop --test`    | L’arrête                                          |
| `yarn twenty docker:status --test`  | Affiche son statut                                |
| `yarn twenty docker:logs --test`    | Diffuse ses journaux                              |
| `yarn twenty docker:reset --test`   | Efface ses données                                |
| `yarn twenty docker:upgrade --test` | Met à niveau son image                            |

L’instance de test possède son propre conteneur (`twenty-app-dev-test`), ses volumes (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) et sa configuration — elle s’exécute parallèlement à votre instance principale sans conflits. Combinez `--test` avec `--port` pour remplacer le port 2021.

## Configuration manuelle (sans le générateur)

Ignorez le générateur si vous ajoutez le SDK à un projet existant :

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

Ajoutez le script à `package.json` :

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

Vous pouvez maintenant exécuter `yarn twenty dev`, `yarn twenty docker:start` et le reste.

<Note>
  N’installez pas `twenty-sdk` globalement — figez-le par projet afin que chaque application utilise sa propre version.
</Note>
