Hi, just recently it’s foss had an article about homelabs. Of course I digged in, since there is a small nuc working tirelessly in the corner of my routers closet. So far it just crawls some web pages for me and sends emails accordingly to my filters. So I hoped to find new exciting stuff to let it crunch through. The articles content did not spark my interest though.
Well, I’d like to know what you are using on your homelab. In hope you’ll do something I’d like to follow. Cheers
Thank you all for your recommendations. You are awesome. I really need to go through it one by one.
To make it easier for myself, this is a small summary of all your recommendations. Thanks again.
Virtualization and Infrastructure:
- Proxmox VE - Virtualization platform
- NGINX Proxy Manager - Reverse proxy manager
- Tailscale - Secure network access
- apt cacher NG - Package caching tool
- neko - Virtualized browser for secure browsing
Monitoring and Notification:
- Uptime Kuma - System monitoring tool
- Netdata - Real-time monitoring
- Zabbix - Enterprise monitoring solution
- Ntfy - Notification tool
Media Serving and Management:
- AudioBookShelf - Audio book management
- Jellyfin - Media server
- Syncthing - File synchronization
- Calibre-Web - Ebook management
- Spotweb - Usenet indexing
- Plex - Media player
- Komga - Comics and eBooks
File Sharing and Collaboration:
- Syncthing - File synchronization
- Gitea - Git hosting platform
- Sharry - Secure file sharing
- Vaultwarden - Password manager
- Stash - Data repository
- Baserow - Database management
- wiki.js - Wiki platform
- Wordpress - Content management system
Development and Version Control:
- BOINC - Distributed computing
- Forgejo - Git repository
- Gitea - Git hosting platform
- Development environment LXCs with VS Code
Networking and Communication:
- Traefik - Reverse proxy
- Portainer - Container management
- Matrix (dendrite) server - Chat server
- Navidrome - Music server
- Joplin server - Note-taking server
- RSS-Bridge - RSS feed aggregator
- SearXNG - Metasearch engine
- Dashy - Homepage for services
Miscellaneous:
- ActualBudget - Budget management
- SabNZBd - Usenet downloader
- Traccar - GPS tracking
- Restic server - Backup tool
- dump1090 + fr24feed + pfclient + piaware + rbfeeder + adsbexchange - ADS-B data tools
- Stirling-PDF - PDF management
- Miniflux - RSS feed reader
- Pihole - Network-wide ad blocker
- Huginn - Automation tool
- LimeSurvey - Survey software
- Omada controller - Network management for TP-Link devices
If you’re interested in self hosting checkout [email protected]
Nice, looks like the perfect community to join. Thank you.
Infrastructure:
- Proxmox VE - everything’s virtualised on Debian, mostly in docker inside LXC’s for neat backup/restore and moving between nodes
- NGINX Proxy Manager - in front of most of my homelab services so they have https certificates
- Tailscale - access everything, everywhere, including on phone, securely
- Uptime Kuma - monitoring, with ntfy notifications
- apt cacher NG - unnecessary caching of apt updates
Apps:
- AudioBookShelf - Audio books (download them from here into BookPlayer (iOS) to listen in the car)
- Kavita - eBooks.
- BOINC - curing childhood cancer
- Forgejo - git repository. I do a bit of dev, but everyday self-hosters should probably still learn git to manage their configs
- Jellyfin - TV/Movies
- Syncthing - I replaced dropbox with Syncthing and FileBrowser, and Evernote with Syncthing and SilverBullet
Currently in testing on the dev server:
- neko - virtualised browser. Been experimenting with this in a container with a VPN for really simple secure browsing - ie launch it, do your online banking and then destroy the container.
- Dashy - I go through periods of wanting a pretty home page with all my services, set it all up, then fail to actually use it and eventually delete it, then hear about another cool one…
- Sharry - securish file sharing. I don’t love just emailing my accounts off to the accountant.
- LimeSurvey - survey software (like Survey Monkey) - just something I’m testing for work
- Omada controller - I’ve got a TP-Link switch and WAP that don’t really need centrally controlled, but you know, can be.
- A couple of development environment LXCs I use VS Code in
I still have not landed on a music system. I’ve put some of my library on Jellyfin, and tried a couple of apps with, but haven’t hit on a good combination yet. [edit:formatting}
Wow, that is an extensive list! Impressive. I guess, your home lab doesn’t live just in an pi or old nuc. What kind of hardware are you using for all that?
I’ve got three of these little 1L HP’s, one for production, a spare, and one for development. But really, it’s a small load - that list would happily run on an old nuc. The constraint is really memory which I’ve mostly addressed by moving from VMs to LXCs. And I could be even more efficient by just running all the docker containers on one host if I had to.
Storage for media and backups is a Synology NAS.
Thanks for sharing. That is not what I expected. My nuc sometimes seems sluggish, even with a fairly small load. Guess i have something hogging the resources. 🤨
I like Jellyfin for my media server, including music.
On Android I use Symfonium (works with Jellyfin as well as other backends). Nothing comes close to this app imo.
On desktop I use Feishin which serves me well (Jellyfin only afaik). It’s not perfect and it does have a bug where adding an album to queue will actually add all albums with that exact name to queue (even from different artists), but that issue is being tracked on GitHub and otherwise I run into few issues.
I’m on iOS. I’ve been testing a beta of Jello that looks really promising, but as a beta has a bit of distance to go. I’ll check out Feishin though - thanks for the recommendation.
I’d love Jellyfin to turn out to be the solution, but I suspect it’s not, at least yet.
If not then there’s always Navidrome which is built specifically for music. Haven’t used it myself but lots of people seem to love it.
I love Neko. Right now I’m trying to find a decent VPS to host Neko rooms
- Jellyfin
- Audiobookshelf
- Navidrome
- wiki.js
- Joplin server
- Wordpress
- Matrix (dendrite) server
- Ntfy
- Vaultwarden
- Baserow
- Forgejo
- more that I can’t think of off the top of my head
edit: added Forgejo
I see the mentioning of Navidrome everywhere, but the reality is that if your music collection has the slightest issue with the id tags (and who doesn’t), Navidrome will fuck you up big time.
I am still a fan of OG Airsonic, (not Airsonic - Advanced) which is folder based. Works all the time.
This is entirely anecdotally just my experience. I’m using musicbrainz Picard for my id/tagging and so far I haven’t had any issues.
I’ve got my music in Jellyfin as well, and I can always use that as a fallback if Navidrome does end up fucking me.
That’s a great list. Thank you. I thought about vault warden, it is great as a self hosted alternative to bit warden. At the same time, I am not sure if I would be able to properly secure it.
I just read about forgejo, while reading up on Codeberg, which seems to be very popular here.
I am intrigued about baserow. What are you using it for?
I’m really happy to be hosting my own password manager.
Regarding baserow, I use it in a couple of ways. First is as a replacement for Google Sheets. For my use case, I only ever really used sheets as a dumb database, (home inventory, etc…) so I don’t need the spreadsheet parts of the spreadsheet much.
The other thing I use it for is a backend for my automations for data. Baserow has wonderful api documentation right in the gui, and I use that a lot with data logging for myself.
Infrastructure
- Portainer
- Traefik (with traefik-kop pushing labels from the other hosts)
- Pi-Hole
- restic server - backup target
- a custom mail archive made out of Dovecot + Solr + Snappymail
- Zabbix - monitoring tool
- Home Assistant - home automation / bridge non-supported devices to Apple/Google/Amazon
Productivity
- SyncThing - file sync
- SearXNG - personal meta-search engine
- ActualBudget - budget manager
- Gitea - personal Git store
Entertainment
- Calibre-Web - eBook library
- RSS-Bridge - makes lots of websites available via RSS (which I consume using News Explorer)
- Plex - media server
- Jellyfin - media server
- Stash (NSFW!) - media server with completely different way of browsing the library
Socials
- GoToSocial - small Mastodon-compatible instance
- Lemmy
Miscellaneous
- Spotweb - Spot/NZB browser
- SabNZBd - NZB downloader
- Traccar - in conjunction with OwnTracks for location tracking
- dump1090 + fr24feed + pfclient + piaware + rbfeeder + adsbexchange
Things I want to look into some day
- Paperless-NGX - document management
- ntfy.sh - push notifications, but still has issues with iOS when self-hosted
- Forgejo - Gitea-replacement, but has no distinguishing advantage yet
Why do you have Jellyfin and plex?
Not OP, but I run both because Plex was/is easier to setup non-techy family members and easier to get on their TVs/devices.
Plex has been pissing me off though and I’d like to move to Jellyfin, but sounds like a PITA to transfer everything over. Gonna have to get clever with that probably
It is much less of a PITA than it is often made out to be. I made the transition just recently and had both Plex and Jellyfin running simultaneously for about a month. I used that time to just go through and adjust my progress through my home videos on Jellyfin so I remembered where I left off before shutting down Plex entirely. As long as your directory structure is well organized, it shouldn’t be hard to switch to Jellyfin at all, and if your directories aren’t organized… well it’s a good opportunity to organize them. For large libraries, the *arr stack is great for that.
Just switched myself too, wasn’t a big hassle at all really. I’ve been following trashGuides wiki for proper folder structure so I guess that helped 🙌
I’ve paid for Lifetime Plex when it was still cheap. And have Jellyfin running on the side to see what it has more to offer. (Also to test Swiftfin.) But as long as Plex “just works” for me, I will probably keep both. On Plex, I have shared libraries from a few friends.
And there’s also Stash, but this has a completely different kind of library management. It allows for bookmarking specific timestamps, has video previews and other things.
I’m kind of addicted to miniflux.
I use it to aggregate my RSS l, GitHub release notes, & YouTube feeds so I can stay up to date
Interesting, this one needs definitely a deep research from me. I love rss feeds, at the same time the summaries tend to be click baity. I was fantasizing to get the full articles and use ollama to boil them down. Remove all the bloat text.
I saw in the feature list the possibility to play yt videos directly in miniflux. What is your typical use Case miniflux<->YouTube wise?
There are tools like rss bridge that can be a big help: https://github.com/RSS-Bridge/rss-bridge
YouTube wise I use invidious rewrite rules
Jellyfin, the Arr-stack, Transmission, FreshRSS, Audiobookshelf, Komga, Syncthing, WG-Easy, Joplin-Server, Netdata, Portainer, Watchtower last thing I spun up was Stirling-PDF.
Found this recently:
And of course the classic is:
Found this recently:
it became a thing yesterday lol
Wow, a lot to dig through. Thank you! Joplin server catched my eye immediately. I use Joplin as my … Well, to write everything down. Didn’t know there was a server version for it.
Yeah, with the server you can share notes with your partner.
I love Neko https://neko.m1k1o.net/#/
The mascot is … something I did not expect. °_°
But why the cat butt? Because cats are assholes, but you love them anyway.
So true !
What do you use to crawl webpages and email them to you?
One possibility would be Huginn I guess https://github.com/huginn/huginn
That looks very neat. It is also a great resource for more inspiration. I will definitely try it out. Thank you.
To crawl I use playwright and cheerio to traverse through the html. I startet with another library, but playwright is more stable in my opinion (or just in my use Case). After the crawl I use nodecron to send Mails with nodemailer to myself, on a daily basis. All together it is a node.js app I wrote, inside a docker container.
Since BOINC is on your list, I want to ask—is there a version of it that will display the cool screensavers via web UI? I would run BOINC 24/7 if I could show off those cool data processing screens, but there is no use for a screensaver on my server.
Kyoo – Self-hosted media browser (Jellyfin/Plex alternative)
I guess it’s good to mention alternatives but imo Kyoo seems to be overkill for a homelab use case as its design goal appears to be to scale much better and serve a high user base and huge library. Just looking at the dependencies or
compose.yml
should make this apparent.
Consequently the setup is much more complex and heavy to run compared to Jellyfin e.g.
- dump1090 + fr24feed + pfclient + piaware + rbfeeder + adsbexchange - ADS-B data tools
That’s rare. Would you mind to elaborate how do you actually setup when you are free? Ty.
The key component is some cheap DVB-T receiver with an RTL2832U chip and an R820T tuner. These things usually costed around 15€ but went up now as I just found out. Maybe there’s a newer/better combination for cheap now.
Cut the small DVB-T antenna to 69mm length for optimal reception on 1090 MHz. Or build your own.
Then you need dump1090 which is the tool using the receiver and tuning it to 1090 MHz to receive the ADS-B packages and decode them. It’s providing the decoded packages in different formats on different ports (30002 - RAW / 30003 - SBS / 30005 - Beast mode).
And once this is running, you can just sign up to any ADS-B page, get your feeder ID, take their feeder software and point it to the correct port of dump1090. That’s basically it.
I’ve created my own custom minimalistic containers for dump1090, fr24feed, pfclient and piaware, but you can find universal ones on Docker Hub. The services I feed to are:
- FlightRadar24
- ADSB-Exchange (the only site that doesn’t filter military and government planes)
- FlightAware
- PlaneFinder
- RadarBox
(Most of these sites give you premium access to their data in return.)
Oh, and if you live near waterways, this totally works for ships, too. It’s just a different frequency (~162 MHz), so you’d need a second DVB-T dongle and different antenna (46.3cm). And the dump1090-equivalent there is called AIS-catcher. With that, you can feed to sites like ShipXplorer, MarineTraffic, etc…
Thanks for the detail instructions. Sounds fun :)