No description
- Python 58.3%
- HTML 34.1%
- Nix 7.1%
- Just 0.5%
|
All checks were successful
Build and publish Nix Docker image / build-and-push (push) Successful in 2m43s
|
||
|---|---|---|
| .forgejo/workflows | ||
| src/aio_flask | ||
| .gitignore | ||
| aio-registrar-dns.container | ||
| compose.yaml | ||
| flake.lock | ||
| flake.nix | ||
| image.png | ||
| Justfile | ||
| pyproject.toml | ||
| README.md | ||
aio-flask
All-in-one container for hosting authoritative DNS with a web registrar UI.
Features
End user:
- Create account
- Request domain
- Delegate domain to own nameservers
- Edit zonefile to use build-in dns server
Registrar:
- Add tlds
- Approve domain requests
- Change text
Docker (recommended)
Example compose.yaml:
services:
aio:
image: code.steph.tools/steph/aio-registrar-dns:latest
container_name: aio-registrar-dns
restart: unless-stopped
environment:
HOST: "::"
PORT: 5000
DNS_PORT: ${DNS_PORT:-5300}
WHOIS_PORT: ${WHOIS_PORT:-43}
DB_PATH: /data/app.db
SECRET_KEY: ${SECRET_KEY} # openssl rand -hex 32
BOOTSTRAP_ADMIN_USERNAME: ${BOOTSTRAP_ADMIN_USERNAME:-admin}
BOOTSTRAP_ADMIN_PASSWORD: ${BOOTSTRAP_ADMIN_PASSWORD:-admin}
#WALLPAPER_PATH: /data/wallpaper.jpg # optional wallpaper path
ports:
- "80:5000"
- "${DNS_HOST_PORT:-53}:${DNS_PORT:-5300}/tcp"
- "${DNS_HOST_PORT:-53}:${DNS_PORT:-5300}/udp"
- "${WHOIS_HOST_PORT:-43}:${WHOIS_PORT:-43}/tcp"
volumes:
- aio_data:/data
volumes:
aio_data:
Set DNS_PORT to change the internal PowerDNS listen port. Optionally set DNS_HOST_PORT to control the host port mapping in Compose.
To bind the web UI to a Unix socket instead of a TCP port, set SOCKET_PATH and leave PORT unset. The socket file will be created automatically and removed when the server shuts down.
