Skip to content

derek-diaz/Faro

Repository files navigation

Faro lighthouse logo

Faro

Friendly, self-hosted DNS control and network visibility for your homelab.

Faro pairs CoreDNS with an approachable web app so you can understand and control DNS activity without sending your network data to a third party.

Faro dashboard showing network health, DNS traffic, devices, and upstream resolvers

Your network health, DNS activity, and devices—all in one place.

Features

  • Guided first-run setup and local administrator authentication
  • Live dashboard and searchable network activity
  • Device inventory, friendly names, and activity replay
  • Home protection plus custom per-device protection setups
  • Local DNS records, per-protection exceptions, and curated blocklists
  • Upstream DNS selection with live latency comparisons
  • DNS cache and upstream-resolution visibility
  • Clear explanations for why requests were allowed or blocked
  • Configurable retention, database pruning, and health metrics
  • Downloadable, passphrase-encrypted database backups with in-app restore

Run Faro

You need Docker Compose and a machine with a fixed LAN IP or DHCP reservation.

mkdir faro && cd faro
curl -LO https://raw.githubusercontent.com/derek-diaz/Faro/main/docker-compose.yml
docker compose up -d

On Windows PowerShell, download the file with:

New-Item -ItemType Directory faro -Force | Out-Null
Set-Location faro
Invoke-WebRequest https://raw.githubusercontent.com/derek-diaz/Faro/main/docker-compose.yml -OutFile docker-compose.yml
docker compose up -d

Open http://YOUR-FARO-IP:1787 and create the administrator account. First-run setup remains open until that account is created, then Faro closes account creation automatically. Complete the guided setup, then configure your router's DHCP DNS server to use YOUR-FARO-IP.

Port Protocol Purpose
1787 TCP Faro web interface
53 TCP and UDP DNS for your router and devices

Port 53 must be available on the Docker host for normal router-wide DNS use.

Update Faro

Run these commands from the directory containing docker-compose.yml:

docker compose pull
docker compose up -d

For port customization, verification, troubleshooting, backups, local development, architecture, and release publishing, see the technical and deployment guide.

License

Copyright 2026 Derek Diaz Correa.

Licensed under the Apache License, Version 2.0. See LICENSE for the full license text.

Made in Puerto Rico.

About

A modern DNS control plane built on CoreDNS with local DNS, blocklists, observability, caching, and per-device network insights.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Contributors