🐲 ngoduykhanh/wireguard-ui

Point and click management for your wireguard configurations, networks and peers is easy with wireguard-ui.

GitHub - ngoduykhanh/wireguard-ui: Wireguard web interface
Wireguard web interface. Contribute to ngoduykhanh/wireguard-ui development by creating an account on GitHub.

wireguard created a paradigm shift in building private overlay networks (a more general form of VPN), and wireguard-ui is here to make them easier to use.

wireguard-ui interface (source: https://github.com/ngoduykhanh/wireguard-ui)

wireguard-ui makes wireguard easier to monitor and configure, bringing along a bunch of extra features:

  • QR code generation
  • Email
  • Downloadable configurations
  • Status checking
  • Easy listing of all members of the network
  • Point & Click configuration application

Running wireguard-ui

Since wireguard-ui is built with Golang, it's easy to run as a static binary on any supported platform. Grab a release and run:

./wireguard-ui

wireguard-ui can also be run with docker (there's an official image with 1MM downloads), and includes an example docker-compose configuration:

version: "3"

services:
  wg:
    build: .
    #image: ngoduykhanh/wireguard-ui:latest
    container_name: wgui
    cap_add:
      - NET_ADMIN
    network_mode: host
    environment:
      - SENDGRID_API_KEY # SMTP is also supported!
      - EMAIL_FROM_ADDRESS
      - EMAIL_FROM_NAME
      - SESSION_SECRET
      - WGUI_USERNAME=alpha
      - WGUI_PASSWORD=this-unusual-password
      - WG_CONF_TEMPLATE
      - WGUI_MANAGE_START=false
      - WGUI_MANAGE_RESTART=false
    logging:
      driver: json-file
      options:
        max-size: 50m
    volumes:
      - ./db:/app/db
      - /etc/wireguard:/etc/wireguard

wireguard-ui has fairly straight forward requirements and is very easy to self-host.