Skip to content

Install

You can choose one of the 5 following method to install WGDashboard

For AmneziaWG Users

Starting from WGDashboard version:v4.2.0, there will be official support for AmneziaWG, but since it has a completely different installation method compared to WireGuard, we decided not to include it in our installation described below, you'll need to follow the AmneziaWG official documentation to install: Link

Option 1: Docker Image

Thanks to our awesome @DaanSelen for creating the Docker image. Follow this instruction to run

Option 2: Host WGDashboard & WireGuard with DigitalOcean

WGDashboard is now available as a 1-Click app on DigitalOcean! Follow this instruction to host

Option 3: Install WGDashboard with a command

These commands are tested by myself in each operating system listed in here. It contains commands to install WireGuard, Git, Net Tools, and even Python on some OS.

Ubuntu

22.04 (LTS), 24.04 (LTS) and 24.10

shell
sudo apt-get update -y && \
sudo apt install wireguard-tools net-tools --no-install-recommends -y && \
git clone https://github.com/WGDashboard/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf

Debian

11.10

shell
apt-get install sudo -y && \ 
sudo apt-get update && \ 
sudo apt install -y git iptables build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev wireguard-tools net-tools && \ 
wget https://www.python.org/ftp/python/3.10.0/Python-3.10.0.tgz && \ 
tar -xvf Python-3.10.0.tgz && \ 
cd Python-3.10.0 && \ 
sudo ./configure --enable-optimizations && \ 
sudo make && \ 
sudo make altinstall && \ 
cd .. && \ 
git clone https://github.com/WGDashboard/WGDashboard.git && \ 
cd ./WGDashboard/src && \ 
chmod +x ./wgd.sh && \ 
./wgd.sh install && \ 
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf

12.6, 13.0

shell
apt-get install sudo git iptables -y && \ 
sudo apt-get update && \
sudo apt install wireguard-tools net-tools && \
git clone https://github.com/WGDashboard/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf

Red Hat Enterprise Linux

9.4

shell
sudo yum install wireguard-tools net-tools git python3.11 -y && \
git clone https://github.com/WGDashboard/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf && \
firewall-cmd --add-port=10086/tcp --permanent && \
firewall-cmd --add-port=51820/udp --permanent && \
firewall-cmd --reload

CentOS

9-Stream

shell
sudo yum install wireguard-tools net-tools git python3.11 -y && \
git clone https://github.com/WGDashboard/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf && \
firewall-cmd --add-port=10086/tcp --permanent && \
firewall-cmd --add-port=51820/udp --permanent && \
firewall-cmd --reload

AlmaLinux

9.4 (Seafoam Ocelot)

shell
sudo yum install wireguard-tools net-tools git python3.11 -y && \
git clone https://github.com/WGDashboard/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf && \
firewall-cmd --add-port=10086/tcp --permanent && \
firewall-cmd --add-port=51820/udp --permanent && \
firewall-cmd --reload

Fedora

38, 39, 40, 41

shell
sudo yum install wireguard-tools net-tools git -y && \
git clone https://github.com/WGDashboard/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf

Alpine Linux

3.20.2

shell
setup-interfaces -a ; \
rc-service networking --quiet start ; \
apk update ; \
apk add wireguard-tools python3 python3-dev git iptables net-tools gcc musl-dev linux-headers sudo ; \
git clone https://github.com/WGDashboard/WGDashboard.git ; \
cd ./WGDashboard/src ; \
chmod +x ./wgd.sh ; \
./wgd.sh install

Rocky Linux

9.4

shell
sudo yum install wireguard-tools net-tools git python3.11 -y && \
git clone https://github.com/WGDashboard/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf && \
firewall-cmd --add-port=10086/tcp --permanent && \
firewall-cmd --add-port=51820/udp --permanent && \
firewall-cmd --reload

Raspberry Pi OS

Kernel Version 6.6 w/ Debian 12

shell
apt-get install sudo git iptables -y && \ 
sudo apt-get update && \
sudo apt install wireguard-tools net-tools && \
git clone https://github.com/WGDashboard/WGDashboard.git && \
cd ./WGDashboard/src && \
chmod +x ./wgd.sh && \
./wgd.sh install && \
sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf && \
sudo sysctl -p /etc/sysctl.conf

Tested by our community member. Thank you!

Option 4: Install with Proxmox Virtual Environment

Please visit this community script to install.

Option 5: Manually install WGDashboard

To ensure a smooth installation process, please make sure you have the following installed:

  • Python 3.10 or above
  • git
  • wireguard-tools
  • net-tools
  1. Download WGDashboard

    shell
    git clone https://github.com/WGDashboard/WGDashboard.git
  2. Open the WGDashboard folder

    shell
    cd WGDashboard/src
  3. Install WGDashboard

    shell
    sudo chmod u+x wgd.sh && \
    sudo ./wgd.sh install
  4. Give read and execute permission to root of the WireGuard configuration folder, you can change the path if your configuration files are not stored in /etc/wireguard

    shell
    sudo chmod -R 755 /etc/wireguard
  5. Run WGDashboard

    shell
    sudo ./wgd.sh start
  6. Access dashboard

    Access your server with port 10086 (e.g. http://your_server_ip:10086), using username admin and password admin. See below how to change port and ip that the dashboard is running with.

  7. Allow traffic forwarding (Optional, but recommend for most users)

    shell
    sudo echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
    sudo sysctl -p /etc/sysctl.conf

Looking for server to configure WireGuard and WGDashboard?

Click my referral button below and register with DigitalOcean, you will receive a $200 credit for 60-days to your server, and you can support this project too!

DigitalOcean Referral Badge

How to support?

When you choose to use the link above, and spent $25 after your credits, I will receive $25 in credits towards my servers on this project 😃 Thanks in advance!