feat: add dnsmasq DNS record admin UI
- store records in SQLite via built-in node:sqlite, no native deps - wrap DB reads in await io() so they stay out of the static shell - add CRUD pages backed by Server Actions with per-request data - generate managed config and restart container via Docker socket - add /resolve page to query dnsmasq for A and CNAME records - add Dockerfile and compose setup with shared config volume
This commit is contained in:
27 files changed
+1344
-130
No files matched your search
@@ -0,0 +1,19 @@
|
||||
# Copy to .env.local and adjust for your setup. Every value is optional — the app falls back
|
||||
# to local paths under ./data so it runs with no configuration at all.
|
||||
|
||||
# SQLite database — the single source of truth for records. Docker: /data/dnsmasq-admin.db
|
||||
DNSMASQ_ADMIN_DB_PATH=./data/dnsmasq-admin.db
|
||||
|
||||
# Managed dnsmasq config file this app regenerates on every apply.
|
||||
# Docker: /etc/dnsmasq.d/dnsmasq-admin.conf
|
||||
DNSMASQ_ADMIN_CONF_PATH=./data/dnsmasq-admin.conf
|
||||
|
||||
# Container restarted over the Docker socket after an apply.
|
||||
DNSMASQ_CONTAINER_NAME=dnsmasq
|
||||
|
||||
# Docker socket. If it is missing (e.g. developing on Windows), the restart is skipped and
|
||||
# reported in the UI rather than failing.
|
||||
DNSMASQ_ADMIN_DOCKER_SOCKET=/var/run/docker.sock
|
||||
|
||||
# DNS server used by the /resolve page. Point this at your dnsmasq container or LAN IP.
|
||||
DNSMASQ_SERVER_IP=127.0.0.1
|
||||
Reference in new issue
Block a user