VM 100 — docker-host
Extracted from the master document on 2026-09-04. §N numbering kept so cross-references are not broken.
10. Baseline
Section titled “10. Baseline”VMID: 100Hostname: docker-hostOS: Debian 13 / TrixieIP: 192.168.2.8/24 (ens18 interface)CPU: 2 vCPURAM: 4096 MiB (~3.8 GiB actual inside the OS)System disk: 50 GiB local-lvm (scsi0)Extra disk: HDD 1 TB passthrough (scsi1, backup=0)User: balseroDocker Engine and Compose come from the official Docker repository
(docker-ce, docker-ce-cli, containerd.io, docker-buildx-plugin,
docker-compose-plugin), validated with docker run hello-world.
QEMU Guest Agent active (running).
Note about RAM: after deploying Nextcloud AIO, Proxmox showed ~3.69/4
GiB (92.35 %). That is not sufficient reason to expand: you have to look at
free -h (the available column), swap and docker stats --no-stream. If there is
real pressure, the next expansion considered is 6 GiB.
11. Stack convention
Section titled “11. Stack convention”/opt/stacks/<service>/ ├── compose.yaml ├── .env ← secrets, chmod 600, in .gitignore └── <persistence>/ ← data that outlives the containerDirectories in use: caddy, cloudflared, portainer, uptime-kuma,
vaultwarden, nextcloud.
13. Base services
Section titled “13. Base services”Portainer — visual administration of Docker (containers, images,
volumes, networks, stacks). Environment local over
unix:///var/run/docker.sock. Attached to the proxy network and published by
Caddy.
Uptime Kuma + Discord — availability monitoring. The full flow
was validated for real: stop Portainer → Kuma detects DOWN → Discord
notifies → start → Kuma detects UP → Discord notifies recovery. The
integration is called Chivatiente; the webhook is secret.