# proxmox > Proxmox VE sysadmin for home lab infrastructure. Use when triaging services, checking container/VM status, viewing logs, managing resources, or debugging self-hosted apps. Can discover infrastructure dynamically via SSH. - Author: Michael Vessia - Repository: MichaelVessia/nixos-config - Version: 20260204211408 - Stars: 1 - Forks: 0 - Last Updated: 2026-02-07 - Source: https://github.com/MichaelVessia/nixos-config - Web: https://mule.run/skillshub/@@MichaelVessia/nixos-config~proxmox:20260204211408 --- --- name: proxmox description: | Proxmox VE sysadmin for home lab infrastructure. Use when triaging services, checking container/VM status, viewing logs, managing resources, or debugging self-hosted apps. Can discover infrastructure dynamically via SSH. allowed-tools: Bash, Read --- # Proxmox Home Lab Manager Sysadmin skill for managing Proxmox VE home lab infrastructure. ## Connection ```bash # Proxmox host (requires 2FA - password then OTP) ssh proxmox # Synology NAS (see ~/.ssh/config for Host entry) ssh nas ``` ## Discovery Commands ### List All Infrastructure ```bash # All containers with status, IPs ssh proxmox "pct list" # All VMs ssh proxmox "qm list" # Detailed resource usage (CPU, memory, disk) for everything ssh proxmox "pvesh get /cluster/resources --type vm --output-format json" | jq # Container config (shows IP, mounts, resources) ssh proxmox "pct config " # VM config ssh proxmox "qm config " ``` ### Network Discovery ```bash # Find container IP ssh proxmox "pct exec -- ip -4 addr show eth0" # What's listening in a container ssh proxmox "pct exec -- ss -tlnp" # Host network config ssh proxmox "cat /etc/network/interfaces" ``` ### Storage Discovery ```bash # Storage pools ssh proxmox "pvesm status" # Storage config ssh proxmox "cat /etc/pve/storage.cfg" # NFS mounts ssh proxmox "mount | grep nfs" # Disk usage ssh proxmox "df -h" ``` ## Container Management ```bash # Start/stop/restart ssh proxmox "pct start " ssh proxmox "pct shutdown " # graceful ssh proxmox "pct stop " # force ssh proxmox "pct reboot " # Enter container shell ssh proxmox "pct enter " # Run command in container ssh proxmox "pct exec -- " ``` ## VM Management ```bash ssh proxmox "qm start " ssh proxmox "qm shutdown " ssh proxmox "qm stop " # force ssh proxmox "qm reboot " ssh proxmox "qm status " ``` ## Service Debugging ### Find and Check Services ```bash # List systemd services in container ssh proxmox "pct exec -- systemctl list-units --type=service --state=running" # Check specific service ssh proxmox "pct exec -- systemctl status " # Service logs ssh proxmox "pct exec -- journalctl -u -n 100 --no-pager" # Follow logs live ssh proxmox "pct exec -- journalctl -u -f" # All recent logs in container ssh proxmox "pct exec -- journalctl -n 100 --no-pager" ``` ### Common Service Names Most containers run a single main service. Discover with: ```bash ssh proxmox "pct exec -- systemctl list-units --type=service --state=running" | grep -v systemd ``` Typical patterns: `jellyfin`, `AdGuardHome`, `caddy`, `sonarr`, `radarr`, `sabnzbd`, `tailscaled` ## Host Health ```bash # Overview ssh proxmox "pvesh get /nodes/pve/status" # Quick health ssh proxmox "uptime && free -h && df -h /" # ZFS status ssh proxmox "zpool status" # Host logs ssh proxmox "journalctl -n 100 --no-pager" ``` ## Backups ```bash # Backup job config ssh proxmox "cat /etc/pve/jobs.cfg" # List backups in storage ssh proxmox "pvesm list --content backup" ``` ## Troubleshooting ### Container Won't Start ```bash ssh proxmox "pct config " # check config ssh proxmox "df -h" # disk space ssh proxmox "ls /var/lock/pve-manager/pve-config/" # stale locks ``` ### Service Not Responding ```bash # 1. Container running? ssh proxmox "pct status " # 2. Service running? ssh proxmox "pct exec -- systemctl status " # 3. Logs ssh proxmox "pct exec -- journalctl -u -n 100 --no-pager" # 4. Port listening? ssh proxmox "pct exec -- ss -tlnp" # 5. Restart ssh proxmox "pct exec -- systemctl restart " ``` ### NFS Mount Issues ```bash ssh proxmox "mount | grep nfs" # current mounts ssh proxmox "cat /etc/fstab | grep nfs" # configured mounts ssh proxmox "mount -a" # remount all ``` ### Tailscale (if present) ```bash # Find tailscale container ssh proxmox "pct list" | grep -i tail # Check status (replace CTID) ssh proxmox "pct exec -- tailscale status" ``` ## Documentation Reference Detailed infrastructure docs (IPs, service configs, setup history) are in: `~/obsidian/Notes/PROXMOX_SETUP.md` Read this file if you need static reference info not discoverable via commands.