DWG DARK — a dark build of Docker + WireGuard (WG-Easy) + AdGuard Home with peer control

:warning: 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

  1. First, Git will be installed so you can copy my repository.
  2. Docker — the latest version.
  3. Docker-compose — the latest version.
  4. WG-Easy — interactive password entry for the web interface.
  5. AdGuard Home — interactive user and password setup (you can keep it default).
  6. Unbound — all in stock.
  7. apache2-utils — needed to generate hash passwords.
  8. ssh.sh — script to change SSH port.
  9. ufw.sh — script to install the UFW firewall.
  10. 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.