Homelab
Homelab copied to clipboard
My first homelab server notes
Homelab
My first ever home server setup and installation notes. I don't know what I'm doing. No one should follow these steps under any circumstances. Please feel free to contribute suggestions and advice.
NB: This is a work in progress
Table of contents
- Overview
- Hardware installation
- Proxmox installation and setup
- Open Media Vault installation and setup
- Setup USB backup for the system
- Setup Plex
- Setup Arrs and other services in a Docker LXC
- Guides for other services:
- Calibre, Calibre-Web
- Pi-Hole
- Homepage Dashboard
- Game Utilities (e.g., scrape free Steam games)
- Manga
- Setup a reverse proxy with NGINX, Cloudflare, and Authentik
- Authentik configs for specific services
- Add and manage users via Plex
Overview
Goals
Primary goal
Create a small, low-power, always-on Plex server, which will use the *arr suite to automate obtaining and organizing media, alongside Overseerr as a front-end to handle requests for media from the family. Various other services will be added as well (e.g., Calibre, Pi-Hole, Home Assistant, etc.)
The hardware
Micro Lenovo M920Q, I7-8700T, 16gb RAM, 512GB NVME (main), 2TB 2.5" SSD (media)
The plan
Using Proxmox, the main NVME will host various Virtual Machines (VMs), and Linux Containers (LXCs). One VM in particular will function as a network accessible storage (NAS) operating system (OS) to share the second attached SSD media drive to the VMs and over the network.
[Storage VM]
- Open Media Vault (OMV) VM to share 2TB SSD media drive via SMB/CIFS to containers and as NAS
[Home Assistant OS VM]
- Home Assistant (supervised version for add-ons)
- Docker-wyze-bridge
- Scrypted
- note: OS versions for "supervised" since my doorbell (wyze) needs the bridge and scrypted to be added to HomeKit. HA has replaced Homebridge for me for HomeKit integration.
[Docker LXC]
-
Homepage - dashboard for all the running services
-
Arrs and Qbittorrent - to manage media
- Overseerr: front-end to handle discovery and requests for new media for the family. Integrates with the arr suite.
- Radarr: Manages your movie library
- Sonarr: Manages your TV library
- Lidarr: Manages your music ilbrary
- Prowlarr: Index manager for *arrs
- Bazarr: Subtitles companion app
- Readarr: Book, Magazine, Comics Ebook and Audiobook Manager and Automation
-
Calibre-web - manage book library
-
Mealie - recipes
-
Kavita - Manga and Comic server
-
NPM for reverse proxy
-
Authentik (redis, postgres, worker, server stack) for secure logins and single-sign-on to services
-
Dockerproxy
-
Portainer
-
Watchtower
[Plex LXC]
- "Bare-metal" Plex installation
- note: separate from Docker stack so I don't interrupt my family viewing when messing around with other services
[Pi-Hole LXC]
- "Bare-metal" Pi-Hole installation
[Bots Docker LXC]
-
MSRewards Bot - collect daily MS points
-
Epic games Bot - claims free Epic games
-
ArchisteamFarm + this plugin - claims free Steam games
-
Tracker auto-login - automatic daily login to useful sites
Setup Guides and resources
Generally speaking, I'll be using a Ibramenu to handle most of setup for the media-related dockers (e.g., Plex, Arrs). Ibramenu: https://github.com/ibracorp/ibramenu
Guides
- https://trash-guides.info - details the setup of the various *arr services, as well as hard linking. Hard linking reduces wear and tear on the media drive.
- https://youtu.be/p6aSlcbDHqc - youtube videos that detail installing and setting up Plex as a Ubuntu VM. Uses TrueNAS as the NAS, which is overkill for my setup, but the principle should be similar (i.e., create a SMB/CIFS share Media <-> Plex)
- https://tteck.github.io/Proxmox/ - for homebridge (automation/homebridge) and any other LXCs that have convenient setup scripts (e.g., secondary pi-hole LXC is an option)