Bereiche
Bereich Docker
Allgemein
Parameter
Anwendungen
- Mattermost
- Unifi-Video
Dies ist eine alte Version des Dokuments!
Image | |
---|---|
Docker Hub | linuxserver/wireguard |
GitHub | linuxserver/docker-wireguard |
Architektur | x86-64, armhf, arm64 |
Plattform | Ubuntu und Debian-basiertes Linux (einschließlich Rasbian/Rasberry OS) 1) |
Software | |
Projekt | WireGuard |
weitere Informationen | |
WireGuard (Software) |
Der Container wird wie folgt mit docker run
eingerichtet und gestartet:
docker run -d \ --name=wireguard \ --cap-add=NET_ADMIN \ --cap-add=SYS_MODULE \ -e PUID=2000 \ -e PGID=2000 \ -e TZ=Europe/Berlin \ -e SERVERURL=wireguard.domain.com `#optional` \ -e SERVERPORT=51820 `#optional` \ -e PEERS=1 `#optional` \ -e PEERDNS=auto `#optional` \ -e INTERNAL_SUBNET=10.13.13.0 `#optional` \ -p 51820:51820/udp \ -v /path/to/appdata/config:/config \ -v /lib/modules:/lib/modules \ --sysctl="net.ipv4.conf.all.src_valid_mark=1" \ --restart unless-stopped \ linuxserver/wireguard
Dies sind die wichtigsten Parameter. Sofern sie mit einem „*“ markiert sind, sollte eine Anpassung erfolgen:
Parameter | Funktion |
---|---|
-e PUID= * | Vorgabe des Users, mit dem die Daten auf dem Docker-Host in die gemounteten Verzeichnisse geschrieben werden. |
-e PGID= * | Vorgabe des Gruppe, mit der die Daten auf dem Docker-Host in die gemounteten Verzeichnisse geschrieben werden. |
-e TZ= * | Vorgabe der lokalen Zeitzone im Format Gebiet/Ort. |
-e SERVERURL | Optionale URL des Wireguard-Servers Sofern in den generierten Config-Dateien statt der IP-Adresse des Servers die URL des Servers eingetragen werden soll (z.B. Server mit einer dynamischen IP-Adresse, der über einen Domainnamenauflösungsdienst wie DynDNS erreichbar ist). |
-e SERVERPORT | Optionale Angabe des Ports, den der Container für den Server verwendet |
-e PEERS | Anzahl der Peers, für die eine Konfiguration generiert wird (wenn ungleich Null, läuft Wireguard im Server-Mode |
-e PEERDNS | Default ist 'auto' (DNS-Servereinstellenungen des Docker-Host werden verwendet), Es kann hier die IP-Adresse eines abweichenden DNS-Servers eingetragen werden. |
-e INTERNAL_SUBNET | IP-Subnet, aus dem die IP-Daressen der Peers und ggf. des Servers vergeben werden. Eine Änderung ist nur notwendig, wenn das Subnet bereits anderweitig verwendet wird (z.B. mehrere WireGuard-Instanzen). |
-p | Vorgabe der Ports (bei mehreren WireGuard-Instanzen auf dem Node ist zwingend der externe Port anzupassen. Der Zusatz /udp steuert, dass nur UDP-Pakete geoutet werden. |
-v * | Volumes, siehe Unterabschnitt Volumes |
In der Konfiguration werden Volumes in der Regel im folgenden Format angegeben:
<Pfad auf dem Host>:<Pfad im Container>[:<Optionen>]
Die Volumes haben die folgenden Funktionen (maßgeblich ist der Pfad im Container):
Pfad im Container | Funktion |
---|---|
/config | Ablageort der Konfigurationsdateien |
/lib/modules | Pfad auf das Verzeichnis mit den Kernel-Modulen des Host (üblicherweise /lib/modules )Der Container greift auf die WireGuard-Kernel-Module des Hosts zu. Sofern diese nicht vorhanden sind, versucht der Container diese im Verzeichnis auf dem Host zu installieren. |
Der Container wird wie folgt in der docker-compose.yml
konfiguriert:
version: "2.1" services: wireguard: image: linuxserver/wireguard container_name: wireguard cap_add: - NET_ADMIN - SYS_MODULE environment: - PUID=2000 - PGID=2000 - TZ=Europe/Berlin - SERVERURL=wireguard.domain.com #optional - SERVERPORT=51820 #optional - PEERS=1 #optional - PEERDNS=auto #optional - INTERNAL_SUBNET=10.13.13.0 #optional volumes: - /path/to/appdata/config:/config - /lib/modules:/lib/modules ports: - 51820:51820/udp sysctls: - net.ipv4.conf.all.src_valid_mark=1 restart: unless-stopped
Es liegen noch keine Erfahrungen mit der Integration eines WireGuard-Containers in ein Træfik-Setup vor. Eine entsprechende Konfiguration ist zz. auch nicht geplant, weil m.E. die Schlüssel in der Konfiguration eine ausreichende Sicherung garantieren sollten und im Regelfall der Aufruf des WireGuard-Servers über die Vorgabe der IP-Adresse erfolgt.