Homelab setup
Step-by-step guide to setting up homelab for media storage and streaming.
Step 1: Choosing the Right Setup Approach
Option 1: Continue with Debian (Recommended for Simplicity) Since you already have Debian installed with SSH, you can manually set up a file-sharing and media server using tools like: Samba or NFS (for file sharing) Plex or Jellyfin (for movie and music streaming) Calibre Web (for book/magazine management)
Option 2: Use CasaOS (User-Friendly, NAS-Like) CasaOS provides an easy-to-use web UI to manage your files and install apps like Plex, Jellyfin, and Nextcloud with Docker containers. It’s simpler than Proxmox but still requires some Linux/Docker knowledge.
Option 3: Use Proxmox (For Virtualization & Expansion) Proxmox is a hypervisor that lets you run multiple virtual machines (VMs) and containers. If you want separate environments (e.g., one VM for media, another for hacking labs), Proxmox is a great choice, but it has a learning curve.
Step 2: Setting Up File Sharing
To access your files from different devices (Windows, Mac, Linux):
Option A: Use Samba (For Windows/macOS/Linux) Install Samba:
sudo apt update
sudo apt install samba
Edit Samba config:
sudo nano /etc/samba/smb.conf
Add at the bottom:
[Media]
path = /home/yourusername/Media
read only = no
browsable = yes
guest ok = yes
Restart Samba:
sudo systemctl restart smbd
Access the share:
Windows: \
Install NFS:
sudo apt install nfs-kernel-server
Configure NFS:
sudo nano /etc/exports
Add:
/home/yourusername/Media *(rw,sync,no_subtree_check)
Restart NFS:
sudo systemctl restart nfs-kernel-server
Step 3: Setting Up Media Streaming
Option A: Jellyfin (Free & Open-Source) Install:
sudo apt install curl
curl -fsSL https://repo.jellyfin.org/debian/jellyfin_team.gpg.key | sudo tee /etc/apt/trusted.gpg.d/jellyfin.asc
echo "deb [arch=$( dpkg --print-architecture )] https://repo.jellyfin.org/debian bookworm main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
sudo apt update
sudo apt install jellyfin
Start the service:
sudo systemctl enable --now jellyfin
Access it in a browser:
http://
Option B: Plex (Easier but Requires Account)
Install:
sudo apt install apt-transport-https curl
curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -
echo "deb https://downloads.plex.tv/repo/deb public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list
sudo apt update
sudo apt install plexmediaserver
Start Plex:
sudo systemctl enable --now plexmediaserver
Open http://
Step 4: Setting Up Book & Magazine Management Option: Calibre-Web (For eBooks & PDFs)
Install dependencies:
sudo apt install python3-pip
Install Calibre-Web:
sudo pip3 install calibreweb
Run it: calibre-web
Access in a browser:
http://
Next Steps Automate Downloads: Use Sonarr, Radarr, or Lidarr for automatic media downloads. Secure Access: Set up a VPN (WireGuard) or use a reverse proxy (Nginx). Consider Cloud Syncing: Nextcloud for cloud-style storage.