146 lines
4.9 KiB
Markdown
146 lines
4.9 KiB
Markdown
---
|
|
tags: [infrastructure, server, proxmox, homelab, personal]
|
|
updated: 2026-04-24
|
|
---
|
|
|
|
# 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 | running | 8 GB | 60 GB |
|
|
|
|
## LXC Containers
|
|
|
|
| VMID | Name | Status | Purpose |
|
|
|------|------|--------|---------|
|
|
| 100 | ollama | running | Local LLM inference (Ollama) |
|
|
| 101 | adguard | running | DNS ad-blocking (AdGuard Home) |
|
|
| 102 | docker | running | General Docker container host |
|
|
| 103 | beszel | running | Server monitoring dashboard |
|
|
| 104 | vaultwarden | running | Bitwarden-compatible password manager |
|
|
| 105 | immich | running | Self-hosted photo management |
|
|
| 107 | homarr | running | Homepage / service dashboard |
|
|
| 110 | uptimekuma | running | Uptime monitoring |
|
|
|
|
## 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
|
|
|
|
## Container Details
|
|
|
|
### CT 100 — ollama
|
|
- Runs Ollama server for local LLM inference
|
|
- Access models from LAN
|
|
|
|
### CT 101 — adguard
|
|
- AdGuard Home DNS server
|
|
- Likely set as LAN DNS resolver (192.168.1.x)
|
|
|
|
### CT 102 — docker
|
|
- General-purpose Docker host for misc containers
|
|
- Check inside with `pct exec 102 -- docker ps`
|
|
- **17 containers running**, all with `unless-stopped`/`always` restart policies
|
|
- **Docker data-root**: `/mnt/data/docker` (300 GB data-hdd mount)
|
|
- Config: `/etc/docker/daemon.json` → `{"data-root": "/mnt/data/docker"}`
|
|
- Moved from `/var/lib/docker` on 2026-04-24
|
|
- **System disk**: 51% used (was 88% before Docker data-root migration — resolved ✅ 2026-04-24)
|
|
|
|
### CT 103 — beszel
|
|
- Monitoring hub for all containers/VMs
|
|
- Pulls metrics from beszel agents running on each host
|
|
|
|
### CT 104 — vaultwarden
|
|
- Self-hosted Bitwarden password manager
|
|
- Separate from aimpress VPS vaultwarden
|
|
|
|
### CT 105 — immich
|
|
- Photo management (Google Photos alternative)
|
|
- **PostgreSQL data dir**: `/opt/immich/data/postgresql` (on data-hdd)
|
|
- Symlink at original path: `/var/lib/postgresql` → `/opt/immich/data/postgresql`
|
|
- Migrated from `/var/lib/postgresql` on 2026-04-24
|
|
- **Immich cache**: `/opt/immich/data/cache` on data-hdd, symlinked from `/opt/immich/cache`
|
|
- **Upload dir**: `/opt/immich/upload` — existing 200 GB data-hdd mount (unchanged)
|
|
- **System disk**: 62% used (was 82% before migration — resolved ✅ 2026-04-24)
|
|
|
|
### CT 107 — homarr
|
|
- Dashboard at http://192.168.1.224:7575 (or configured port)
|
|
- Shows all services, integrates with Docker/Proxmox
|
|
|
|
### CT 110 — uptimekuma
|
|
- Monitors all services for uptime
|
|
- Web UI — configure webhooks to monitoring-agent for alerts
|
|
- ⚠ Pending: add Webhook to `http://192.168.1.225:9111/alert/uptime-kuma`
|
|
|
|
## Useful Commands
|
|
|
|
```bash
|
|
# 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) running — for security/pentesting
|
|
- Ollama (CT 100) = local LLM inference, no API key needed
|
|
- AdGuard (CT 101) = DNS for LAN — changing it affects all home devices
|
|
- All 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 — system disk at 68% (healthy)
|
|
|
|
## Related
|
|
|
|
- [[wiki/homelab/_index|homelab/]] — full homelab docs
|
|
- [[wiki/infrastructure/server-aimpress|server-aimpress]]
|
|
- [[wiki/infrastructure/ssh-aliases|ssh-aliases]]
|