3.3 KiB
Update-Anleitung
Diese Anleitung beschreibt, wie du eine bestehende Installation auf den neuesten Stand bringst – ohne Daten zu verlieren und ohne alles neu aufsetzen zu müssen.
Hinweis: Alle persistenten Daten (Konfiguration, Tracks, Datenbanken, Logs) liegen im Ordner
./data/und werden bei einem Update nicht berührt.
1. Repository aktualisieren
Wechsle in den Projektordner und lade die neuesten Änderungen:
git pull
Damit werden aktualisierte Konfigurationsdateien, Skripte und Dokumentation aus dem Repository übernommen.
2. Neue Umgebungsvariablen prüfen
Mit neuen Versionen können neue Variablen in der .env.example hinzugekommen sein. Deine persönliche .env-Datei wird dabei nicht überschrieben – du musst neue Variablen manuell nachtragen.
Vergleiche .env.example mit deiner .env, um fehlende Einträge zu finden:
diff .env.example .env
Zeilen, die in .env.example vorhanden sind, aber nicht in deiner .env, erscheinen mit < am Anfang. Diese solltest du in deine .env übernehmen und die Werte anpassen.
Tipp: Neue Variablen haben in der Regel sinnvolle Standardwerte, die du oft einfach übernehmen kannst. Achte nur auf sicherheitsrelevante Werte wie Passwörter.
3. Docker Image aktualisieren
Lade das neueste Image aus der Registry:
docker compose pull
4. Container neu starten
Starte die Container mit dem neuen Image neu. Docker Compose erkennt automatisch, ob ein Rebuild nötig ist:
docker compose up -d
Hinweis: Wenn sich die
docker-compose.ymlgeändert hat (z.B. neue Services oder geänderte Konfiguration), werden betroffene Container automatisch neu erstellt. Deine Daten in./data/bleiben dabei vollständig erhalten.
Zusammenfassung
# Im Projektordner ausführen:
git pull
docker compose pull
docker compose up -d
Das war's – der Server läuft jetzt auf dem neuesten Stand.
Was passiert mit meinen Daten?
| Ordner | Inhalt | Beim Update |
|---|---|---|
./data/gamedata/ |
TM-Server-Daten, Konfiguration, Tracks | Bleibt erhalten |
./data/controlpanel/ |
AdminServ- und RemoteCP-Daten | Bleibt erhalten |
./data/xaseco/ |
XAseco-Konfiguration und Logs | Bleibt erhalten |
./data/mariadb/ |
Datenbankdateien | Bleibt erhalten |
.env |
Deine Umgebungsvariablen | Wird nicht überschrieben |
Häufige Situationen
Neue Umgebungsvariable hat keinen Effekt
Einige Variablen (z.B. SERVER_SA_PASSWORD) werden nur beim ersten Start in die dedicated_cfg.txt geschrieben. Falls du eine neue Variable nachträglich setzen möchtest, kannst du das erzwingen:
# In der .env setzen:
FORCE_CONFIG_UPDATE=true
Dann Container neu starten. Danach unbedingt wieder auf false setzen, damit manuelle Änderungen erhalten bleiben. Weitere Details unter Konfiguration.
Welches Image-Tag wird verwendet?
In der docker-compose.yml ist das Image-Tag angegeben (z.B. 1.3.2 oder latest). Du kannst auf latest umstellen, um immer automatisch das neueste Image zu bekommen:
image: git.techniverse.net/scriptos/trackmania-server:latest
Alle verfügbaren Tags findest du in der Container-Registry.