The Mainframe

The Mainframe

This blog is selfhosted from my own server. Currently, I utilize UnRaid for my Operating System. It's an easy-to-use DIY NAS operating system with virtualization support, allowing for the installation of Docker Containers and Virtual Machines. Unraid specifically utilizes a 'Parity Drive' system to allow for disk failure protection. Instead of dedicating a large amount of hard drives to a RAID array, you can use One drive to maintain a stream of data that will emulate any missing or dead drive until it is replaced.


Hardware

CPU: Intel® Core™ i9-10850K CPU @ 3.60GHz

Motherboard: MSI Z590-A PRO

RAM: 64GB

Storage Space: 78TB usable space with Dual 14TB Parity Drives

Case: Fractal Define 7 XL


Applications

Grafana Stack

The "Grafana Stack" I use runs the amazing Ultimate Unraid Dashboard put together on the unraid forums by falconexe. I put together a guide to setting it up with DockerCompose on Unraid: https://github.com/HStep20/Ultimate-Unraid-Dashboard-Guide

  • Chronograf - A database explorer for InfluxDB. This isn't in the UUD normally, but I added it to my compose as I needed to look at the DB occasionally.
  • InfluxDB - A time series database built for a large volume of stats with a low footprint
  • telegraf-UUD - A service to store system statistics and write them to Influx
  • Unraid-API - A tool to pull information from the unraid system and push it to Influx. Things like current docker containers up/down, vms up/down, mover state, and more
  • Varken - A data aggregation tool that pulls data from plex and tautulli and pipes it into Influx for more stats
  • Grafana - The big daddy of dashboard. Currently configured to run the Ultimate Unraid Dashboard

Networking Utilities

  • NGinxProxyManager -Reverse proxy for dummies. Super easy setup with the click of a few buttons
  • Uptime Kuma - A self hosted 'UptimeRobot' to monitor running services
  • Authelia - A Single-Sign-On application to centralize logins for different services
  • Homer - A dashboard with flexible configuration. This dashboard hosts all my public services behind Authelia for friends with accounts to access
  • Crowdsec - A 'modern' Fail2Ban-esque utility which crowdsources malicious IPs to ban
  • AdGuard Home - A selfhosted DNS server which can block reqests based on rules and blocklists. Great for blocking ads at a network level.
  • GoAccess - Reads Reverse-Proxy logs and visualizes the data to see information about any request that comes through the domain
  • DuckDNS - Updates dynamic dns when it changes at the ISP level
  • Speedtest-Tracker - Tests Up/Down speed, and logs it with some nice graphs

Utilities

  • Kopia - A 'snapshot based' backup system, which backups up all of my data to BackblazeB2
  • Cronicle - A GUI based Cron job manager
  • Adminer - A GUI interface to look inside of and edit databases. Great for troubleshooting
  • Dozzle - One centralized app that displays logs from every docker container on your system.
  • DiskSpeed - A tool to benchmark and graph the speed of your current HDDs
  • Czkawka - A File Deduplication tool
  • ApacheGuacamole - Dark Magic born from eldritch gods and sacrificed goats. (Or just a tool that lets you access vm's/machines over the internet from any web browser. Seriously, I love this thing)
  • Krusader - A gui friendly file manager
  • LuckyBackup - A nice GUI frontend for RSYNC
  • Organizr - The best 'dashboard' I've ever used. It gives one centralized web page to access all of your apps using i-frames.
  • Scrutiny -Automatic SMART testing and tracking for all your hard drives
  • QDirStat - A fun visual of what is taking up the most storage space. Also great for when an app goes rogue, starts to fill up a directory, and needs to be located (true story)
  • Watchtower - Automatically updates containers
  • Netdata - A 'Live Status' tracker for system information like Ram, CPU, Network, Disk usage and more.

-ARRS

  • Sonaar - A tool for managing and automating TV Shows
  • Radarr - A tool for managing and automating Movies
  • Lidarr - A tool for managing and automating Music
  • Readarr - A tool for managing and automating Books/Audiobooks
  • Bazarr - A tool for managing and automating Subtitles
  • Prowlarr - A tool for centralizing indexers for the other -arr applications
  • qBittorrent - A torrent download client for the -arr applications
  • SABNZDB - A newsgroup download client for the -arr applications
  • TubeSync - A tool for managing automated youtube downloading

Media

  • Audiobookshelf - The Best Audiobook/Podcast server in the selfhosted space. My current favorite application.
  • Plex - A Media Server to serve media out to users.
  • Jellyfin - A backup for when Plex is acting up
  • Calibre-Web - I have two instances up: One for Fiction, One for Non-Fiction (PS. Someone smarter than me make a book requesting app, Thanks you)
  • Kavita - A web reader for any type of  'book' file. I use it to read Comics, Fiction, Nonfiction, RPG Books, and more.

Media Adjacent

  • Plex-Meta-Manager - A hosted python script that lets you manage plex metadata/collections through YAML configurations. Need to nuke plex? Now you don't lose all your metadata along with it.
  • Tautulli - Stats and Information from plex
  • Overseerr - A plex request system. Originally used Petio, but the lack of updates moved me from it.
  • ErsatzTV - Lets you Emulate custom TV Channels of your own content, and connect it to plex/emby/jellyfin. The dev is amazing, and built out a lot of the Intel QuickSync functionality when I needed help with it.
  • Unmanic - A set it and forget it hardware transcoder. I use it just to remux mp4 into mkv on the host system that doesn't have a graphics card. I even wrote a plugin which makes it ignore 'Hardlinked' files
  • PlexAniSync - Syncs Plex Anime watched info with AniList.
  • PlexTraktSync - Syncs All Plex libraries with Trakt.tv - No premium account required
  • PASTA - Plex Audio & Subtitle Track Changer: Lets you set priority subtitles or audio tracks for all your plex media

Photography

  • Piwigo - My Favorite photo gallery. It is very granular and can be customized to be just what you want. I have it set up to read lightroom tags, and build smart albums around tags, such as "5 star" & "Winter" & "Snow" to see all of my photos that fit that winter vibe.
  • PhotoPrism - A 'google photos' replacement, but I use it to organize photos with it's import feature. The UI is pretty ugly, so I point Photoview at my photos that PhotoPrism Organizes
  • Photoview - A User-Friendly Google Photos replacement that I use to view photos organized by PhotoPrism

Documents and Notes

  • Actual - A Selfhosted 'Envelope Budgeting' application, much like YNAB
  • Tandoor - A Recipe application, much like Mealie. Currently testing out for replacement.
  • Ghost - A personal blogging platform like Wordpress, but much 'Leaner'
  • OwnCloud - A Google Drive replacement
  • Snippet-Box - A 'sticky note' app for code snippets - I keep a lot of one-liners for minecraft and server admin

Games

  • AMP - A centralized game server management panel for a ton of games. Closed Source and a One Time Fee of like $8, but totally worth it. Pterodactyl Panel is an open source alternative, for those against Closed Source Self Hosting
  • FountryVTT - Closed Source Virtual TableTop for RPG gaming. This is where I'd host my games online, if I had friends for it.
  • Vintage Story - A server for the game VintageStory. Its a hardcore voxel survival with lovecraftian influences.
  • Red-Discordbot - A modular selfhosted discord bot with RhythmBot capabilities and a massive community of 'cogs' you can add on to it as you desire.

Testing Out

  • Vikunja - A selfhosted to-do app to keep productive and keep tasks in order for projects.
  • Paperless-NGX - A community supported version of Paperless for scanning, indexing, and archiving all of your physical documents

Custom Containers

  • dcss-webtiles - A selfhosted version of Dungeon Crawl Stone Soup so I can play on my server from wherever I am

Moving On

  • TubeArchivist - A selfhosted youtube frontend and downloader all in one. I ended up not liking the lack of features in regards to playback (like shuffling videos), so I switched back to Tubesync and Jellyfin + Youtube Metadata Plugin for playback.
  • Komga - A comic/PDF reader server. I moved on to Kavita since it supported ebook files as well as visual book files
  • Homechart - A centralized 'life tool' that includes Budget Management, A Calendar, A recipe book, Inventory, Project planning, and more. It felt too 'in it's infancy', pushed its purchased subscription option, and was essentially a collection of less mature tools I already use. On top of that, they now charge a monthly fee for you to run it on your own hardware.
  • Tdarr - A distributed Transcoding system for media. I found my videos came out too lossy, and I preferred the Original Source quality more in my 'home theater' setup.
  • Portfolio-Performance - It was a desktop app running in a container, so I was always on the lookout for a new solution. The recent emergence of 'Ghostfolio' finally provided an out to do that through
  • Mealie - I ended up moving to Tandoor since it had a more robust feature set, but I still keep Mealie around. I had some comments of when I made dishes that don't import into Mealie (yet), but a 'fuller' import load is being worked on for Tandoor
  • Cloudberry Backup - A GUI Backup tool for those too intimidated by commandline for cloud storage backups. Has a yearly cost associated, on top of a HIDDEN 5TB limit. Once you back up 5tb of data across any number of sources (I had 3 backup sources, for 2tb of data), then it will just fail your jobs every time. Absolute bullshit for a paid product
  • Firefly III - Firefly is more of a 'Descriptive' budgeting app, whereas Actual (the one I use now), is more 'Prescriptive'. I found that the Prescriptive style of budgeting worked better for me

VMs

  • Home Assistant - A versatile home automation tool. I started off using a container for it, but moved to a vm once I started running into some of the limitations of running it in Docker.
  • Windows 10 Productivity - I set this up to run Scrivener (a writing application) as a 'Cloud App', since they only offer desktop software. It lets me access my writing from anywhere with a VPN
  • Windows 10 Gaming - I have an Nvidia Shield connected to my TV for Plex and Steam Streaming. Unfortunately my partners gaming interest meant I needed to build a gaming vm for them to use, or completely forgo using my computer while they wanted to game - Obviously, there was only one right answer.
    It's currently set to utilize 4 cores, 8gb ram, and a passed-through EVGA 1080
  • Ubuntu - A replacement for Code-Server. I couldn't access the code server properly behind a reverse proxy, so instead I just started using a VM for development.
  • Kali Linux - A penetration testing focused distro which contains a vast array of tools and utilities for cyber security focused tasks.