Repolode
BeryJu

BeryJu/gravity

A fully-replicated DNS, DHCP and TFTP server backed by etcd, with a web UI and ad-blocking.

Stars
932
Forks
33
Open issues
57
Last commit
8 hours ago

What is it?

Gravity is a network services server that runs DNS, DHCP and TFTP on one or more nodes. It stores its configuration and state in etcd, so changes such as DNS zones, records and DHCP leases are replicated across every node in a cluster rather than living on a single machine.

The project includes a web interface for managing zones, records and leases, along with cluster node views. Its DNS side supports ad-blocking and caching, and it exposes Prometheus metrics, with a Grafana dashboard shown in its screenshots. An API is also provided for automation.

Gravity is written in Go and licensed under GPL-3.0. It is aimed at home labs and small networks that want redundant DNS and DHCP without maintaining separate servers by hand.

Key features

  • 01Replicates DNS zones, records and DHCP leases across nodes via etcd.
  • 02Provides DNS, DHCP and TFTP services in one server.
  • 03Includes ad-blocking and DNS caching.
  • 04Offers a web UI for managing zones, records and leases.
  • 05Exposes Prometheus metrics and an API.

Use cases

  • Running redundant DNS and DHCP for a home lab or small office network.
  • Keeping DNS records and DHCP leases consistent across several servers.
  • Blocking ads and trackers at the network DNS level.
  • Monitoring DNS and DHCP services with Prometheus and Grafana.

Things to know

  • Requires an etcd cluster as its backing store, which adds a heavy dependency to self-host.
  • Licensed under GPL-3.0, a copyleft license that requires derivative works to be released under the same terms.

In collections

Topics

FAQ

What is gravity?
A fully-replicated DNS, DHCP and TFTP server backed by etcd, with a web UI and ad-blocking. Gravity is a network services server that runs DNS, DHCP and TFTP on one or more nodes. It stores its configuration and state in etcd, so changes such as DNS zones, records and DHCP leases are replicated across every node in a cluster rather than living on a single machine.
Is gravity free to use? What license does it have?
gravity is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
Is gravity still maintained?
Actively maintained. The last commit to gravity was on Nov 6, 2026.
What can I use gravity for?
Running redundant DNS and DHCP for a home lab or small office network. Keeping DNS records and DHCP leases consistent across several servers. Blocking ads and trackers at the network DNS level. Monitoring DNS and DHCP services with Prometheus and Grafana.
Where can I get gravity?
The source code and installation instructions are on GitHub: https://github.com/BeryJu/gravity

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects

A curated, de-duplicated hosts file that merges several public blocklists to block ads, trackers, malware, and optional categories on any OS.

Security#hosts#ad-blocker#privacy
31.4K+60 this week2.4KPythonMITWell maintainedUpdated 5 days ago