Skip to content

Dreadnought DDNS Manager — Documentation

Welcome to the Dreadnought DDNS Manager documentation. This folder contains everything you need to get running, from a five-minute quick start to deep-dive deployment and security guides.


Where to Start

New here? Start with the Overview to understand what Dreadnought does, then jump to the Quick Start.

Ready to deploy? See the Deployment Guide to pick the method that fits your environment.

Something broken? Jump straight to Troubleshooting.


Documentation Map

Getting Started

Document Description
Overview What Dreadnought is, how it works, and what it requires
Quick Start The shortest path from zero to running
Cloudflare Setup Creating your API token and finding your Zone ID
Configuration Reference Every environment variable explained
First Use Logging in and adding your first domain and record

Deployment

Document Description
Deployment Overview Comparison of all deployment methods
Docker Desktop Windows or macOS with Docker Desktop
Docker Compose — Linux/VPS Standard Linux server or VPS
Docker Compose — Raspberry Pi Running on a Pi at home
Manual Dockerfile Build Building and running images by hand
Coolify Self-hosted PaaS with automatic TLS
Portainer Docker UI with stack deployment
Bare Metal — Systemd No Docker; runs as systemd services
Nginx Reverse Proxy Putting Nginx in front of the app
Traefik Reverse Proxy Traefik with automatic TLS
Caddy Reverse Proxy Caddy with automatic HTTPS

Operations

Document Description
Usage Guide Managing domains, records, bulk import, and audit log
Security Hardening Firewall, secrets management, token scoping
Backup & Restore Protecting and recovering your data
Updating How to pull updates without losing data
API Reference REST API endpoints for automation
Troubleshooting Common errors and how to fix them

Application Architecture (Quick Reference)

Browser
  └─► Next.js Frontend  (port 8082 → internal 3000)
        └─► FastAPI Backend  (port 8081 → internal 8000)
              ├─► SQLite Database  (./data/ddns.db)
              └─► Cloudflare API

APScheduler Worker  (background, no exposed port)
  ├─► IP Detection Services  (multiple fallback endpoints)
  ├─► FastAPI Backend / SQLite
  └─► Discord Webhook  (optional)

Three containers run together: - api — REST API, authentication, record management - web — Next.js dashboard served to the browser - worker — Background process that polls for IP changes and syncs to Cloudflare


Default Ports (Local Access)

Service URL
Web UI http://localhost:8082
API http://localhost:8081
API health check http://localhost:8081/health