---
title: "05 — Servers & Docker"
description: "## Purpose"
section: nanda
raw: "05-servers-and-docker.md"
source: ai-generated
tags: network, aruba, siemens, vlan
last-updated: 2026-09-15
---

# 05 — Servers & Docker

> **Last updated:** 2026-09-05 · **Status:** 🚧 Draft · **Owner:** TBD

## Purpose

Inventory of all servers and the Docker containers running on them: what each one does, where it lives, how it's backed up, and how to get back in if the UI stops working.

## Server inventory

| Hostname | IP | Hardware | OS | Uptime target | Roles |
|----------|----|----------|----|---------------|-------|
| nas | 10.0.10.3 | TBD | TrueNAS / Proxmox | 99.9% | storage, backups, VMs |
| srv1 | 10.0.10.4 | TBD | Debian 12 | 99.5% | docker host, DNS |
| TBD | TBD | TBD | TBD | TBD | |

## Docker host(s)

| Item | Value |
|------|-------|
| Host | TBD |
| Docker version | TBD |
| Compose projects root | /opt/compose (TBD) |
| Auto-update mechanism | Watchtower / update container / manual |
| Registry credentials | SEE:PM:docker-registry |

## Container inventory

> One row per container. Keep the "image + tag" current so re-provisioning a
> host takes minutes, not days.

| Service | Compose project | Image (tag) | Ports exposed | Volumes | Depends on | Access URL | Notes |
|---------|-----------------|-------------|---------------|---------|-----------|------------|-------|
| DNS sinkhole | pihole | pihole/pihole:latest | 53/53, 80→8080 | /etc/pihole, /etc/dnsmasq | — | <http://10.0.10.2> | |
| Home Assistant | homeassistant | ghcr.io/home-assistant/home-assistant:stable | 8123/tcp | /config | — | <http://10.0.10.x:8123> | see 08 |
| Tailscale | tailscale | tailscale/tailscale:latest | — | /var/lib/tailscale | — | — | mesh VPN |
| Media server | TBD | TBD | 8096/tcp | /data/media | nas | TBD | |
| Backup (restic/borg) | TBD | TBD | — | /data/backups | — | — | offsite? |
| NVR / cam stack | TBD | TBD | TBD | TBD | — | TBD | |
| … | | | | | | | |

## Storage & volumes

| Path | Mount | Size | Used for | Snapshot/backup |
|------|-------|------|----------|-----------------|
| /data/media | TBD | TBD | Movies, music, photos | TBD |
| /data/backups | TBD | TBD | Restic/borg repos | offsite TBD |
| /opt/compose | local | — | compose files (git repo? | git |

## Backups

| What | Tool | Schedule | Retention | Restore tested |
|------|------|----------|-----------|----------------|
| Containers (compose files) | git | on change | forever | date TBD |
| App data (/config etc.) | restic/borg | nightly | TBD | date TBD |
| Media | TBD | TBD | TBD | date TBD |
| Firewall/switch configs | SEE:PM:backup-path | weekly | TBD | date TBD |

## Recovery notes

- If a server is rebuilt: restore order is **1)** infra (DNS, VPN), **2)**
  storage mounts, **3)** app containers, **4)** restore latest backup.
- Console / recovery access per server: SEE:PM:`<hostname>`-recovery

## Change log

| Date | Change | Why |
|------|--------|-----|
| 2026-09-05 | Boilerplate created | — |

## Related

- [01 — Architecture](/nanda/01-architecture/)
- [04 — IP Addressing](/nanda/04-ip-addressing/)
- [08 — Home Automation](/nanda/08-home-automation/)

---

## Source Disclaimer

- [x] AI Generated
- [ ] Human Generated
- [ ] AI Edited
- [ ] Human Edited
