TargetShot Logo TargetShot Setup

TS-Connect · Aktuelle Einrichtung

Selbst gehostete Beta · Stand März 2026

Diese Seite fasst den aktuellen Einstieg für TargetShot Connect zusammen. Maßgeblich ist das Repository-Modell mit .env, Docker Compose, separatem Update-Agent und optionalem Host-Agent für Betriebssystemaufgaben.

1. Repository klonen

TS-Connect wird derzeit aus dem öffentlichen Repository bereitgestellt. Der aktuelle Einstieg beginnt mit dem Checkout von targetshot/connector.

git clone https://github.com/targetshot/connector.git
cd connector
cp .env.example .env

Der alte Bundle-, Mail- oder compose.env-Flow ist nicht mehr der aktuelle Standard.

2. Voraussetzungen prüfen

Für den aktuellen Betrieb werden ein Linux-Host, Docker Compose und ein sauber gepflegtes Verzeichnis für das Repository benötigt.

  • Linux-Host mit Docker und docker compose
  • Netzwerkzugriff zum Vereinsnetz und nach außen für Updates und Cloud-Sync
  • Persistente Datenverzeichnisse für ui/data und die lokalen Compose-Volumes

3. .env pflegen

Die kanonische Laufzeitkonfiguration liegt in ./.env. Dort pflegst du Secrets, UI-Parameter und die Datenbank- bzw. Replikationswerte.

  • TS_CONNECT_UI_ADMIN_PASSWORD optional vorbelegen, sonst wird ein Startpasswort erzeugt
  • TS_CONNECT_UI_SESSION_SECRET für stabile Sessions setzen
  • Source-/Mirror-DB-Parameter, Lizenz- und ACR-Zugang nur in .env verwalten

4. Stack und Update-Agent starten

Der Haupt-Stack und der Update-Agent laufen bewusst getrennt, damit Updates und Neustarts nicht den Runner selbst stoppen.

docker compose up -d
cd update-agent
docker compose --env-file ../.env up -d
  • Der UI-Container nutzt standardmäßig den Stable-Kanal, sofern nichts anderes gesetzt ist
  • Der Update-Agent bleibt ein eigenes Compose-Projekt

5. Erstlogin und Lizenz

Wenn kein Admin-Passwort in .env gesetzt ist, erzeugt die UI beim ersten Start ein zufälliges Passwort.

  • Startpasswort liegt in ui/data/admin_password.generated
  • Danach Passwort sofort in der Admin-Sektion oder per TS_CONNECT_UI_ADMIN_PASSWORD rotieren
  • Lizenzverwaltung erfolgt im UI; lokale Dateien unter ui/data werden dabei automatisch gepflegt

6. Host-Agent optional ergänzen

Für OS-Updates, Paketpflege und orchestrierte Reboots läuft der Host-Agent separat außerhalb von Docker auf dem Server.

  • Eigener Python-Service mit systemd-Unit auf dem Host
  • Token aus /etc/ts-connect-host-agent/token in die UI-Anbindung übernehmen
  • Nur nötig, wenn Systemchecks, Paketupdates oder Server-Reboots aus der UI angestoßen werden sollen

Praktische Hinweise für den Betrieb