Running Pi-hole for Ad Blocking

Deploy Pi-hole as a container on ALPON X5 AI or ALPON X4 through ALPON Cloud: pull the image, push it to the Sixfab Container Registry (or use Docker Hub), set the environment, volumes and Host Network, then point your network at the ALPON for network-wide ad blocking.

Deploy Pi-hole on ALPON

Run Pi-hole as a container on your ALPON X5 AI or ALPON X4 and block advertising and tracking domains for every client on the local network. This guide deploys the official image through ALPON Cloud, sets the environment, volumes and Host Network it needs, opens the admin dashboard, and points your network at the ALPON as its DNS server.

ALPON X5 AI ALPON X4 Pi-hole Ad blocking
ALPON · Tutorial · Containers · Networking
How do I deploy Pi-hole on ALPON?

Push the pihole/pihole image to your Sixfab Container Registry (or deploy it straight from Docker Hub), then use the Applications → Deploy panel on ALPON Cloud to launch the container on your ALPON X5 AI or ALPON X4 with the TZ, FTLCONF_webserver_api_password and FTLCONF_dns_interface environment variables, two persistent volumes and Host Network enabled. Open http://<DEVICE_IP>/admin/login.php to reach the Pi-hole dashboard, then set the ALPON's IP as the DNS server on your router or on each device.

Overview

Pi-hole is a DNS sinkhole that blocks many advertising and tracking domains for clients that use it as their DNS resolver. It cannot remove every ad — especially content served from the same domains as video or application traffic. Running it as a container on an ALPON X5 AI or ALPON X4 gives the whole local network ad blocking from one always-on device that stays manageable through ALPON Cloud.

The steps below are identical on ALPON X4 and ALPON X5 AI. For current configuration options and limitations, see the official Pi-hole documentation.

Before you start

You need an ALPON X5 AI or ALPON X4 registered on ALPON Cloud, and Docker installed on your build machine to pull and push the image. New to container deployment? Start with Containerize Apps for ALPON.

  1. 1

    Add the Pi-hole container

    Make sure the pihole/pihole image is available to your device. The recommended path is to push it to your Sixfab Container Registry so deployments are fast and work offline. From your build machine, pull the arm64 image:

    bash · pull the image
    docker pull --platform linux/arm64 pihole/pihole:latest

    Then log in to Sixfab Registry, click + Add Container, and follow the prompts to push the image.

    Pushing images to the Sixfab Container Registry

    For the full walkthrough of tagging and pushing an image, see Update Containers from the Sixfab Container Registry.

    Alternative: deploy straight from Docker Hub

    If you prefer not to use the Sixfab Container Registry, choose “I would like to use my own container path” during deployment and enter pihole/pihole:latest. The container is then pulled directly from Docker Hub (the device needs internet access at deploy time).

  2. 2

    Deploy the container on ALPON

    Open your device in ALPON Cloud, go to the Applications section, and click + Deploy. In the Deploy Container window, use these settings:

    Container Name pihole
    Image The Pi-hole image and tag you pushed to the Sixfab Container Registry — or, using the alternative option, pihole/pihole:latest.
    Environment Click + Add More in the Environment section and add the three variables in the first table below.
    Volumes Click + Add More in the Volumes section and add the two volumes in the second table below.
    Enable Host Network Turn this on so Pi-hole can answer DNS queries from the local network.

    Environment variables

    KeyValueDescription
    TZYour time zone, e.g. America/New_YorkSets your local time. Find yours in the tz database list.
    FTLCONF_webserver_api_passwordA secure passwordCreates the password for the Pi-hole dashboard — don’t forget it!
    FTLCONF_dns_interfaceeth1Tells Pi-hole to use the ALPON’s network interface.
    More environment variables

    Environment variables are not limited to these three; see the Pi-hole Docker documentation for the full list.

    Volumes

    Read/WriteLocal PathTarget Path
    Read/Write/root/etc-pihole/etc/pihole
    Read/Write/root/etc-dnsmasq.d/etc/dnsmasq.d

    Click + Deploy to launch Pi-hole on the device.

  3. 3

    Open the Pi-hole dashboard

    Once the deployment finishes, find the device's local IP address under Asset Details → Network tab → Interface Monitoring → Details, then open the dashboard in a browser:

    browser · Pi-hole dashboard
    http://<DEVICE_IP>/admin/login.php

    You’ll land on the Pi-hole login page. Sign in with the password you set in FTLCONF_webserver_api_password. If you see the dashboard, you’re almost there — if it doesn't load, confirm the container is running in the Applications section and that Host Network was enabled in step 2.

  4. 4

    Set your ALPON as the DNS server

    Now tell your network to use the ALPON as its DNS server. You have two options.

    Option 1: Router DHCP settings (recommended)

    1. Log in to your router: open a browser, enter your router’s IP (often 192.168.1.1), and log in.
    2. Find the DHCP settings: look for something like “LAN Settings” or “DHCP Settings”.
    3. Set the DNS: enter your ALPON’s IP (e.g. 192.168.1.x) as the primary DNS server.
    4. Save and restart: save the settings, then reboot your devices to refresh their DNS settings.

    Every device on your network gets ad blocking automatically — no manual setup needed.

    Option 2: Manual device setup

    If you’d rather not touch your router, configure individual devices:

    • Windows: Network Settings → “Set DNS server manually” → enter the ALPON’s IP.
    • Android/iOS: Wi-Fi Settings → Modify Network → set DNS to the ALPON’s IP.
    • macOS: System Preferences → Network → DNS → add the ALPON’s IP.
  5. 5

    Test it out

    Back in the Pi-hole dashboard, check the Query Log. You should see DNS requests flowing through — blocked ads show as “filtered”. Browse a few ad-heavy sites to see the difference: fewer ads and faster loading.

Tips
  • Password safety: store the password you set in FTLCONF_webserver_api_password somewhere secure — you’ll need it for future logins.
  • Updates: Pi-hole updates itself, but keep an eye on ALPON Cloud for ALPON firmware updates.
  • Troubleshooting: if ads still sneak through, double-check your DNS settings or consult the Pi-hole community.
Ready when…
  • The pihole container shows as running in the Applications section.
  • The dashboard loads at http://<DEVICE_IP>/admin/login.php and accepts your password.
  • Your router or devices use the ALPON’s IP as their DNS server.
  • The Query Log shows requests coming in, with ad domains marked as filtered.

Pi-hole is now running on the ALPON and filtering DNS for your network. Tune block lists and settings from the dashboard as needed.

Production image policy: Replace floating :latest references with a reviewed immutable tag or digest, then record the selected version for rollback.


Did this page help you?