These are my install notes for creating my homelab. The goal is a low-power, always-on media server, which will use the *arr suite to automate obtaining and organizing media, alongside Overseerr as a front-end to handle requests from the family. Along the way, I have added a dashboard, networking including reverse proxy and authentication, and various useful home services (e.g., home assistant, vaultwarden, calibre, pi-hole, etc.). All docker services are setup using docker compose, and all composes are provided.
Home Server: Micro Lenovo M920Q, I7-8700T, 32gb RAM
│
└── Proxmox (Host System)
│ ├── Storage
│ │ └── 512GB NVME (Used by VMs and Containers)
│ │
├── Virtual Machines
│ ├── OMV (OpenMediaVault) NAS
│ │ └── Shares
│ │ └── 2TB SSD (Shared as media storage to LXC Containers via SMB/CIFS)
│ │
└── LXC Containers
├── Pi-Hole (DNS adblocking)
├── Home Assistant (Smart devices and automation)
├── Scrypted (Doorbell and security cameras)
├── Vaultwarden (Family passwords)
├── Docker (Main Docker Services)
└── Plex (Media Server with iGPU passthrough)
...
- Setup Networking
- Create Local Subdomains with SSL
- App specific configs for Authentik
- Optional: Setup Crowdsec with NPM.md
Using Proxmox, the main NVME storage hosts various Virtual Machines (VMs), and Linux Containers (LXCs). Broadly speaking, LXCs share host resources and will be preferred over VMs, which reserve the resources that are allocated to them (whether they need them or not). 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 LXCs and over the network.
Open Media Vault (OMV) will be used share 2TB SSD media drive via SMB/CIFS to containers and as NAS. OMV functions best as a VM in this setup.
The majority of my apps are going to be in the Docker LXC. These will be setup using docker compose.yaml files, which I've grouped based on function. In a few cases, I have apps/services running as LXCs directly so they aren't interrupted.
These are the current services that I'm using in my homelab. They are mainly deployed using docker compose, and organized into logical 'stacks' on my Docker LXC with a few services as LXCs (e.g., Plex, Vaultwarden). All LXCs are installed by convenient scripts from: https://community-scripts.github.io/ProxmoxVE/. All compose files can be found in the compose folder.
- binwiederhier/ntfy – Push notifications via HTTP/S or CLI
- coder/code-server – Run VS Code in the browser
- dullage/flatnotes – Self-hosted note-taking app with flat-file storage
- gethomepage/homepage – Modern, customizable homepage for your server
- glanceapp/glance – Dashboard for self-hosted services
- linkstackorg/linkstack – Self-hosted link landing page
- TheNetsky/Microsoft-Rewards-Script – Automate Microsoft Rewards point farming via search emulation
- dgtlmoon/changedetection.io – Monitor changes to websites over time
- janeczku/calibre-web – Web-based UI for Calibre e-book library with Kobo Sync
- kovidgoyal/calibre – Powerful e-book management
- ellite/Wallos – Open-source personal finance manager
- simonwep/ocular – Simple budget tracker
- C4illin/ASFclaim – ArchiSteamFarm Steam claimer
- JustArchiNET/ArchiSteamFarm – Steam idler and free-game claimer
- Smart123s/ItchClaim – Itch.io free-game claimer
- claabs/epicgames-freegames-node – Epic free games notifier and claimer
- mastiffmushroom/TrackerAutoLogin – Auto-login to trackers
- maxisoft/ASFFreeGames – ASF plugin to auto-claim Steam free games
- vogler/free-games-claimer – Claims free games from Epic Games, Amazon Prime, GOG
- Suwayomi/Suwayomi-Server – Self-hosted manga reader and downloader
- davidnewhall/unpackerr – Unpacker for *Arr downloads
- linuxserver-labs/docker-plextraktsync – Plex-Trakt sync tool
- Prowlarr/Prowlarr – Indexer manager for *Arr apps
- qbittorrent/qBittorrent – Cross-platform BitTorrent client
- Radarr/Radarr – Movie downloader and manager
- recyclarr/recyclarr – Sync quality profiles across Radarr/Sonarr
- Sonarr/Sonarr – TV show downloader and manager
- sct/overseerr – Request management for Radarr/Sonarr with user-friendly UI
- sbondCo/Watcharr – Streaming watchlist manager and frontend for *Arr apps
- stashapp/stash – Adult media manager
- Tautulli/Tautulli – Plex stats and monitoring
- goauthentik/authentik – Identity provider for SSO and access control
- jc21/nginx-proxy-manager – GUI for managing reverse proxies
- dani-garcia/vaultwarden – Lightweight alternative to Bitwarden server
- amir20/dozzle – Real-time log viewer for Docker containers
- containrrr/watchtower – Auto-updates Docker containers
- louislam/dockge – GUI for Docker Compose
- louislam/uptime-kuma – Uptime monitoring and status pages
- postgres/pgadmin4 – PostgreSQL admin panel
- dmunozv04/iSponsorBlockTV – Skip YouTube sponsors on smart TVs
If you found my work here at all helpful, please consider donating whatever you can at the link below. I do my best to keep things up to date and as beginner-friendly as possible, and this is all done in my spare time. Thank you and take good care.