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)
Starten des Servers#
$ docker run -d -p 8080:8080 -v ./data:/data git.42i.org/live/live:1.0Nun 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 - -v ./data:/data
Verwenden Sie eine lokale Datenbank, die im Verzeichnisdatagespeichert wird. Die Datenbank wird über dieses Volume Mapping lokal gespeichert, auch wenn der Container gelöscht wird.
In diesem Beispiel verwenden wir das lab Tag, also die instabile Labor-Version.
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:1.0 "/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#
Legen Sie eine compose.yml Datei an:
services:
app:
image: git.42i.org/live/live:1.0
ports:
- "8080:8080"
volumes:
- ./data:/dataStarten Sie den Server mit dem Befehl docker compose up:
$ docker compose up -d
[+] Running 1/1
✔ Container live-app-1 StartedNun können Sie den Server per http://localhost:8080 aufrufen.
Ein Beispiel mit separater Postgres Datenbank#
Hier ein Beispiel für eine Compose Datei mit einer separaten Postgres Datenbank. Die Konfiguration erfolgt hier über Umgebungsvariablen, wie bei Containern üblich. Alternativ könnten Sie auch eine Config-Datei verwenden.
services:
db:
image: postgres:16
restart: unless-stopped
environment:
POSTGRES_USER: live
POSTGRES_PASSWORD: live
POSTGRES_DB: live
volumes:
- ./data/db:/var/lib/postgresql/data
app:
image: git.42i.org/live/live:1.0
restart: unless-stopped
depends_on:
- db
ports:
- "8080:8080"
environment:
DATABASE_DRIVER: postgres
DATABASE_HOST: db
DATABASE_PORT: 5432
DATABASE_USER: live
DATABASE_PASSWORD: live
DATABASE_NAME: live
DATABASE_SSLMODE: disableKonfiguration#
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.