Wireguard im Docker mit WG-Easy

Wireguard im Docker mit WG-Easy

Wenn man schnell und einfach einen Wireguard VPN aufbauen will, kann man dies schnell mit WG-Easy erledigten.

Zunächst erstellt man auf dem Docker Host ein Verzeichnis für WG-Easy.

cd 
mkdir ~/wg-easy
cd ~/wg-easy

Dann erstellt man eine Docker Compose Datei in welcher folgendes eingetragen wird:

version: "3.8"
services:
  wg-easy:
    environment:
      - WG_HOST=<Domain oder DynDns Domain>

      - PASSWORD=<Passwort>
      - WG_PORT=51844
      # - WG_DEFAULT_ADDRESS=10.8.0.0/24
      - WG_DEFAULT_DNS=<Eigener DNS Server>
      # - WG_MTU=1420
      - WG_ALLOWED_IPS=<Alle IP Kreise aus dem Heimnetz (0.0.0.0 kann zu Problemen führen)
      # - WG_PRE_UP=echo "Pre Up" > /etc/wireguard/pre-up.txt
      # - WG_POST_UP=echo "Post Up" > /etc/wireguard/post-up.txt
      # - WG_PRE_DOWN=echo "Pre Down" > /etc/wireguard/pre-down.txt
      # - WG_POST_DOWN=echo "Post Down" > /etc/wireguard/post-down.txt
      
    image: weejewel/wg-easy
    container_name: wg-easy
    volumes:
      - .:/etc/wireguard
    ports:
      - "51844:51820/udp"
      - "51821:51821/tcp"
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
      - SYS_MODULE
    sysctls:
      - net.ipv4.ip_forward=1
      - net.ipv4.conf.all.src_valid_mark=1

Nun wird der Docker erstellt:

docker-compose up -d

Nun kann das Webpanel unter http://<IP>:51821/ geöffnet werden. Hier wird das Passwort eingegeben und es können die Clients angelegt werden.

⚠️
Der Port 51844 muss im Router freigegeben werden und auf den Docker Host weisen.