What I run
at home,
and why
I’m Sai Barath. One computer in my home runs 21 apps for me: my photos, films, music, passwords and documents all live on it. Between them, they stand in for 18 paid apps and subscriptions.
This page is the tour: what runs, what it replaces, how it’s reached and how I keep it safe. My portfolio is at saibarathr.me and my code is on GitHub.
Why I self-host
Control
My photos, passwords and documents sit on drives I own, in formats I can take anywhere. Nobody can raise the price, change the terms or shut it down under me.
Privacy
Nothing I keep here is scanned for advertising. The only dashboards watching my data are the ones I set up.
Learning
Running it myself has taught me more about Linux, networking, containers and backups than any course. When something breaks I fix it, and I write down how.
Fewer subscriptions
Streaming, photo storage, a password manager, notes and PDF tools are all things people pay for every month. This isn’t free either: there’s the hardware, the electricity and my time. But the money buys things I keep.
What I run
21 apps in six groups, numbered as they sit on the panel. Where an app replaces something people usually pay for, it says what.
Media
Jellyfin
Streams my movie, TV and music library to every screen in the house.
Instead of Plex Pass
Navidrome
Streams my music library to Subsonic apps on the phone.
Instead of Spotify and YouTube Music
Komga
Library and reader for manga and comics.
Instead of Kindle Unlimited and comic reader apps
ErsatzTV
Turns the Jellyfin library into live TV channels with a guide.
Photos, files and PDFs
Immich
Backs up photos and videos from every phone, with face and object search.
Instead of Google Photos and iCloud Photos
File Browser
Browse, upload and share files on the server drives from a browser.
Instead of Google Drive web
Samba shares
Shares the server’s drives as network folders for every computer and phone at home.
Stirling PDF
Merge, split, compress, sign and OCR PDFs without uploading them anywhere.
Instead of Adobe Acrobat and iLovePDF
Documents and notes
Paperless-ngx
Scans, OCRs and tags paper documents so they are searchable.
Instead of Evernote and scanner apps
Docmost
Wiki for longer notes and guides.
Instead of Notion and Confluence
Karakeep
Saves links, articles and notes with AI tagging and full-text search.
Instead of Pocket and Raindrop.io
Security and network
Vaultwarden
Password manager server that the Bitwarden apps sync with.
Instead of 1Password and Bitwarden Premium
AdGuard Home
Blocks ads and trackers for every device at the DNS level.
Instead of NextDNS and per-device ad blockers
UpSnap
Wakes other computers on the network with Wake-on-LAN.
Monitoring and backups
Grafana
Dashboards and Discord alerts for the server, containers, media apps and backups.
Prometheus
Collects metrics from every exporter for Grafana.
Beszel
Lightweight status page for CPU, memory, disk and container health.
Backrest
Schedules restic backups and shows their history.
Instead of Paid cloud backup apps
My own apps
Helprr
My own web app for running the media server from my phone.
Manga Harbor API
Spring Boot backend for the Manga Harbor site.
JWT login service
Node auth server behind the one-tap login demo.
The machine
One desktop computer, switched on day and night.
- Processor
- Intel Core i7-14700K, 20 cores and 28 threads
- Graphics
- Intel UHD 770 (integrated, also used for transcoding)
- Memory
- 64 GB
- Motherboard
- ASUS ROG Strix Z790-H Gaming WiFi
- System
- Ubuntu 24.04 LTS, installed 14 Dec 2025
- Storage
- 29.5 TB across five drives
- WD Black SN7100, 1 TB NVMe
- WD Blue SN580, 500 GB NVMe
- Seagate Exos X22, 22 TB HDD
- Seagate One Touch, 5 TB USB HDD
- Samsung T7, 1 TB USB SSD
Power
Two inverters, about 48 hours of backup between them.
Also on the inverters: the router and fibre box, so the server stays reachable from outside during a power cut.
How it’s reached
Three ways in, each with its own cable colour. Which app uses which, I keep to myself.
Public, through a Cloudflare Tunnel
The apps I want to open from any browser are published through a Cloudflare Tunnel. The server connects out to Cloudflare, so my home address stays hidden and nothing on my router is opened for them.
Private, on Tailscale
Everything else, including anything sensitive, is only on my Tailscale network: a private network that only my own devices can join. To the rest of the internet, those apps aren’t there.
Ad blocking on every device, anywhere
My phones, laptops and tablets all sit on that Tailscale network, and Tailscale sends their DNS lookups to AdGuard Home on this server. Ads and trackers are blocked before they load, at home or on mobile data, without installing a blocker on each device.
How I keep it safe
Most of the work is in backups nobody sees, and in checking that they restore.
Nightly database dumps
Every night the apps’ databases are exported and checked, so a backup never catches one halfway through a write.
Encrypted backups on two drives
Photos, documents, app data and those exports are copied to two separate drives, encrypted and versioned. One failed drive loses nothing.
Weekly system snapshots
The operating system and the apps installed on it are snapshotted every week, onto a different drive from the one they run on.
Drive health alerts
Drive health, wear and temperature are watched around the clock, and my phone gets an alert if a drive starts to fail or runs hot.
Tested restores
A backup only counts once it has been restored. I restore into a scratch folder and check the files against the live copies. The last full test was on 18 Oct 2026.
How it got here
From October 2025 to now: what I added, and what I tried and later dropped. Newest first.
- Clean SQLite copies for nine apps
- Nightly database dumps
- Drive health monitoring
- ErsatzTV
- Monitoring stack
- AdGuard Home
- Backrest
- Paperless-ngx and Navidrome
- JellystatTried
- Komga
- UpSnap
- ReiverrTried
- Vaultwarden
- File Browser
- Beszel
- Stirling PDF
- Nextcloud, Seafile, Caddy and ShokoTried
- Docmost wiki
- Tube ArchivistTried
- Tailscale on the server
- Timeshift
- Immich
- Cloudflare Tunnel
- First media server on BazziteTried
Tried and since removed: Nextcloud AIO, Seafile, Caddy, Tube Archivist, Shoko, Reiverr, Jellystat and Fladder.