---
title: Lokaler Server
description: Den lokalen Twenty Docker-Server verwalten – starten, stoppen, aktualisieren, parallele Testinstanz und manuelle SDK-Einrichtung.
icon: server
---

## Lokalen Server verwalten

Verwenden Sie `yarn twenty docker:*`, um den lokalen Twenty-Container zu steuern:

| Befehl                                 | Was es tut                                          |
| -------------------------------------- | --------------------------------------------------- |
| `yarn twenty docker:start`             | Server starten (lädt das Image bei Bedarf herunter) |
| `yarn twenty docker:start 2.2.0`       | Eine bestimmte Serverversion starten                |
| `yarn twenty docker:start --port 3030` | Auf einem benutzerdefinierten Port starten          |
| `yarn twenty docker:stop`              | Server stoppen (Daten bleiben erhalten)             |
| `yarn twenty docker:status`            | URL, Version und Anmeldedaten anzeigen              |
| `yarn twenty docker:logs`              | Serverprotokolle streamen                           |
| `yarn twenty docker:reset`             | Alle Daten löschen und neu starten                  |
| `yarn twenty docker:upgrade`           | Das neueste `twenty-app-dev`-Image herunterladen    |
| `yarn twenty docker:upgrade 2.2.0`     | Auf eine bestimmte Version aktualisieren            |

Daten bleiben über Neustarts hinweg in zwei Docker-Volumes bestehen (`twenty-app-dev-data` für PostgreSQL, `twenty-app-dev-storage` für Dateien). Verwenden Sie `reset`, um alles zu löschen.

## Serverversion fixieren

Wenn keine Version übergeben wird, ermittelt `docker:start` die Version aus dem `engines.twenty`-Bereich deiner App in der `package.json` – derselbe Bereich, gegen den der Server beim Installieren deiner App validiert. Es startet das neueste veröffentlichte `twenty-app-dev`-Image, das den Bereich erfüllt, und greift auf `latest` zurück, wenn das Feld fehlt oder keine veröffentlichte Version übereinstimmt:

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

Gib eine Version explizit an, um den Bereich für einen einzelnen Lauf zu überschreiben: `yarn twenty docker:start 2.3.0`. Wenn bereits ein Container mit einer anderen Version existiert, aktualisiert `docker:start` ihn direkt (der Container wird neu erstellt, während deine Daten-Volumes erhalten bleiben).

## Aktualisieren des Server-Images

`yarn twenty docker:upgrade` lädt das neueste Image herunter, vergleicht die Digests und erstellt den Container nur neu, wenn sich tatsächlich etwas geändert hat. Die Volumes bleiben erhalten — nur der Container wird ersetzt. Wenn ein neues Image heruntergeladen wurde und der Container lief, startet das Upgrade automatisch einen neuen Container; führen Sie anschließend `yarn twenty docker:start` aus, um zu warten, bis er betriebsbereit ist.

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

Überprüfen Sie die laufende Version mit `yarn twenty docker:status` (dies zeigt die im Container enthaltene `APP_VERSION` an).

## Eine parallele Testinstanz ausführen

Übergeben Sie `--test` an jeden `docker:*`-Befehl, um eine zweite, vollständig isolierte Instanz zu verwalten — nützlich für Integrationstests oder Experimente, ohne Ihre Hauptentwicklungsdaten anzutasten:

| Befehl                              | Was es tut                                        |
| ----------------------------------- | ------------------------------------------------- |
| `yarn twenty docker:start --test`   | Die Testinstanz starten (standardmäßig Port 2021) |
| `yarn twenty docker:stop --test`    | Anhalten                                          |
| `yarn twenty docker:status --test`  | Status anzeigen                                   |
| `yarn twenty docker:logs --test`    | Protokolle streamen                               |
| `yarn twenty docker:reset --test`   | Daten löschen                                     |
| `yarn twenty docker:upgrade --test` | Image aktualisieren                               |

Die Testinstanz hat ihren eigenen Container (`twenty-app-dev-test`), eigene Volumes (`twenty-app-dev-test-data`, `twenty-app-dev-test-storage`) und eine eigene Konfiguration — sie läuft parallel zu Ihrer Hauptinstanz ohne Konflikte. Kombinieren Sie `--test` mit `--port`, um den Port 2021 zu überschreiben.

## Manuelle Einrichtung (ohne Scaffolding-Tool)

Überspringen Sie das Scaffolding-Tool, wenn Sie das SDK zu einem bestehenden Projekt hinzufügen:

```bash filename="Terminal"
yarn add twenty-sdk twenty-client-sdk
```

Fügen Sie der `package.json` das Skript hinzu:

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

Sie können jetzt `yarn twenty dev`, `yarn twenty docker:start` und den Rest ausführen.

<Note>
Installieren Sie `twenty-sdk` nicht global — fixieren Sie es pro Projekt, damit jede App ihre eigene Version verwendet.
</Note>
