1. Сделать бэкап /etc/wireguard
sudo cp -rf /etc/wireguard /etc/wireguard_backup
  1. Создаем директорию /app/wireguard-portal

  2. Запускаем с помощью команды (не забудьте заменить пароль и хост)

sudo docker run -it --cap-add NET_ADMIN  -d \
--name wireguard-portal \
-v /etc/wireguard:/etc/wireguard \
-v /app/wireguard-portal/data:/app/data \
-p 8123:8123 \
--network=host \
--env MYVAR2=foo \
--env WG_DEVICES=wg0 \
--env WG_DEFAULT_DEVICE=wg0 \
--env "WG_CONFIG_PATH=/etc/wireguard" \
--env EXTERNAL_URL=https://localhost \
--env "WEBSITE_TITLE=WireGuard VPN" \
--env "COMPANY_NAME=Your Company Name" \
--env ADMIN_USER=admin@domain.com \
--env ADMIN_PASS=supersecret \
--env "MAIL_FROM=WireGuard VPN <noreply+wireguard@company.com>" \
--env "EMAIL_HOST=10.10.10.10" \
--env EMAIL_PORT=25 \
--env LDAP_ENABLED=true \
--env "LDAP_URL=ldap://srv-ad01.company.local:389" \
--env "LDAP_BASEDN=DC=COMPANY,DC=LOCAL" \
--env "LDAP_USER=ldap_wireguard@company.local" \
--env "LDAP_PASSWORD=supersecretldappassword" \
--env "LDAP_ADMIN_GROUP=CN=WireGuardAdmins,OU=Users,DC=COMPANY,DC=LOCAL" \
--restart unless-stopped \
h44z/wg-portal:latest
  1. К сожалению на последних версиях docker-compose с флагом network=host не запускается

Вариант - понизить версию docker-compose до 1.25.4

sudo rm -rf /usr/bin/docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Файл docker-compose.yml

version: '3.6'
services:
  wg-portal:
    image: h44z/wg-portal:latest
    container_name: wg-portal
    restart: unless-stopped
    cap_add:
      - NET_ADMIN
    network_mode: "host"
    volumes:
      - /etc/wireguard:/etc/wireguard
      - ./data:/app/data
    ports:
      - '8123:8123'
    environment:
      # WireGuard Settings
      - WG_DEVICES=wg0
      - WG_DEFAULT_DEVICE=wg0
      - WG_CONFIG_PATH=/etc/wireguard
      # Core Settings
      - EXTERNAL_URL=https://localhost
      - WEBSITE_TITLE=WireGuard VPN
      - COMPANY_NAME=Your Company Name
      - ADMIN_USER=admin@domain.com
      - ADMIN_PASS=supersecret
      # Mail Settings
      - MAIL_FROM=WireGuard VPN <noreply+wireguard@company.com>
      - EMAIL_HOST=10.10.10.10
      - EMAIL_PORT=25
      # LDAP Settings
      - LDAP_ENABLED=true
      - LDAP_URL=ldap://srv-ad01.company.local:389
      - LDAP_BASEDN=DC=COMPANY,DC=LOCAL
      - LDAP_USER=ldap_wireguard@company.local
      - LDAP_PASSWORD=supersecretldappassword
      - LDAP_ADMIN_GROUP=CN=WireGuardAdmins,OU=Users,DC=COMPANY,DC=LOCAL
  1. ОШибка

Warning: WireGuard Interface wg0 is not fully configured! Configurations may be incomplete and non functional!

Переходим в WireGuard Administrator -> Administration И далее в блоке WireGuard VPN Administration жмем справа на значок шестеренки ⚙️

Зададим Display Name: Wireguard И Public Endpoint for Clients: your_external_ip:port

MTU выставить 0

Жмем save и Apply Global Setting for client

  1. Далее можно создавать пользователей для портала, а также создавать новые конфиги и менять их

  2. Удалить wireguard docker

sudo docker stop wireguard-portal && sudo docker rm wireguard-portal