Video coming soon…

🎁 Setup the Privacy Stack — VPN, Ad-Blocking DNS, and a Private Resolver

Deploy a self-hosted privacy stack on Ubuntu with Docker — wg-easy VPN, AdGuard Home, and Unbound, pre-wired so your VPN clients get filtered, recursive, private DNS automatically.

⚠️ This script is provided for demo and testing purposes only. Not intended for production use.

📦 Resources & Setup Scripts

Grab the automated bash script from GitHub to follow along with the video.

Automated stack installer — one command deploys wg-easy, AdGuard Home, and Unbound with fixed IPs and the DNS chain pre-wired. It even frees port 53 from systemd-resolved for you.
View on GitHub

Quick Install:

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/stacks/privacy-stack/privacy-stack-ubuntu.sh
chmod +x privacy-stack-ubuntu.sh
./privacy-stack-ubuntu.sh

Tutorial Steps

1 Download the Script

wget https://raw.githubusercontent.com/mhmdali94/Docker/main/stacks/privacy-stack/privacy-stack-ubuntu.sh

2 Make it Executable

chmod +x privacy-stack-ubuntu.sh

3 Run the Installer

./privacy-stack-ubuntu.sh

4 Finish the AdGuard and WireGuard Wizards

http://your-server-ip:3053

Ports Used

PortPurpose
51820WireGuard VPN tunnel (UDP) — the only port to expose
51821WireGuard management UI — keep internal
3053AdGuard Home setup wizard (mapped from container port 3000)
8083AdGuard Home dashboard (mapped from container port 80)
53DNS (TCP/UDP) — reachable over VPN and LAN only

Overview

Why Use It

When You Need It

    Who Should Use It

      Real Use Cases

        Main Features

          How to Use After Installation

            Security Best Practices

              Ports and Firewall Notes

              Backup and Maintenance

                Common Mistakes

                  Troubleshooting

                    Alternatives

                    When Not to Use It

                    PrismaTechWork Professional Help

                      Contact Us

                      Frequently Asked Questions