Archived article. DWG builds and accompanying scripts have not been updated for a long time and require serious updates. The material is kept for historical purposes.
DWG [multi] — my universal build for quick deployment of your own VPN server: Docker, WireGuard, AdGuard Home and Unbound are installed with a single script, and you choose the required build variant right during installation.
All builds in the series: Discussion of DWG » | DWG-CLI » | DWG-UI » | DWG-DARK » | DWG [multi] »
The information is for informational purposes. Please do not violate the laws of your country.
installation options
This is a universal build: inside it you choose which variant to install:
- DWG-UI
- DWG-CLI
- DWG-DARK (added!)
- DWG-A (Amnezia) (added!)
It is not recommended to install two builds in a row or on top of an existing one.
Requirements
- A clean, empty server.
- Supported operating systems: Ubuntu 20.04, 22.04; Debian 11; CentOS 8, 9.
First of all we need to rent a good fast server. Take the one that best suits you in terms of speed, and get a 15% bonus on the balance top-up (if you top up within the first 24 hours after registration): https://aeza.net/?ref=377137
You can measure speeds here: Aéza (aeza.net)
The script installs everything automatically, and explanations for each step can be found in the comments inside the script itself.
The fastest installation — 1 minute
Run the command on a clean server:
bash <(wget -qO- https://raw.githubusercontent.com/DigneZzZ/dwg/main/set-up.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 mode for the web interface.
- AdGuard Home — interactive mode for creating a user and password (you can keep the default).
- Unbound — all stock.
- apache2-utils — required for generating hash passwords.
- ssh.sh — script to change the SSH connection port.
- ufw.sh — script to install the UFW firewall.
- The script will remind you to install ufw-docker and will itself close external access. Attention! Run it only after you have created your WireGuard client!
Changing the AdGuard Home password
To change the password for AGH you can use the script below. Later, an option to change the password for WG-Easy will be added.
cd dwg && ./change.sh
After changing the password you need to recreate the containers with:
docker-compose up -d --force-recreate
Managing the build
DWG build repository on GitHub: https://github.com/DigneZzZ/dwg
A system service for managing it is now available:
dwg help
Description of the scripts in the tools folder
agh.sh— change login and password to AGH;docker.sh— install Docker and Docker-compose;nano.sh— install an editor;ssh.sh— script to change the default SSH port (can be changed to any port);swap.sh— script to add a swap file (relevant for everyone);ufw-docker.sh— script to install ufw-docker, relevant for WG-Easy; comes with a preset for dwg-ui;ufw.sh— install the UFW firewall with automatic detection of the SSH port and adding it to the exceptions.
Useful links
DWG-UI instructions for beginners on an aeza.net VPS
Don’t forget to secure containers from external access:
The article was first published on 02.05.2023 on openode.xyz; migrated and updated on 04.08.2026.
