Skip to content

VM 100 — docker-host

Extracted from the master document on 2026-09-04. §N numbering kept so cross-references are not broken.

VMID: 100
Hostname: docker-host
OS: Debian 13 / Trixie
IP: 192.168.2.8/24 (ens18 interface)
CPU: 2 vCPU
RAM: 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: balsero

Docker 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.

/opt/stacks/<service>/
├── compose.yaml
├── .env ← secrets, chmod 600, in .gitignore
└── <persistence>/ ← data that outlives the container

Directories in use: caddy, cloudflared, portainer, uptime-kuma, vaultwarden, nextcloud.

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.

Vaultwarden — stack in /opt/stacks/vaultwarden, persistence in vw-data → /data, observed binding 127.0.0.1:8000 → :80. The container is re-creatable; vw-data is not.

Section titled “Vaultwarden — stack in /opt/stacks/vaultwarden, persistence in vw-data → /data, observed binding 127.0.0.1:8000 → :80. The container is re-creatable; vw-data is not.”