How To Make A WireGuard Easy (wg-easy) VPN Server With Web-Based Admin UI On An Ubuntu Linux VPS

Channel:
Subscribers:
30,000
Published on ● Video Link: https://www.youtube.com/watch?v=i-ezlKq7V54



Duration: 0:00
6,480 views
83


In this video, you will learn how to set up your own self-hosted WireGuard Virtual Private Network (VPN) server with a website based User Interface (UI) sign in page to manage VPN clients as an admin. Your WireGuard VPN will be installed using WireGuard Easy (wg-easy) GitHub repository using an Ubuntu Linux based cloud server also known as a Virtual Private Server (VPS). You will also use Docker and Bcrypt's password hasher to run wg-easy and hash your web UI sign in password for enhancing password security. WireGuard is a cross-platform opensource VPN that utilises cryptography in its protocol. DigitalOcean will be the VPS host provider used in this video demonstration. It offers cloud servers through a service called Droplets.

🔵 Free $200 DigitalOcean cloud credits using my referral link: https://digitalocean.pxf.io/c/1245219/1373759/15890

How To Get $200 In Free DigitalOcean Cloud Credits    • How To Get $200 In Free DigitalOcean ...  

How To Install PuTTY on Windows 11 And Windows 10    • How To Install PuTTY On Windows 10 Or...  

WireGuard VPN Client Installation https://www.wireguard.com/install/
What Is My IP Address https://whatismyipaddress.com/
Download PuTTY https://www.putty.org/
wg-easy https://github.com/wg-easy/wg-easy
Bcrypt Password Hash Generator https://github.com/wg-easy/wg-easy/blob/master/How_to_generate_an_bcrypt_hash.md

Steps To Make WG-Easy VPN With Web UI For Client Management:
1. Navigate to https://digitalocean.pxf.io/c/1245219/1373759/15890 and create a free DigitalOcean account. This is my referral link granting you $200 in free cloud credit for 60 days as a new user
2. Once you have created your DigitalOcean account, you will be taken to your DigitalOcean dashboard. Click Create.
3. Click Droplets
4. Choose your wg-easy VPN server region, configure your droplet and click Create Droplet
5. Go To https://www.wireguard.com/install/ and install the WireGuard client appropriate for your operating system (OS)
6. Log into your server using an SSH client such as PuTTY. Here is a video of mine that takes you step by step through the process of installing PuTTY    • How To Install PuTTY On Windows 10 Or...  
7. Install Docker using the following Command:

curl -sSL https://get.docker.com/ | sh
sudo usermod -aG docker $(whoami)

8. Generate a Bcrypt password hash for use with wg-easy using Docker Command:

docker run -it ghcr.io/wg-easy/wg-easy wgpw YOUR_PASSWORD
PASSWORD_HASH='$2b$12$coPqCsPtcFO.Ab99xylBNOW4.Iu7OOA2/ZIboHN6/oyxca3MWo7fW' // literally YOUR_PASSWORD

9. Install and run wg-easy Command:

docker run --detach \
--name wg-easy \
--env LANG=en \
--env WG_HOST=🚨 YOUR_SERVER_IP \
--env PASSWORD_HASH='🚨 YOUR_ADMIN_PASSWORD_HASH' \
--env PORT=51821 \
--env WG_PORT=51820 \
--volume ~/.wg-easy:/etc/wireguard \
--publish 51820:51820/udp \
--publish 51821:51821/tcp \
--cap-add NET_ADMIN \
--cap-add SYS_MODULE \
--sysctl 'net.ipv4.conf.all.src_valid_mark=1' \
--sysctl 'net.ipv4.ip_forward=1' \
--restart unless-stopped \
ghcr.io/wg-easy/wg-easy

10. Sign in to the wg-easy web UI, which is available on http://0.0.0.0:51821

Replace 0.0.0.0 with your DigitalOcean Droplets IP Address and please note that the address is HTTP NOT HTTPS

11. Create new clients using wg-easy web UI and add configuration tunnels to your WireGuard client using .conf files (PCs) or QR codes (mobile devices) which you can download from the web UI.
12. Activate WireGuard
13. Check to see if your IP address is currently masked by your WireGuard VPN

Congratulations, you have successfully created your own wg-easy VPN server with a web based client management UI on an Ubuntu Linux cloud server

Optional: Backup your WireGuard client .conf files using the Backup button to download a .JSON file. This .json file can then be used to restore all your clients on your wg-easy web UI.

Note: You can restrict or un-restrict WireGuard VPN access using Web UI toggles

Timestamps:
0:00 - Intro & Context
0:21 - Create A VPS
3:22 - Install WireGuard Client
4:55 - Login as root on your VPS
6:03 - Install Docker
6:43 - Generate A Password Hash Using Bcrypt
8:33 - Edit And Configure wg-easy Automatic Install Command
9:56 - Run WireGuard Easy Install Command
10:08 - Sign In To wg-easy web admin UI
11:21 - Create New WireGuard Client Configurations (.conf/QR codes)
12:06 - Add Tunnel To Client And Activate WireGuard VPN
13:36 - Check IP Address To See If WireGuard VPN Is Active
14:10 - Web UI Features - Backup & Restore Clients Using .JSON
16:12 - Closing & Outro

How To Create Your Own VPN Or Proxy (Playlist)    • How To Create Your Own VPN Or Proxy  

More DigitalOcean Server Guides (Playlist)    • DigitalOcean Cloud Computing Guides  

Ubuntu Linux Tutorials (Playlist)    • Ubuntu Linux Tutorials  

SUBSCRIBE    / @websplaining  

#WireGuard #WireGuardEasy #WgEasy




Other Videos By Websplaining


2025-02-14How To Build An AI Agent Or AI ChatBot Using GenAI Platform On DigitalOcean & Add It To Your Website
2025-02-08How To Setup Open WebUI And Run Any AI LLM ChatBot On A DigitalOcean GPU Cloud Server
2025-02-05How To Generate A SSH Public And Private Key Pair Using PuTTYgen To Connect To Your VPS
2025-02-04How To Setup DeepSeek-R1 LLM AI ChatBot Using Ollama On An Ubuntu Linux GPU Cloud Server (VPS)
2024-11-19How To Setup Ollama LLM AI Chatbot With Open WebUI, An Open-source AI User Interface On Ubuntu VPS
2024-11-15How To Set Your Domain Name As Your Bluesky Handle
2024-11-13How To Make An OpenVPN Access Server With Web-Based User Interface (UI) On DigitalOcean
2024-11-07How To Create PiVPN Server Using A Self-hosted Ubuntu Linux VPS And WireGuard Client
2024-11-04How To Make A WireGuard Easy (wg-easy) VPN Server With Web-Based Admin UI On An Ubuntu Linux VPS
2024-10-30How To Install One Click, Pre-configured Hugging Face (HUGS) AI Models On DigitalOcean GPU Droplets
2024-10-29How To Check NVIDIA GPU Specification Information On Ubuntu Linux Command Line Terminal
2024-10-29How To Create A NVIDIA H100 GPU Cloud Server To Run And Train AI, ML, And LLMs Apps On DigitalOcean
2024-10-25How To Make A Counter-Strike 2 (CS2) Game Server On A DigitalOcean Ubuntu Linux VPS (Droplet)
2024-10-22How To Create Your Own OpenVPN Server On An Ubuntu Linux VPS
2024-08-28How To Setup SPR : Secure Programmable Routers VPN Server On An Ubuntu Linux VPS
2024-01-08How To Request To Increase Droplet Limit On DigitalOcean
2024-01-04How To Create Your Own WireGuard VPN Server Using An Ubuntu Linux VPS
2023-12-28How To Create Your Own Pi-hole VPN Server On A Linux VPS Using DigitalOceans 1 Click Droplet Install
2023-11-27How To Quickly Share Your Connected Wi-Fi Network With Your Friends On Android
2023-11-25How To Turn On And Share Your Wi-Fi Hotspot Data With Friends On Android
2023-11-22How To Update The Google Play Store On Android