Home Server Guide
Everything you need to know about EDITH, Gary, and all the services running at home. When in doubt — just text.
Introduction
We run two home servers that power all the media, smart home features, backups, photos, and other services. This guide explains what everything is, what it does, and what to do when something isn't working.
You don't need to read all of this. The two most useful sections are Troubleshooting and Restarting Things — those cover 90% of situations.
The Two Servers
Both servers run Unraid — the operating system that manages everything. Unraid has a web dashboard where you can see all services, restart containers, and check disk health.
Accessing the Unraid Dashboard
- EDITH: http://192.168.86.18
- Gary: http://192.168.86.10
URLs & Access
Most services have a public URL that works from anywhere — at home, on your phone, or at a friend's house. These go through a Cloudflare tunnel so they're secure without needing a VPN.
| Service | URL | What It Is |
|---|---|---|
| Homepage Dashboard | homepage.kryptoniansith.com | Your starting point — shows all running services and their status |
| Immich (Photos) | immich.kryptoniansith.com | Photo & video library |
| Paperless (Documents) | paperless.kryptoniansith.com | Scanned documents and receipts |
| Linkwarden (Bookmarks) | linkwarden.kryptoniansith.com | Saved links and bookmarks |
| Homebox (Inventory) | homebox.kryptoniansith.com | Home inventory — what we own, warranties, manuals |
| Actual Budget | actual.kryptoniansith.com | Budgeting app |
| Tesla Grafana | teslagrafana.kryptoniansith.com | Tesla drive and charge history charts |
| Smart Home Guide | homeassistantguide.kryptoniansith.com | Guide to the Home Assistant smart home setup |
| Plex | plex.tv | Stream movies and TV shows |
Local-Only Services (Home Network Required)
| Service | Address | What It Is |
|---|---|---|
| Channels DVR | 192.168.86.18:8089 | Live TV management and DVR |
| Overseerr | 192.168.86.18:5055 | Request new movies and TV shows |
| Uptime Kuma | 192.168.86.18:3001 | Service health monitor |
| Scrutiny | 192.168.86.18:9090 | Hard drive health dashboard |
| NPM (proxy admin) | 192.168.86.18:81 | Nginx Proxy Manager admin panel |
Media & Entertainment
Plex — Two Separate Servers
We run two completely separate Plex servers for different purposes:
Plex-Media-Server-FRIDAY · EDITHThe main Plex server for watching at home on the Apple TV 4K. Has the full-quality 4K HDR movies and shows. This is what you use on the TV at home. Not shared with outside users.
Plex-Media-Server-DUM-E · EDITH · Port 32402The shared Plex server for family and friends outside the house. Has 1080p content optimized for Roku, Fire TV, Chromecast, phones, and smart TVs. This is the server shared with others — they access it via plex.tv with their own accounts.
Live TV — Channels DVR
channelsdvr_nvidia · Port 8089 · EDITHManages live TV recording and streaming. Also runs custom themed channels via Tunarr (like a Star Wars channel, etc.). Accessed through the Channels app on Apple TV or any browser at 192.168.86.18:8089.
Tunarr · Port 8000 · EDITHCreates custom TV channels from our movie and TV library — themed channels that stream like real TV channels. Feeds into Channels DVR.
Jellyfin
binhex-jellyfin · EDITHAn alternative media server — used occasionally as a backup or for specific use cases. Not critical — safe to restart if it has issues.
Behind the Scenes: Media Management
These containers run silently in the background managing the movie and TV library. You normally don't interact with them.
| Container | Port | What It Does |
|---|---|---|
| binhex-radarr | 7878 | Manages 1080p movies for DUM-E — monitors for better quality versions and handles upgrades |
| binhex-radarr4k | 7879 | Same as Radarr but for 4K movies on FRIDAY |
| binhex-sonarr | 8990 | Manages 1080p TV shows — same idea as Radarr |
| binhex-sonarr4k | 8991 | Manages 4K TV shows for FRIDAY |
| binhex-prowlarr | 9696 | Connects Radarr and Sonarr to the sources where content is found |
| binhex-qbittorrentvpn | 8080 | Downloads content through an encrypted VPN — never directly from our IP address |
| unpackerr | — | Automatically extracts downloaded zip/rar archives so Plex can find the files |
| bazarr | 6767 | Automatically downloads subtitles for movies and TV shows |
| tautulli_FRIDAY | 8183 | Tracks viewing history and statistics for FRIDAY (home Plex) |
| tautulli-DUM-E | 8182 | Tracks viewing history for DUM-E (shared Plex) |
Requesting New Content
binhex-overseerr · Port 5055 · 192.168.86.18:5055The way to request movies or TV shows. Search for what you want, click Request. Radarr or Sonarr will find and download it automatically. You'll get a notification when it shows up in Plex.
Photos & Documents
immich · Port 8082 · immich.kryptoniansith.comOur self-hosted photo and video library. Works like Google Photos — automatic backup from phones, face recognition, shared albums, and a map view of where photos were taken. All photos stored on EDITH's drives, not in anyone else's cloud.
The database that stores all Immich information (albums, faces, metadata) runs in the PostgreSQL_Immich container on port 5433. If Immich isn't loading, sometimes both containers need a restart — database first, then Immich.
paperless-ngx · Port 8010 · paperless.kryptoniansith.comStores and indexes scanned documents — bills, receipts, insurance documents, warranties, tax records. You can search any document by keyword. New documents get automatically tagged and categorized by Paperless-GPT using AI.
Paperless-GPT · Port 8011Automatically reads new documents added to Paperless and uses AI to suggest the right title, tags, and document type. Runs silently in the background.
Home & Utilities
| Container | URL | What It Does |
|---|---|---|
| vaultwarden | Port 4743 | Password Manager. Our self-hosted Bitwarden-compatible password vault. Works with the Bitwarden app on your phone and browser extensions. Passwords stay on our server — not on Bitwarden's servers. |
| homepage | homepage.kryptoniansith.com | Dashboard. Shows all services at a glance with their status, current activity, and quick links. Good first stop when looking for something. |
| Homebox | homebox.kryptoniansith.com | Home Inventory. Track what we own — appliances, electronics, tools. Store warranties, manuals, serial numbers, purchase dates. |
| Linkwarden | linkwarden.kryptoniansith.com | Bookmark Manager. Saves links and archives a copy of the page so it's never lost even if the website goes away. |
| ActualServer | actual.kryptoniansith.com | Actual Budget. Budgeting and financial tracking app. Self-hosted so our financial data stays private. |
Tesla Tracking
TeslaMate automatically logs every drive and charge session using the Tesla API. It runs on both EDITH and Gary for redundancy, plus an online instance as a third backup.
| Container | Port | What It Does |
|---|---|---|
| teslamate-teslamate-1 | 4000 | Connects to Tesla's API and records every drive, charge, idle period, and location in a database |
| teslamate-teslamate-api-1 | 8181 | Lets Home Assistant read live Tesla data — current location, charge level, plugged in or not — for automations |
| teslamate-grafana-1 | 3300 | Beautiful charts and dashboards showing lifetime Tesla stats, efficiency by route, charging history, cost per mile — accessible at teslagrafana.kryptoniansith.com |
| teslamate-database-1 | 5434 | PostgreSQL database storing all TeslaMate data |
Gary runs an identical TeslaMate stack as a backup. Every night at 10pm a check runs to make sure both instances (plus the online one at myteslamate.com) have the same data, and a summary notification is sent to the iPhone.
Gary's Services
Gary is the secondary server. Here's what's running on it:
| Container | What It Does |
|---|---|
| binhex-official-pihole | Pi-hole — Ad Blocker. Blocks ads for the entire home network at the DNS level. Every device at home (phones, TVs, computers) routes through Pi-hole, which filters out ads before they even load. If you suddenly see ads on every device at home, Pi-hole may need a restart. |
| scrypted | Security Camera Management. Connects security cameras to HomeKit and Home Assistant. Handles camera streaming, recording clips, and motion detection. If cameras stop showing in the Home app, restart this container on Gary. |
| UptimeKuma | Service Monitor. Gary also runs its own Uptime Kuma to monitor Gary-specific services. Sends alerts if anything on Gary goes down. |
| changedetection.io | Web Page Monitor. Watches web pages for changes and sends an alert when something changes. Used to monitor things like price changes, availability notices, or web content updates. |
| scrutiny-collector | Disk Health Reporter. Monitors Gary's hard drive health and sends the data to EDITH's Scrutiny dashboard for a unified view of all drives across both servers. |
| TeslaMate stack | Tesla Backup. A complete copy of TeslaMate, Grafana, and the database running on Gary — a hot backup in case EDITH has issues. |
Home Assistant VM
Home Assistant runs as a virtual machine on Gary — not a container. It's managed from Gary's Unraid interface under the VMs tab, not the Docker tab. Home Assistant controls smart lights, automations, door sensors, cameras, and integrates with the Tesla data.
Infrastructure
These services keep everything else working. You'll rarely need to touch them, but it helps to know what they are.
| Container | What It Does |
|---|---|
| Nginx-Proxy-Manager-Official | Reverse Proxy. Routes *.kryptoniansith.com domain names to the right services. Also manages SSL certificates so every URL is secure (https). Admin panel at 192.168.86.18:81. |
| nginx (linuxserver) | Static File Server. Serves the guide pages (this page, the smart home guide) via the web. Runs on port 8090 and reads files from the Nginx_documents share. |
| Unraid-Cloudflared-Tunnel | Cloudflare Tunnel. Creates a secure connection so kryptoniansith.com URLs work from anywhere on the internet — no port forwarding, no exposed firewall ports. |
| UptimeKuma | Service Monitor. Pings every service every minute. Sends a Pushover notification to the iPhone if something goes down. Dashboard at 192.168.86.18:3001. |
| scrutiny | Disk Health Monitor. Reads SMART data from every hard drive in EDITH and Gary. Shows drive temperatures, error counts, and predicted failures. Dashboard at 192.168.86.18:9090. Sends alerts for real issues. |
| binhex-official-pihole | Local Pi-hole. EDITH also runs a Pi-hole that Docker containers use for DNS resolution. Separate from Gary's Pi-hole (which serves the house). |
| nebula-sync | Pi-hole Sync. Keeps EDITH's and Gary's Pi-hole blocklists synchronized every hour so both have the same ad blocking rules. |
| Redis | Cache. A fast in-memory cache used by Paperless-NGX to speed up searches and processing. You'll never interact with it directly. |
| PostgreSQL_Immich | Immich Database. Stores all Immich photo metadata, album structure, face recognition data, and search index. Port 5433. |
Backups
Everything important is backed up in multiple places. Here's the full picture:
Backup Schedule
| What | When | Where It Goes |
|---|---|---|
| EDITH — full server backup | Tuesdays 9 AM (primary) · 11 AM (secondary) | Two separate local backup drives |
| Gary — config backup | Tuesdays 10 AM (primary) · Noon (secondary) | Two separate local backup drives |
| Home Assistant | Mon & Wed 3 AM (primary) · 5 AM (secondary) | Local backup drives |
| Paperless documents | Wednesdays 3 AM, 4 AM, 5 AM (3 copies) | Local backup drives |
| TeslaMate database | Daily, 2:00 AM & 2:45 AM | Local Backups share on EDITH |
| Docker container settings | Wednesdays (Appdata Backup plugin) | Local backup share |
| Everything → Google Drive | Daily, 2:00 PM | Google Drive (encrypted) |
| Permanent archive → Google Drive | Wednesdays, 2:00 AM | Google Drive (encrypted) |
What's NOT Backed Up
- Movies & TV files — not backed up (too large, can be re-downloaded if needed)
- Downloads folder — not backed up (temporary files)
Daily Summary Notification
Every night at 10:00 PM a Pushover notification arrives on the iPhone summarizing: cloud backup status, permanent backup status, and whether TeslaMate data matches across all three instances. If it says "OK" — nothing needs attention. Only reach out if you see repeated failures over multiple days.
Scheduled Tasks
Unraid's User Scripts plugin runs these tasks automatically on schedule. Here's what each one does and when it runs:
| Script Name | Schedule | What It Does |
|---|---|---|
| cloud-backup | Daily · 2:00 PM | Syncs important files to Google Drive (encrypted). Writes status to a log file read by the 10pm notification. |
| cloud-permanent-backup | Wednesdays · 2:00 AM | Full permanent archive sync to Google Drive. Also writes status for the 10pm notification. |
| teslamate-sync-check | Daily · 10:00 PM | Compares Tesla drive/charge counts across EDITH, Gary, and myteslamate.com. Sends one daily summary Pushover notification including backup results. |
| teslamate-backup-edith | Daily · 2:00 AM | Exports the TeslaMate PostgreSQL database to the Backups share. Keeps 7 days of copies. |
| teslamate-daily-backup | Daily · 2:45 AM | Second TeslaMate backup pass for extra safety. |
| EDITH Backup Primary | Tuesdays · 9:00 AM | rsync of EDITH's data to the primary backup drive. |
| EDITH Backup Secondary | Tuesdays · 11:00 AM | rsync to the secondary backup drive. |
| Gary Backup Primary | Tuesdays · 10:00 AM | rsync of Gary's flash drive config to the primary backup. |
| Gary Backup Secondary | Tuesdays · Noon | rsync to the secondary backup location. |
| Home Assistant Backup Primary | Mon & Wed · 3:00 AM | rsync of Home Assistant data to primary backup. |
| Home Assistant Secondary Backup | Mon & Wed · 5:00 AM | rsync to secondary backup location. |
| Paperless NGX Backup (×3) | Wednesdays · 3–5 AM | Three separate backups of all Paperless documents and database to different locations. |
| jellyfin-install-fonts | Every 30 minutes | Checks that Jellyfin has its required fonts installed. Reinstalls them if they're missing — they get wiped whenever Jellyfin updates. Fast no-op when fonts are present. |
| delete_dangling_images | Sundays · 3:00 AM | Cleans up leftover Docker image files from old container versions. Frees disk space. |
| delete.ds_store | Tuesdays · 10:00 PM | Removes hidden macOS .DS_Store files from shared drives. These get created automatically on Macs and are harmless but clutter the server. |
| ha-nginx-sync | Daily · 6:00 AM | Copies the Smart Home Guide files from Home Assistant to EDITH's web server so the guide URL always shows the latest version. |
| docker-dns-config | At every startup | Writes the Docker networking configuration so all containers use Pi-hole for DNS. Runs automatically when EDITH boots. |
| rclone-config-restore | At every startup | Restores the Google Drive sync configuration after reboot (it's stored on the flash drive and copied to RAM on boot). |
| tmux-session | At every startup | Starts a persistent terminal session for server management that survives disconnects. |
| Unraid remove Backups | Wednesdays · 7:00 AM | Prunes old backup files to prevent the backup drive from filling up. Keeps a set number of recent copies. |
| h265-batch | Manual only | Converts older H.264 video files to the more efficient H.265 format, saving disk space. Run manually when needed — uses the NVIDIA GPU for fast encoding. |
| Wake up PC | Manual only | Sends a Wake-on-LAN magic packet to wake up a sleeping PC on the network. |
UPS / Power Protection
EDITH is connected to an APC Smart-UPS 1500 — a battery backup unit that protects the server during power outages.
Gary does not have a UPS. If power goes out, Gary will turn off immediately (no graceful shutdown), but it's designed to recover cleanly on restart. Home Assistant may take a few minutes to come back after power is restored to Gary.
Monitoring & Alerts
Uptime Kuma
Checks every service every minute and sends a Pushover notification if something stops responding. A notification from Uptime Kuma means a specific service went down — note which service and try restarting that container.
Scrutiny — Disk Health
Monitors the health of every hard drive using SMART data. Dashboard at 192.168.86.18:9090 — shows all drives from both EDITH and Gary in one place. Green = healthy. An alert from Scrutiny means a drive is showing warning signs and should not be ignored.
Daily 10pm Summary
The nightly Pushover notification is routine — it's not an alert. It just confirms the cloud backup ran and Tesla data is in sync. "OK" means everything is fine.
What Different Notifications Mean
| Notification Source | What It Means | Action |
|---|---|---|
| Daily Summary (10pm) | Routine check — backup & Tesla sync status | None needed if it says OK |
| Uptime Kuma | A service stopped responding | Restart that container |
| Scrutiny | A hard drive has a health warning | Text me right away |
| UPS (beeping) | Power interruption or outage | See UPS section above |
Troubleshooting
Common problems and exactly what to do about each one.
Plex-Media-Server-FRIDAY (for home TV) or Plex-Media-Server-DUM-E (for shared users) → click its icon → Restart.Pi-hole on Gary is the ad blocker for the whole house. When it's down, ads appear everywhere simultaneously — that's the giveaway.
binhex-official-pihole → click its icon → RestartHome Assistant is a VM on Gary — restart it from the VMs tab, not Docker.
scrypted → click its icon → Restartimmich → Restart itPostgreSQL_Immich, then restart immich againpaperless-ngx → Restart itchannelsdvr_nvidiaAlmost every service is a Docker container that can be restarted in under a minute.
Restarting Things
This is the most useful thing to know — it fixes the vast majority of issues.
Restart a Docker Container on EDITH
Restart a Docker Container on Gary
Same steps, but go to http://192.168.86.10 (Gary's interface) instead.
Restart the Home Assistant VM
Restart the Whole EDITH Server
Quick Reference
- EDITH: http://192.168.86.18
- Gary: http://192.168.86.10
- Home Assistant VM: Gary Unraid → VMs tab
- Dashboard: homepage.kryptoniansith.com
- Photos: immich.kryptoniansith.com
- Documents: paperless.kryptoniansith.com
- Bookmarks: linkwarden.kryptoniansith.com
- Home Inventory: homebox.kryptoniansith.com
- Budget: actual.kryptoniansith.com
- Tesla Charts: teslagrafana.kryptoniansith.com
- Smart Home Guide: homeassistantguide.kryptoniansith.com
- 10:00 PM daily — Backup & Tesla sync summary. "OK" = nothing to do.
- Uptime Kuma alert — A service went down. Restart that container.
- Scrutiny alert — Disk health warning. Text immediately.
- UPS beep — Power interruption. See UPS section.
| Situation | Handle It | Text Me |
|---|---|---|
| A service isn't loading | Restart the container | If it won't come back after restart |
| Home Assistant down | Restart the HA VM on Gary | If it won't restart |
| Ads everywhere at home | Restart Pi-hole on Gary | If ads persist after restart |
| Power outage | Servers restart on their own | If they don't come back within 15 min |
| Scrutiny disk alert | — | Right away |
| You're not sure | — | Always fine to text |