Archived article. DWG builds and accompanying scripts have not been updated for a long time and require serious updates. The material is kept as historical.
DWG DARK — a build for deploying your own VPN server on Docker: WireGuard with WG-Easy web panel, AdGuard Home and Unbound. Its main features are a dark interface and the ability to see and control every WireGuard peer directly in AdGuard Home.
All builds in the series: Discussion of DWG » | DWG-CLI » | DWG-UI » | DWG-DARK » | DWG [multi] »
##Features
- Ability to monitor and display each WireGuard peer in AdGuard Home.
- The interface is dark.
- Build based on WG-Easy.
The build is in testing! There may be errors!
##Requirements
- A clean, empty server.
- Supported operating systems: Ubuntu 20.04, 22.04; Debian 11; CentOS 8, 9.
The script installs everything automatically, and you’ll find explanations for each step in the comments inside the script itself.
The fastest installation — 1 minute
Run the command on a clean server:
apt update && apt install curl sudo git -y && curl -Of https://raw.githubusercontent.com/DigneZzZ/dwg-dark/main/setup.sh && chmod +x setup.sh && ./setup.sh
What will be installed
- First, Git will be installed so you can copy my repository.
- Docker — the latest version.
- Docker-compose — the latest version.
- WG-Easy — interactive password entry for the web interface.
- AdGuard Home — interactive user and password setup (you can keep it default).
- Unbound — all in stock.
- apache2-utils — needed to generate hash passwords.
- ssh.sh — script to change SSH port.
- ufw.sh — script to install the UFW firewall.
- The script will remind you to install ufw-docker and will close external access. Important! Run it only after you have created a WireGuard client for yourself!
GitHub repository for the build: https://github.com/DigneZzZ/dwg-dark
DWG tools in the tools folder
- agh.sh — script to change the password in AGH;
- docker.sh — script to selectively install only Docker;
- nano.sh — script to install the nano editor;
- ssh.sh — script to change SSH ports;
- swap.sh — script to add a swap file with optimal calculation based on your system characteristics;
- ufw-docker.sh — install ufw-docker with external access blocked to ports (can be installed only if UFW is already installed);
- ufw.sh — install the UFW firewall;
- wg-ru.sh — Russian localization and modernization of the WG-Easy user page.
Useful links
DWG-UI for beginners on a VPS by aeza.net
Don’t forget to secure containers from external access:
The article was first published on 02.05.2023 on openode.xyz; moved and updated on 04.08.2026.

