Homelab Setup Guide - Proxmox / TrueNAS / Docker Services
Table of Contents
Introduction
This tutorial provides a comprehensive guide to setting up a homelab using Proxmox, TrueNAS, and Docker services. Whether you're looking to create a network-attached storage (NAS) solution or run various local services, this guide will walk you through the necessary steps, from hardware selection to software installation and configuration.
Step 1: Choose the Right Hardware
- Select a compatible device to run Proxmox: Ensure it meets the minimum requirements for virtualization.
- Consider additional devices for accessing web interfaces: This can be any computer or tablet.
- Static public IP address: It's recommended to have a static IP for easier access and management.
- Know how to open ports: Familiarize yourself with your router settings to allow external access to your services.
- Domain name: Optional but recommended for easier access.
Step 2: Install Proxmox
-
Download Proxmox ISO:
- Visit the official Proxmox website to download the latest ISO image.
-
Create a bootable USB drive:
- Use software like Rufus or BalenaEtcher to create a bootable USB from the ISO.
-
Boot from USB:
- Insert the USB into your server and boot from it.
-
Follow installation prompts:
- Select your language, accept the license agreement, and choose the target hard drive for installation.
-
Network configuration:
- Set up your network settings including IP address, hostname, and DNS.
-
Complete installation:
- Reboot the server and access the Proxmox web interface through your web browser.
Step 3: Install TrueNAS
-
Create a new Virtual Machine in Proxmox:
- In the Proxmox interface, select 'Create VM' and follow the wizard.
-
Download TrueNAS ISO:
- Obtain the TrueNAS ISO from their official website.
-
Upload ISO to Proxmox:
- Navigate to the storage section in Proxmox and upload the TrueNAS ISO.
-
Install TrueNAS:
- Boot the VM with the TrueNAS ISO and follow the installation instructions.
-
Configure TrueNAS:
- Set up your storage pools and share settings based on your needs.
Step 4: Set Up Data Protection in TrueNAS
- Run a scrub test: Regularly check for data integrity.
- Create snapshots: Regularly back up your data.
- Perform long SMART tests: Schedule monthly tests to check hard drive health.
Step 5: Create Containers and Use Docker
-
Install Docker:
- Use the command line to install Docker on your TrueNAS system:
sudo apt-get update sudo apt-get install docker.io
-
Set Up Portainer:
- Install Portainer to manage your Docker containers easily.
- Access Portainer through the web interface and configure it to manage Docker.
-
Create and Manage Containers:
- Use Docker commands or the Portainer interface to create and manage your containers.
Step 6: Deploy Docker Compose Services
- Set up
docker-compose
to run multi-container applications. Create adocker-compose.yml
file for your services:
version: '3'
services:
app:
image: your-image
ports:
- "80:80"
Step 7: Additional Services Setup
- Pi-hole: Set up Pi-hole for network-wide ad-blocking.
- Wireguard: Configure Wireguard as a VPN for secure remote access.
- Nginx Proxy Manager: Use it to manage your domain names and proxy settings.
- Nextcloud and OnlyOffice: Set up these applications for file sharing and document editing.
Conclusion
Setting up a homelab with Proxmox, TrueNAS, and Docker opens up a world of possibilities for home networking and storage solutions. Remember to regularly perform maintenance tasks like scrubs and updates. Explore the additional services mentioned to enhance your homelab experience. For further resources, visit the provided GitHub links for boilerplates and personal notes. Happy building!