Skip to content

Playground lokal mit Docker ausführen

Führen Sie den Playground lokal aus, wenn Sie Ihren eigenen API Client, die Berechtigungen Ihres Kontos und physische Geräte überprüfen müssen. Das veröffentlichte Image enthält sowohl die Weboberfläche als auch den Backend-Dienst, sodass Go, Node.js oder ein Quellcode-Checkout nicht erforderlich sind.

Wenn Sie nur den Ablauf erkunden möchten, beginnen Sie mit dem Online-Playground.

Voraussetzungen

  • Docker ist installiert.
  • Sie haben einen API Client mit clientId und clientSecret.
  • Der API Client hat mindestens device:read; Steuerung und Konfiguration erfordern zusätzliche Berechtigungen.
  • Der lokale Port 8090 ist verfügbar.

Die vollständigen Regeln finden Sie unter Autorisierungs-Scopes (auf Englisch).

Schützen Sie Test-Zugangsdaten

Verwenden Sie ein dediziertes Testkonto und Testgeräte anstelle von Produktions-Zugangsdaten. Gewähren Sie nur die für die aktuelle Überprüfung erforderlichen Berechtigungen und gewähren Sie device:manage nur, wenn Geräteverwaltung erforderlich ist.

1. Umgebungsdatei erstellen

Erstellen Sie ein leeres Verzeichnis und fügen Sie eine .env-Datei hinzu:

dotenv
WLTE_BASE_URL=https://openapi.svnwi.com
WLTE_CLIENT_ID=replace-with-your-clientId
WLTE_CLIENT_SECRET=replace-with-your-clientSecret
WLTE_WS_ENABLED=true

Beschränken Sie den Zugriff auf die Datei:

sh
chmod 600 .env

Committen Sie .env nicht in Git und platzieren Sie clientSecret nicht in Browser-Code, einer mobilen Anwendung oder öffentlichen Logs.

2. Neuestes Image herunterladen und starten

sh
docker pull wlte/wlte-openapi-playground:latest

docker run -d \
  --name wlte-openapi-playground \
  --env-file .env \
  -p 127.0.0.1:8090:8090 \
  wlte/wlte-openapi-playground:latest

Der Port ist an die Loopback-Schnittstelle des Hosts gebunden und nicht direkt im lokalen Netzwerk oder Internet zugänglich.

3. Prozess überprüfen

sh
docker ps --filter name=wlte-openapi-playground
docker logs --tail=100 wlte-openapi-playground
curl --fail http://127.0.0.1:8090/healthz

Öffnen Sie nach erfolgreicher Gesundheitsprüfung:

http://127.0.0.1:8090

4. Ihre Integration überprüfen

  1. Stellen Sie sicher, dass die Geräteliste den für das Konto verfügbaren Geräten entspricht.
  2. Öffnen Sie ein Gerät und stellen Sie sicher, dass seine Peripherie-Panels seinen Fähigkeiten entsprechen.
  3. Wählen Sie nacheinander HTTP und WebSocket und führen Sie mit jedem Transport eine Live-Zustandsaktualisierung durch.
  4. Verwenden Sie nur Testgeräte für Relais- oder RS-485-Vorgänge.
  5. Vergleichen Sie Anfragen, Antworten und Ereignisnachrichten im Protocol Inspector.

Wenn die Oberfläche einen Berechtigungsfehler meldet, aktualisieren Sie den API Client unter API Keys und starten Sie dann den Container mit den aktualisierten Zugangsdaten neu.

Optionale Konfiguration

Diese Einstellungen haben Standardwerte und müssen nur zur .env hinzugefügt werden, wenn Sie Timeouts, Ereignispuffer oder Protokollierung anpassen möchten:

UmgebungsvariableStandardZweck
WLTE_REQUEST_TIMEOUT15sTimeout für REST-API-Anfragen
PLAYGROUND_WS_EVENT_BUFFER256Größe des WebSocket-Ereignispuffers
PLAYGROUND_WS_EVENT_HISTORY200Von der Seite gespeicherte Ereignisse
PLAYGROUND_WS_PING_INTERVAL20sPing-Intervall für WebSocket
PLAYGROUND_TRAFFIC_HISTORY200Vom Protocol Inspector gespeicherte Nachrichten
PLAYGROUND_LOG_FORMATjsonLog-Format
PLAYGROUND_LOG_LEVELinfoLog-Level

Container stoppen und entfernen

sh
docker rm -f wlte-openapi-playground

Aus dem Quellcode erstellen

Erstellen Sie nur aus dem Dockerfile, wenn Sie unveröffentlichten Code überprüfen oder den Playground selbst ändern müssen:

sh
docker build \
  --build-arg VERSION=local \
  -t wlte-openapi-playground:local \
  .

docker run -d \
  --name wlte-openapi-playground \
  --env-file .env \
  -p 127.0.0.1:8090:8090 \
  wlte-openapi-playground:local

Das Dockerfile erstellt die Vue-Anwendung, bettet sie in den Go-Dienst ein und führt im finalen Image einen einzelnen Prozess ohne Root-Rechte aus. .env wird niemals in das Image kopiert.

Fehlerbehebung

Die Seite öffnet sich nicht

Stellen Sie sicher, dass der Container läuft und .env nicht PLAYGROUND_LISTEN_ADDR=127.0.0.1:8090 festlegt. Der Prozess muss innerhalb des Containers auf 0.0.0.0:8090 lauschen; das veröffentlichte Image verwendet diesen Standardwert bereits.

Die Geräteliste ist leer

Stellen Sie sicher, dass der API Client über device:read verfügt und sein Konto auf Geräte zugreifen kann. Fahren Sie fort mit Häufige Fehler.

Kann ich dies öffentlich zugänglich machen?

Der Playground bietet keine Betreiber-Anmeldung. Fügen Sie HTTPS, Authentifizierung oder Netzwerkzugriffskontrollen hinzu, bevor Sie ihn teilen, und verwenden Sie dedizierte Test-Zugangsdaten mit eingeschränkten Berechtigungen.

Verwandte Seiten

Docs buildVersion v1.5.8-20260814-180545-84
Copyright © 2026 WLTE