| tags |
updated |
| infrastructure |
| server |
| proxmox |
| homelab |
| personal |
|
2026-04-30 |
pve — Proxmox VE Homelab
SSH alias: pve → root@192.168.1.48:22
Key: ~/.ssh/id_ed25519
Web UI: https://192.168.1.48:8006
Overview
Home Proxmox VE server. Runs VMs and LXC containers for personal projects, self-hosted services, and homelab experimentation. Connected via Tailscale for remote access.
- Platform: Bare-metal (home server)
- OS: Proxmox VE 9.1.8 (kernel 6.17.13-2-pve) — security update 2026-04-24: pve-manager 9.1-8, libngtcp2-quic0, libproxmox-rs-perl, cluster libs
- IP: 192.168.1.48 (LAN)
- Tailscale: 100.122.192.8 (accessible remotely)
- CPU/RAM: Not audited (runs 8 containers + 1 VM comfortably)
Storage
| Pool |
Type |
Total |
Used |
Available |
% |
| data-hdd |
LVM-thin |
5.6 TB |
31 GB |
5.5 TB |
0.55% |
| local |
dir |
68 GB |
6.6 GB |
58 GB |
9.5% |
| local-lvm |
LVM-thin |
141 GB |
100 GB |
41 GB |
71% |
| usb-backup |
dir |
916 GB |
110 GB |
759 GB |
12% |
⚠ local-lvm is 71% full — watch this pool
Virtual Machines
| VMID |
Name |
Status |
RAM |
Disk |
| 200 |
kali-linux |
stopped |
8 GB |
60 GB |
LXC Containers
| VMID |
Name |
Status |
IP |
Purpose |
| 101 |
adguard |
running |
192.168.1.62 |
DNS ad-blocking (AdGuard Home) + Docker AdGuard |
| 102 |
docker |
running |
192.168.1.225 |
General Docker host — ~50 containers |
| 105 |
immich |
running |
192.168.1.71 |
Self-hosted photo management |
| 111 |
media |
running |
192.168.1.230 |
Media stack (Jellyfin, Radarr, Sonarr, Jellyseerr) |
Host Ports
| Port |
Service |
| 8006 |
Proxmox Web UI (HTTPS) |
| 3128 |
SPICE proxy |
| 22 |
SSH |
| 45876 |
Beszel agent |
| 9101 |
node_exporter (Prometheus metrics) |
Key Services on Host
- Tailscale — remote access overlay (100.122.192.8)
- Beszel agent — system monitoring
- node_exporter — Prometheus metrics
- Postfix — local mail relay
Beszel Monitoring
Hub runs in Docker (CT 102) at http://192.168.1.225:8090
| System |
IP |
Port |
Status |
| ProxMox (host) |
192.168.1.48 |
45876 |
up |
| adguard (CT 101) |
192.168.1.62 |
45876 |
up |
| docker (CT 102) |
192.168.1.225 |
45879 |
up |
| immich (CT 105) |
192.168.1.71 |
45876 |
up |
| media (CT 111) |
192.168.1.230 |
45876 |
up |
Container Details
CT 101 — adguard
- AdGuard Home DNS server (LXC)
- Also runs Docker AdGuard container — LAN DNS resolver
- IP: 192.168.1.62, Beszel agent: port 45876
CT 102 — docker
- General-purpose Docker host — ~50 containers
- Check inside with
pct exec 102 -- docker ps
- Docker data-root:
/mnt/data/docker (data-hdd mount)
- Config:
/etc/docker/daemon.json → {"data-root": "/mnt/data/docker"}
- Beszel Hub at port 8090 — manages all monitoring
- Beszel agent at port 45879 (monitors Docker host itself)
- System disk: ~51%
CT 105 — immich
- Photo management (Google Photos alternative)
- IP: 192.168.1.71, Beszel agent: port 45876
- PostgreSQL data dir:
/opt/immich/data/postgresql (data-hdd symlink)
- Upload dir:
/opt/immich/upload (200 GB data-hdd mount)
CT 111 — media
- Media stack: Jellyfin, Radarr, Sonarr, Jellyseerr
- IP: 192.168.1.230, Beszel agent: port 45876
- Jellyseerr at
media.ai-impress.com (5055)
- Jellyfin at 192.168.1.230:8096
Useful Commands
# List VMs and containers
ssh pve "qm list && pct list"
# Execute command in container
ssh pve "pct exec 102 -- docker ps"
# Start/stop container
ssh pve "pct start 110"
ssh pve "pct stop 110"
# Check storage
ssh pve "pvesm status"
Key Takeaways
- local-lvm at 71% — clean up unused volumes or expand before hitting 85%
- Kali Linux VM (200) stopped
- AdGuard (CT 101) = DNS for LAN — changing it affects all home devices
- All 4 LXC containers running — healthy cluster
- Tailscale enables access from anywhere without port forwarding
- CT 102 Docker data moved to data-hdd — system disk at 51% (healthy)
- CT 105 PostgreSQL/Immich data moved to data-hdd (healthy)
- Beszel monitoring all 5 systems (pve + 4 LXC) — all UP ✅ (2026-04-30)
Related