Betrieb mit Docker#
Die einfachste Methode, einen Server zu starten, ist diesen als Container laufen zu lassen. Verwenden Sie dazu entweder Docker oder Podman oder eine andere OCI-konforme Engine.
In diesen Beispielen verwenden wir Docker, zum Beispiel mit Docker Desktop.
Die jeweils verfügbaren Tags finden Sie hier, bzw. ganz aktuell im git. (Hier ist ggf. eine Anmeldung erforderlich)
Für den eigenen Betrieb sind zwei Tags relevant (Details unter Versionen und Pinning):
:latest— die jeweils neueste freigegebene Version (beweglich). Praktisch für Test-/Auswertungssysteme, die automatisch aktuell bleiben sollen.:1.5.x— eine konkret gepinnte, unveränderliche Version (z. B.:1.5.1001). Für den produktiven Betrieb empfohlen, damit ein Versionswechsel immer bewusst und vorab getestet erfolgt.
Das Image basiert auf einem schlanken debian:bookworm-slim und steht für amd64 und arm64 zur Verfügung.
Der Server benötigt eine erreichbare CouchDB (Version 3). Geben Sie deren Verbindungs-URL über die Umgebungsvariable
LIVE_DATABASE_URLan. Ohne Datenbank verweigert der Server Import, Sync und Anhänge. Am bequemsten betreiben Sie beide Dienste zusammen mit Docker Compose.
Starten des Servers#
Mit einer bereits erreichbaren CouchDB genügt für die App ein einzelner Container:
$ docker run -d -p 8080:8080 \
-e LIVE_DATABASE_URL=http://live:live@couch:5984/live \
git.42i.org/live/live:latestNun können Sie den Server per http://localhost:8080 aufrufen.
Erklärung:
- -p 8080:8080
Leiten Sie den lokalen Port 8080 an den Port 8080 im Container weiter - -e LIVE_DATABASE_URL=…
Verbindungs-URL zur CouchDB (Benutzer, Passwort, Host, Port und Datenbankname).
In den meisten Fällen ist es jedoch praktischer, die CouchDB gleich mitzustarten — siehe Docker Compose unten.
Stoppen des Servers#
Beenden Sie den Server mit dem Befehl docker stop <container_id>:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
762d22ceda1c git.42i.org/live/live:latest "live serve" About a minute ago Up About a minute 0.0.0.0:8080->8080/tcp boring_kilby
$ docker stop 76
76Nun ist der Container gestoppt.
Betrieb mit Docker Compose#
Mit Docker Compose starten Sie den live-Server und die benötigte CouchDB in einem Schritt. Die Konfiguration erfolgt über Umgebungsvariablen, wie bei Containern üblich. Legen Sie dazu eine compose.yaml Datei an:
services:
db:
image: couchdb:3
restart: unless-stopped
environment:
COUCHDB_USER: live
COUCHDB_PASSWORD: live
volumes:
- ./data/db:/opt/couchdb/data
app:
image: git.42i.org/live/live:latest
restart: unless-stopped
depends_on:
- db
ports:
- "8080:8080"
environment:
LIVE_DATABASE_URL: http://live:live@db:5984/live
# optional:
# LIVE_SERVER_URL: https://mein.server.de
# LIVE_SYSTEM_LICENSE: "ABCD-..."
volumes:
- ./data/config:/app/config:roErklärung:
- Der Dienst
dbstellt die CouchDB bereit; ihre Daten liegen dauerhaft im Volume./data/db. - Der Dienst
appverbindet sich überLIVE_DATABASE_URLmit der CouchDB. Host und Datenbankname (dbbzw.live) entsprechen dem CouchDB-Dienst. - Das Verzeichnis
./data/configwird schreibgeschützt (:ro) als/app/configeingehängt — hier kann eine optionaleconfig.yamlliegen. - Über
LIVE_SERVER_URLgeben Sie die externe Basis-URL und überLIVE_SYSTEM_LICENSEIhre Lizenz an (ohne Lizenz: Demo-Modus, max. 50 Aufträge).
Starten Sie den Server mit dem Befehl docker compose up:
$ docker compose up -d
[+] Running 2/2
✔ Container live-db-1 Started
✔ Container live-app-1 StartedNun können Sie den Server per http://localhost:8080 aufrufen.
Auf einer frischen Single-Node-CouchDB protokolliert der Server beim Start die Meldung
Request to create N=3 DB but only 1 node(s). Das ist normales Start-Rauschen und kein Fehler.
Konfiguration#
Bitte sehen Sie sich die Anleitung für die Konfiguration im folgenden Kapitel an.
Lizenzbedingungen#
Für die Nutzung der Software gelten die beschriebenen Lizenzbedingungen.