+++ /dev/null
-# Network Manager
-
-Welcome to the **Network Manager Wiki**.
-
-Network Manager is a web-based platform designed to simplify the administration of network infrastructure through a centralized management interface. It integrates DNS, DHCP, and certificate management into a single solution, providing administrators with complete visibility and control over their network environment.
-
----
-
-## 🌐 What is Network Manager?
-
-Network Manager is an integrated frontend for:
-
-- **BIND DNS**
-- **Kea DHCP**
-- **Let's Encrypt** certificate management
-
-The application automatically generates and manages network configurations while maintaining a local configuration history that supports auditing and rollback operations. It is designed to reduce operational complexity, eliminate manual configuration errors, and provide a single source of truth for network services management.
-
----
-
-## ✨ Key Features
-
-### DNS Management
-
-Manage DNS zones and records through a modern web interface.
-
-### DHCP Management
-
-Configure and administer DHCP services and network hosts.
-
-### Automated Configuration Generation
-
-Generate DNS and DHCP configurations automatically from your defined domain and network settings.
-
-### Configuration Versioning
-
-Track changes, review history, and roll back to previous configurations when required.
-
-### Security & Authentication
-
-- Administrator authentication
-- Configurable login rate limiting
-- Docker Secrets support
-- Secure session management with customizable session keys
-
-### Lightweight & Self-Hosted
-
-- SQLite-based persistence
-- Minimal infrastructure requirements
-- Easy deployment with Docker and Docker Compose
-
-### Centralized Administration
-
-Manage hosts, DNS zones, DHCP leases, and certificates from a single interface.
-
----
-
-## 🏗 Architecture Overview
-
-```text
-┌─────────────────────────┐
-│ Web Interface │
-└────────────┬────────────┘
- │
- ▼
-┌─────────────────────────┐
-│ Network Manager │
-│ Backend/API │
-└───────┬─────────┬───────┘
- │ │
- ▼ ▼
- BIND DNS Kea DHCP
- │
- ▼
- Let's Encrypt
-```
-
----
-
-## 🚀 Getting Started
-
-Deploying Network Manager is straightforward:
-
-1. Prepare a Docker environment.
-2. Configure application settings through environment variables.
-3. Launch the application using Docker Compose.
-4. Access the web interface and start managing your network services.
-
-For detailed installation instructions, continue with the **Getting Started** section of this wiki.
-
----
-
-## 📚 Documentation
-
-### Introduction
-
-- Overview
-- Architecture
-- Design Principles
-
-### Installation
-
-- Requirements
-- Docker Deployment
-- Environment Setup
-
-### Configuration
-
-- Environment Variables
-- Authentication
-- Session Management
-- Logging
-
-### Administration
-
-- DNS Management
-- DHCP Management
-- Host Management
-- Certificate Management
-
-### Operations
-
-- Backup & Restore
-- Configuration Rollback
-- Monitoring & Logs
-- Troubleshooting
-
-### Development
-
-- Development Setup
-- Project Structure
-- Roadmap
-- Contributing
-
----
-
-## 📦 Technology Stack
-
-- Python Backend
-- SQLite Database
-- BIND DNS
-- Kea DHCP
-- Let's Encrypt
-- Docker
-- Docker Compose
-
----
-
-## 🎯 Project Goals
-
-Network Manager aims to provide:
-
-- A unified interface for network service administration
-- Automated generation of service configurations
-- Secure and auditable infrastructure management
-- Simplified deployment and maintenance
-- Reliable configuration tracking and recovery mechanisms
-
----
-
-## 🚧 Project Status
-
-Network Manager is an actively developed project. New features and improvements are continuously planned and tracked through the project roadmap and TODO list.
-
----
-
-## 🤝 Contributing
-
-Contributions, bug reports, feature requests, and feedback are welcome.
-
-If you'd like to help improve Network Manager:
-
-1. Open an issue to discuss proposed changes.
-2. Fork the repository.
-3. Create a feature branch.
-4. Submit a pull request.
-
-Together we can build a powerful, modern, and easy-to-use network management platform.
-
----
-
-**Next:** → [[Getting Started]]
+++ /dev/null
-# Quick Start
-
-This guide deploys a persistent Network Manager instance for homelab or small network environments.
-For production deployments, review the security recommendations before exposing the application to untrusted networks.
-
-## Prerequisites
-
-- Docker Engine with the Compose plugin, or another compatible container runtime.
-- TCP port 8000 available on the host.
-- A writable data volume for the SQLite database, backups, and logs.
-- A modern web browser.
-
-## Option 1: Docker Compose
-
-Download the homelab Compose file and start WebSSH:
-
-```bash
-mkdir network-manager-deployment
-cd network-manager-deployment
-curl -O https://raw.githubusercontent.com/xraver/network-manager/main/docker-compose.yaml
-docker compose up -d
-```
-
-PowerShell:
-
-```powershell
-New-Item -ItemType Directory -Path network-manager-deployment
-Set-Location network-manager-deployment
-Invoke-WebRequest `
- https://raw.githubusercontent.com/xraver/network-manager/main/docker-compose.yaml `
- -OutFile docker-compose.yml
-docker compose up -d
-```
-
-Open `http://localhost:8000` or replace `localhost` with the host address.
-
-## Option 2: Docker run
-
-```bash
-docker run -d \
- --name network-manager \
- -p 8000:8000 \
- -e DOMAIN=example.com \
- -e EXTERNAL_NAME=dyndns.example.com \
- -e ADMIN_USER=admin \
- -e ADMIN_PASSWORD=admin \
- -v network_manager_data:/data \
- --restart unless-stopped \
- ghcr.io/xraver/network-manager:latest
-```
-
-The persistent volume is essential. It stores:
-- SQLite database
-- Configuration data
-- Backups
-- Application logs
-
-Removing the volume will permanently remove all stored data.
-
-## Administrator Password
-
-By default, the application creates the administrator account using the configured environment variables:
-```bash
-ADMIN_USER=admin
-ADMIN_PASSWORD=admin
-```
-For production environments, avoid plaintext passwords and use a Docker secret containing a bcrypt password hash.
-
-Generate a password hash:
-```python
-python - <<'PY'
-import bcrypt
-
-password = b"SecurePassword"
-print(bcrypt.hashpw(password, bcrypt.gensalt()).decode())
-PY
-```
-Save the result to:
-```bash
-./secrets/admin_password_hash
-```
-
-and reference it through:
-```bash
-ADMIN_PASSWORD_HASH_FILE: /run/secrets/admin_password_hash
-```
-
-## Verify the instance
-
-Check container state and readiness:
-
-```bash
-docker compose ps
-curl -fsS http://localhost:8000/about
-curl -fsS http://localhost:8000/api/health
-```
-
-You should receive an HTTP response from the application.
-
-```json
-{
- "app": {
- "name": "network-manager",
- "version": "1.0.0"
- },
- "domain": "example.org",
- "server_time": "2026-08-31T05:33:19.344005+00:00"
-}
-```
-
-```json
-{
- "status": "healthy",
- "latency_ms": 0.69,
- "database": {
- "status": "healthy",
- "version": "3.53.2",
- "tables": 6,
- "size_mb": 0.07
- }
-}
-```
-
-Review logs:
-```bash
-docker compose logs --tail=200 network-manager
-```
-
-Open the web interface and log in using the configured administrator account.
-
-## Next steps
-
-- [Docker and Docker Compose](Docker-and-Docker-Compose)
-- [Production Deployment](Production-Deployment)
-- [Users and Account Management](Users-and-Account-Management)
-- [Backup, Restore and Secret Rotation](Backup-Restore-and-Secret-Rotation)
--- /dev/null
+# Network Manager
+
+Welcome to the **Network Manager Wiki**.
+
+Network Manager is a web-based platform designed to simplify the administration of network infrastructure through a centralized management interface. It integrates DNS, DHCP, and certificate management into a single solution, providing administrators with complete visibility and control over their network environment.
+
+---
+
+## 🌐 What is Network Manager?
+
+Network Manager is an integrated frontend for:
+
+- **BIND DNS**
+- **Kea DHCP**
+- **Let's Encrypt** certificate management
+
+The application automatically generates and manages network configurations while maintaining a local configuration history that supports auditing and rollback operations. It is designed to reduce operational complexity, eliminate manual configuration errors, and provide a single source of truth for network services management.
+
+---
+
+## ✨ Key Features
+
+### DNS Management
+
+Manage DNS zones and records through a modern web interface.
+
+### DHCP Management
+
+Configure and administer DHCP services and network hosts.
+
+### Automated Configuration Generation
+
+Generate DNS and DHCP configurations automatically from your defined domain and network settings.
+
+### Configuration Versioning
+
+Track changes, review history, and roll back to previous configurations when required.
+
+### Security & Authentication
+
+- Administrator authentication
+- Configurable login rate limiting
+- Docker Secrets support
+- Secure session management with customizable session keys
+
+### Lightweight & Self-Hosted
+
+- SQLite-based persistence
+- Minimal infrastructure requirements
+- Easy deployment with Docker and Docker Compose
+
+### Centralized Administration
+
+Manage hosts, DNS zones, DHCP leases, and certificates from a single interface.
+
+---
+
+## 🏗 Architecture Overview
+
+```text
+┌─────────────────────────┐
+│ Web Interface │
+└────────────┬────────────┘
+ │
+ ▼
+┌─────────────────────────┐
+│ Network Manager │
+│ Backend/API │
+└───────┬─────────┬───────┘
+ │ │
+ ▼ ▼
+ BIND DNS Kea DHCP
+ │
+ ▼
+ Let's Encrypt
+```
+
+---
+
+## 🚀 Getting Started
+
+Deploying Network Manager is straightforward:
+
+1. Prepare a Docker environment.
+2. Configure application settings through environment variables.
+3. Launch the application using Docker Compose.
+4. Access the web interface and start managing your network services.
+
+For detailed installation instructions, continue with the **Getting Started** section of this wiki.
+
+---
+
+## 📚 Documentation
+
+### Introduction
+
+- Overview
+- Architecture
+- Design Principles
+
+### Installation
+
+- Requirements
+- Docker Deployment
+- Environment Setup
+
+### Configuration
+
+- Environment Variables
+- Authentication
+- Session Management
+- Logging
+
+### Administration
+
+- DNS Management
+- DHCP Management
+- Host Management
+- Certificate Management
+
+### Operations
+
+- Backup & Restore
+- Configuration Rollback
+- Monitoring & Logs
+- Troubleshooting
+
+### Development
+
+- Development Setup
+- Project Structure
+- Roadmap
+- Contributing
+
+---
+
+## 📦 Technology Stack
+
+- Python Backend
+- SQLite Database
+- BIND DNS
+- Kea DHCP
+- Let's Encrypt
+- Docker
+- Docker Compose
+
+---
+
+## 🎯 Project Goals
+
+Network Manager aims to provide:
+
+- A unified interface for network service administration
+- Automated generation of service configurations
+- Secure and auditable infrastructure management
+- Simplified deployment and maintenance
+- Reliable configuration tracking and recovery mechanisms
+
+---
+
+## 🚧 Project Status
+
+Network Manager is an actively developed project. New features and improvements are continuously planned and tracked through the project roadmap and TODO list.
+
+---
+
+## 🤝 Contributing
+
+Contributions, bug reports, feature requests, and feedback are welcome.
+
+If you'd like to help improve Network Manager:
+
+1. Open an issue to discuss proposed changes.
+2. Fork the repository.
+3. Create a feature branch.
+4. Submit a pull request.
+
+Together we can build a powerful, modern, and easy-to-use network management platform.
+
+---
+
+**Next:** → [[Getting Started]]
--- /dev/null
+# Quick Start
+
+This guide deploys a persistent Network Manager instance for homelab or small network environments.
+For production deployments, review the security recommendations before exposing the application to untrusted networks.
+
+## Prerequisites
+
+- Docker Engine with the Compose plugin, or another compatible container runtime.
+- TCP port 8000 available on the host.
+- A writable data volume for the SQLite database, backups, and logs.
+- A modern web browser.
+
+## Option 1: Docker Compose
+
+Download the homelab Compose file and start WebSSH:
+
+```bash
+mkdir network-manager-deployment
+cd network-manager-deployment
+curl -O https://raw.githubusercontent.com/xraver/network-manager/main/docker-compose.yaml
+docker compose up -d
+```
+
+PowerShell:
+
+```powershell
+New-Item -ItemType Directory -Path network-manager-deployment
+Set-Location network-manager-deployment
+Invoke-WebRequest `
+ https://raw.githubusercontent.com/xraver/network-manager/main/docker-compose.yaml `
+ -OutFile docker-compose.yml
+docker compose up -d
+```
+
+Open `http://localhost:8000` or replace `localhost` with the host address.
+
+## Option 2: Docker run
+
+```bash
+docker run -d \
+ --name network-manager \
+ -p 8000:8000 \
+ -e DOMAIN=example.com \
+ -e EXTERNAL_NAME=dyndns.example.com \
+ -e ADMIN_USER=admin \
+ -e ADMIN_PASSWORD=admin \
+ -v network_manager_data:/data \
+ --restart unless-stopped \
+ ghcr.io/xraver/network-manager:latest
+```
+
+The persistent volume is essential. It stores:
+- SQLite database
+- Configuration data
+- Backups
+- Application logs
+
+Removing the volume will permanently remove all stored data.
+
+## Administrator Password
+
+By default, the application creates the administrator account using the configured environment variables:
+```bash
+ADMIN_USER=admin
+ADMIN_PASSWORD=admin
+```
+For production environments, avoid plaintext passwords and use a Docker secret containing a bcrypt password hash.
+
+Generate a password hash:
+```python
+python - <<'PY'
+import bcrypt
+
+password = b"SecurePassword"
+print(bcrypt.hashpw(password, bcrypt.gensalt()).decode())
+PY
+```
+Save the result to:
+```bash
+./secrets/admin_password_hash
+```
+
+and reference it through:
+```bash
+ADMIN_PASSWORD_HASH_FILE: /run/secrets/admin_password_hash
+```
+
+## Verify the instance
+
+Check container state and readiness:
+
+```bash
+docker compose ps
+curl -fsS http://localhost:8000/about
+curl -fsS http://localhost:8000/api/health
+```
+
+You should receive an HTTP response from the application.
+
+```json
+{
+ "app": {
+ "name": "network-manager",
+ "version": "1.0.0"
+ },
+ "domain": "example.org",
+ "server_time": "2026-08-31T05:33:19.344005+00:00"
+}
+```
+
+```json
+{
+ "status": "healthy",
+ "latency_ms": 0.69,
+ "database": {
+ "status": "healthy",
+ "version": "3.53.2",
+ "tables": 6,
+ "size_mb": 0.07
+ }
+}
+```
+
+Review logs:
+```bash
+docker compose logs --tail=200 network-manager
+```
+
+Open the web interface and log in using the configured administrator account.
+
+## Next steps
+
+- [Docker and Docker Compose](Docker-and-Docker-Compose)
+- [Production Deployment](Production-Deployment)
+- [Users and Account Management](Users-and-Account-Management)
+- [Backup, Restore and Secret Rotation](Backup-Restore-and-Secret-Rotation)