title | description | published | date | tags | editor | dateCreated |
---|---|---|---|---|---|---|
Hypervisor |
1 |
2024-11-27 03:01:33 UTC |
hypervisor |
markdown |
2024-11-26 09:33:21 UTC |
This guide provides a structured approach to building your first homelab using Proxmox VE. It's designed for beginners while maintaining best practices for security and stability.
- Project Vision
- Hardware Planning
- Proxmox Installation Guide
- Core Infrastructure Setup
- Application Deployment
- Backup Strategy
- Remote Access
- Create a beginner-friendly homelab environment
- Focus on security and stability
- Provide practical, hands-on experience
- Homelab beginners
- Tech enthusiasts with basic technical knowledge
- Self-hosted service enthusiasts
- CPU: 64-bit dual-core processor (Intel EMT64 or AMD64)
- RAM: 8GB minimum (16GB recommended)
- Storage: 120GB SSD minimum
- Network: Gigabit Ethernet
- CPU: Quad-core or better
- RAM: 32GB
- Storage: 500GB SSD + Additional storage drives
- Network: Multiple Gigabit Ethernet ports
- Proxmox VE ISO from official website
- USB drive (8GB minimum)
- Ventoy for USB creation
-
Download Ventoy:
- Visit Ventoy GitHub
- Install on your USB drive
-
Download Proxmox VE:
# Verify the ISO checksum after downloading sha256sum proxmox-ve_*.iso
-
Copy the ISO:
- Drag the Proxmox ISO to your Ventoy USB drive
- Access BIOS/UEFI settings
- Enable:
- Virtualization (VT-x/AMD-V)
- IOMMU
- ECC (if available)
- Disable:
- Secure Boot
- CSM/Legacy Boot
- Boot from USB
- Select Proxmox VE installer
- Configure:
- Target disk (use entire disk for system)
- Location/Timezone
- Admin password (use strong password)
- Network settings (static IP recommended)
-
Generate SSH Key (on your workstation):
ssh-keygen -t ed25519 -C "homelab-admin"
-
Create Admin User:
# On Proxmox host apt update apt install sudo useradd -m admin usermod -aG sudo admin
-
Configure SSH:
# Create SSH directory mkdir -p /home/admin/.ssh chmod 700 /home/admin/.ssh # Add your public key nano /home/admin/.ssh/authorized_keys chmod 600 /home/admin/.ssh/authorized_keys chown -R admin:admin /home/admin/.ssh
-
Secure SSH Configuration:
# Edit SSH config nano /etc/ssh/sshd_config
Add:
Port 22 PubkeyAuthentication yes PasswordAuthentication no PermitRootLogin prohibit-password MaxAuthTries 3
Instead of using community scripts, manually configure repositories:
-
Edit
/etc/apt/sources.list
:deb http://ftp.debian.org/debian bullseye main contrib deb http://ftp.debian.org/debian bullseye-updates main contrib deb http://security.debian.org/debian-security bullseye-security main contrib
-
Edit
/etc/apt/sources.list.d/pve-enterprise.list
:# Comment out enterprise repository # deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise
-
Add no-subscription repository:
echo "deb http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list
-
Update system:
apt update apt full-upgrade
-
Create LXC for Docker:
- OS: Ubuntu 22.04
- RAM: 4GB minimum
- Storage: 32GB minimum
- Features: Nesting enabled
-
Install Docker Environment:
# Install Docker and Dockge apt update && apt install docker.io docker-compose
-
Core Services:
- Heimdall (Dashboard)
- Dozzle (Log Management)
- Watchtower (Updates)
- Ntfy (Notifications)
-
Utility Services:
- Actual Server (Budget Management)
- Stirling-PDF (PDF Tools)
- Readarr (Ebook Management)
- Configure Proxmox Backup Server
- Implement automated backups
- Test restore procedures
- Cloudflare Tunnel Setup
- Reverse Proxy Configuration
- Security Hardening
Note: This guide is part of a larger homelab documentation series. For additional resources, check the Glossary and Further Reading sections.