No description
  • TypeScript 62.1%
  • HTML 31.5%
  • Shell 2.9%
  • Dockerfile 2.3%
  • CSS 1.2%
Find a file
2026-05-29 12:45:50 +02:00
docker-workshop feat make webiste public 2026-05-29 12:44:35 +02:00
excalidash add excalidash 2026-05-06 19:27:14 +00:00
homeassistant Update homeassistant/home-assistant Docker tag to v2026.5.4 2026-05-23 11:38:20 +00:00
immich Update docker.io/valkey/valkey:9 Docker digest to 4963247 2026-05-20 11:36:18 +00:00
satisfactory Update nginx Docker tag to v1.31.1 2026-05-23 11:38:53 +00:00
syncthing Update linuxserver/syncthing Docker tag to v2.1.0 2026-05-12 11:35:37 +00:00
traefik feat make webiste public 2026-05-29 12:44:35 +02:00
vaultwarden Update vaultwarden/server Docker tag to v1.36.0 2026-05-04 05:43:49 +00:00
.gitignore init 2026-04-29 19:06:52 +00:00
deploy.sh feat make webiste public 2026-05-29 12:44:35 +02:00
README.md add docker install guide 2026-05-27 19:11:42 +00:00
renovate.json Add renovate.json 2026-04-30 20:47:27 +02:00

Docker Workshop

In diesem Repo befinden sich Beispiel-Docker-Konfigurationen für unseren Workshop. Die vollständige und aktuelle Installationsanleitung entnehmt ihr bitte direkt den jeweiligen Projekten.

Folgende Dienste sind für den Workshop temporär auf dem Server docker-workshop.ddns.net bereitgestellt: (Stand: Mai 2026)

  • Minecraft
  • Satisfactory
  • Homeassistant
  • Nextcloud
  • Syncthing
  • Apache Guacamole
  • Immich
  • OpenWebUI
  • Gitlab
  • vaultwarden
  • n8n

Alle Dienste mit Web-Frontend verwenden traefik als reverse proxy und damit Let's Encrypt zum Bereitstellen der HTTPS-Zertifikate. Damit HTTPS funktioniert, muss eine Domain bereitgestellt werden. Dazu wurde bei https://noip.com ein kostenfreier Wildcard-DNS-Eintrag *.docker-workshop.ddns.net eingerichtet.

Für das lokale Deployment (z.B. hinter einem VPN) ist HTTPS, und damit traefik, nicht zwingend notwendig. Stattdessen kann einfach der unverschlüsselte HTTP-Port im Netzwerk freigegeben werden.

Docker installieren

Docker sollte wie in der offiziellen Anleitung installiert werden: https://docs.docker.com/engine/install/ Für Ubuntu sind das folgende Befehle:

# Remove old docker installations
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)

# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

# Install the latest version of docker
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

In welchem Ordner lege ich meine docker-compose.yaml Dateien ab?

Docker wird in den meisten Fällen als root auf dem Host-Server ausgeführt. Zum Starten von Containern ist es also auch üblich, das man die Ordner unter dem root-Nutzer anlegt. Wir empfehlen einen zentralen Ort wie /srv zu wählen, wenn du planst nur Docker auf dem System zu installieren.

Eine mögliche Ordnerstruktur kann etwa so aussehen:

/srv/
├── deploy.sh
├── homeassistant
│   └── docker-compose.yml
├── syncthing
│   └── docker-compose.yml
├── traefik
│   ├── docker-compose.yml
│   └── traefik.yml
└── vaultwarden
    └── docker-compose.yml 

Important

Der Ordner /srv ist standardmäßig für alle Nutzer des Systems lesbar. Du kannst den Lesezugang auf den root-Benutzer einschränken, in dem du die Berechtigungen des Ordners auf den Eigentümer (root) beschränkst: sudo chmod 700 /srv