Skip to content

klutchell/balena-adguard

Repository files navigation

balena-adguard

If you're looking for a way to quickly and easily get up and running with an AdGuard Home device for your home network, this is the project for you.

This project is a balenaCloud stack with the following services:

  • AdGuard Home is a network-wide software for blocking ads & tracking.

balenaCloud is a free service to remotely manage and update your IoT devices through an online dashboard interface, as well as providing remote access to the AdGuard Home web interface without any additional configuation.

Getting Started

You can one-click-deploy this project to balena using the button below:

deploy with balena

Manual Deployment

Alternatively, deployment can be carried out by manually creating a balenaCloud account and application, flashing a device, downloading the project and pushing it via the balena CLI.

Application Environment Variables

Application environment variables apply to all services within the application, and can be applied fleet-wide to apply to multiple devices.

Name Description
TZ Inform services of the timezone in your location
SET_HOSTNAME Set a custom hostname on application start. Default is adguard.
DNS_INTERFACES Optionally provide a space-separated list of interfaces to bind DNS. For example: eth0 wlan0 tailscale0.
TS_AUTH_KEY Tailscale auth key to join an existing Tailnet. Default is unset.

Usage

Initial setup

Once your device joins the fleet you'll need to allow some time for it to download the application.

Note that joining an Open Fleet does not require a balena account nor does it add the device to your personal balena dashboard. If you would rather manage your device and fleet directly you can fork this fleet.

  1. Connect to http://adguard.local or if that doesn't work http://YOUR-DEVICE-IP:80/install.html in your browser
    • YOUR-DEVICE-IP should be the IP assigned via DHCP from your home router, you can find this IP in your router interface.
  2. Select All interfaces and port 80 for the Admin Web Interface listen interface
  3. Select either eth0 or wlan0 and port 53 for the DNS server listen interface
  4. Provide an admin username and password

Documentation for Adguard Home can be found at https://github.com/AdguardTeam/AdGuardHome/wiki/Getting-Started

It is recommended that you assign a static IP to your AdGuard Home device via you router or DHCP server if possible!

Encryption setup

https://github.com/AdguardTeam/AdGuardHome/wiki/Encryption

Check out the letsencrypt branch of this repo for instructions on using certbot to automatically generate and renew SSL certificates.

https://github.com/klutchell/balena-adguard/tree/letsencrypt

Acknowledgments

Original software is by AdGuard: https://adguard.com/en/adguard-home/overview.html