Why self-host?

  • Be in control of your own data.

  • No need to pay for cloud services from other providers. For example, I use Bitwarden for my password manager. While I pay the yearly subscription to support the company, I could just as easily host my own Bitwarden instance to keep my passwords secure on my own server.

  • Not tied to any specific vendor or tool keeps things flexible

  • Building my own server would be cheaper in the long term and much more power efficient

  • Cause it’s fun!

Hardware

Type Item Notes
CPU Intel Core i3-12100 3.3 GHz Quad-Core Processor
CPU Cooler ID-COOLING IS-50X V2 54.6 CFM CPU Cooler
Motherboard ASRock Z690M-ITX/ax Mini ITX LGA1700 Motherboard
Memory Corsair Vengeance RGB Pro 16 GB (2 x 8 GB) DDR4-3200 CL16 Memory From spare parts bin
Storage Samsung 970 Evo Plus 1 TB M.2-2280 PCIe 3.0 X4 NVME Solid State Drive Cache
Storage Samsung 970 Evo Plus 1 TB M.2-2280 PCIe 3.0 X4 NVME Solid State Drive Cache
Storage Western Digital Red Plus 8 TB 3.5" 7200 RPM Internal Hard Drive Array
Storage Western Digital Red Plus 14 TB 3.5" 7200 RPM Internal Hard Drive Array
Storage Seagate Exos X18 16 TB 3.5" 7200 RPM Internal Hard Drive Array
Storage Seagate Exos X18 16 TB 3.5" 7200 RPM Internal Hard Drive Parity
Case Jonsbo N1 Mini ITX Desktop Case
Power Supply Corsair SF750 750 W 80+ Platinum Certified Fully Modular SFX Power Supply
SATA Expansion Card Ziyituod PCIe SATA Card, 4 Port (ASMedia 1064)
Low-Profile SATA Cables ADCAUDX Right-Angle SATA-III 0.5M Cable

The array has 38 TB of usable space as one of the 16 TB drives is used as a parity drive.

The 2 NVME drives are currently mirrored RAID1 but occasionally set to RAID0 if I’m anticipating a large volume of downloads since merging the drives using RAID0 is faster than keeping them separate.

I opted for a SATA expansion PCIe card instead of an HBA card primarily due to thermal management issues. I want this build to be quiet and tucked away. The ASMedia 1064 controller is pretty much an approved, low wattage controller for use in unRAID.

Software

Everything listed below is enabled through Docker containers on unRAID OS. Shout out to Ibracorp for providing a ton of fantastic documentation to help get many of these services up and running.

Administrative Tools

po

  • Code-Server - Access Visual Studio Code anywhere using your browser

  • Homepage - Simple homepage/dashboard for Docker containers with integrations. Easily configured using YAML files.

  • Overseerr - Request management and media discovery tool for PMS

  • Wizarr - Manage user invites to Plex/Jellyfin with Overseerr integration

  • Tautulli - Monitoring and analytics for PMS

  • Plex Meta Manager - Automatically build collections and playlists for Plex. For example, when Halloween comes around Plex can recommend seasonally appropriate movies

  • Krusader - A great file manager to interact with my server remotely

  • Adminer - Lightweight tool to run database commands without having to type a single line of code

Security & Networking

  • Cloudflared - Connect resources through a secure tunnel hosted by Cloudflare

  • Authelia - Add multi-factor authentticaion and single sign-on to services

  • Pihole - Network wide ad blocking

  • Tailscale - VPN into your home network from any device

  • Traefik - Reverse-proxy tool of choice. I’ve used Caddy in the past but Traefik is a lot more feature packed. It’ll also create HTTPS certificates through LetsEncrypt for automatic HTTPS support.

  • Unbound - Recursive DNS resolver used in conjunction with Pihole

  • Docker Socket Proxy - Provide Docker containers a secure means to access host network

Media

  • Plex Media Server (PMS) - Share movies, music, and tv shows with friends and family

  • Jellyfin - Free and open source alternative to PMS

  • PhotoPrism - Host your own Google Photos. Powered by AI for face regonition, location/content classification, and more.

Downloaders

  • Deluge (w/ VPN) - My torrent client of choice. OpenVPN configs from PrivateInternetAccess though I recommend Mullvad if you’re looking for a new VPN provider.

  • SABnzbd - Usenet client. Usenet is a lot faster but requires more overhead, like costs towards a Usenet provider and sometimes an indexer.

*arr apps

*arr apps are designed to automatically grab, sort, organize, and monitor your Music, Movie, E-Book, or TV Show collections for Lidarr, Radarr, Readarr, Sonarr, and Whisparr; and to manage your indexers and keep them in sync with the aforementioned apps for Prowlarr - Servarr Wiki

Database

  • MariaDB - MySQL server. Used for Authelia and PhotoPrism.

  • Redis - Used to support MariaDB and Authelia

External Software

I use PhotoSync to automatically sync any photo taken on my phone to the server. Every photo lands on the cache drives for processing and then gets moved to the array once imported.

Google Drive through Google Workplace Business is used for my off-site cloud backups.

Backup

Now that I’ve got all my media automation sorted through, I’ll be working on setting up my backup system. Stay tuned for updates!