Startseite¶
Diese Informationssammlung beschreibt ein mögliches Verfahren zum Aufsetzen eines Linux Servers mit Anwendungen in Docker Containern. Die meisten hier vorgestellten Anwendungen sind webbasiert und werden über einen Reverse Proxy aus dem Internet erreichbar gemacht.
Lokales HTTP Routing¶
Nachdem die Anfragen den Reverse Proxy auf unserem eigenen Host erreicht haben, werden diese je nach verwendetem Reverse Proxy über lokal gebundene Ports oder Docker Labels an den Container weitergeleitet, der den Dienst bereitstellt.
Verzeichnisstruktur¶
Jeder bereitgestellte Dienst erhält zwei Verzeichnisse:
- Im Verzeichnis
/home/admin/<service>liegt die Container-Definition (docker-compose.yml), - die Daten des Dienstes werden im Verzeichnis
/srv/<service>gespeichert.
Umgebungsvariablen¶
Schützenswerte Umgebungsvariablen (Passwörter, API Tokens, ...) werden nicht in der
Containerdefinition abgelegt, sondern in einer separaten env-Datei, um die Gefahr einer
Offenlegung dieser (z. B. beim Teilen des Bildschirms) zu reduzieren. Diese werden entsprechend
des Container-Namen im docker compose Kontext benannt.
Im folgenden Beispiel-Dienst (service: example, service_name: example_srv) würde die
env-Datei unter dem Pfad /home/admin/example/.example_srv.env angelegt werden.
# /home/admin/example/docker-compose.yml
services:
example_srv:
image: ...
env_file: .example_srv.env