this post was submitted on 04 Apr 2024
99 points (100.0% liked)

Linux

48655 readers
352 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS
 

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
top 37 comments
sorted by: hot top controversial new old
[–] thirdBreakfast 16 points 8 months ago* (last edited 8 months ago) (3 children)
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:
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}

[–] [email protected] 4 points 8 months ago (1 children)

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?

[–] thirdBreakfast 2 points 8 months ago (1 children)

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.

[–] [email protected] 2 points 8 months ago

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. 🤨

[–] [email protected] 2 points 8 months ago

I love Neko. Right now I'm trying to find a decent VPS to host Neko rooms

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago) (1 children)

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.

[–] thirdBreakfast 1 points 8 months ago (1 children)

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.

[–] [email protected] 2 points 8 months ago

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.

[–] [email protected] 13 points 8 months ago (1 children)

If you’re interested in self hosting checkout [email protected]

[–] [email protected] 2 points 8 months ago

Nice, looks like the perfect community to join. Thank you.

[–] [email protected] 11 points 8 months ago* (last edited 8 months ago) (2 children)
  • 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

[–] [email protected] 3 points 8 months ago (1 children)

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.

[–] [email protected] 3 points 8 months ago

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.

[–] [email protected] 2 points 8 months ago (1 children)

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?

[–] [email protected] 2 points 8 months ago

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.

[–] [email protected] 7 points 8 months ago* (last edited 8 months ago) (1 children)

Infrastructure

Productivity

Entertainment

Socials

Miscellaneous

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
[–] [email protected] 0 points 8 months ago (2 children)

Why do you have Jellyfin and plex?

[–] GhostTheToast 3 points 8 months ago (1 children)

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

[–] [email protected] 2 points 8 months ago (1 children)

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.

[–] [email protected] 1 points 8 months ago

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 🙌

[–] [email protected] 2 points 8 months ago

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.

[–] [email protected] 6 points 8 months ago (1 children)

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

[–] [email protected] 0 points 8 months ago (1 children)

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?

[–] [email protected] 2 points 8 months ago

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

[–] [email protected] 4 points 8 months ago (1 children)
[–] [email protected] 8 points 8 months ago (1 children)

The mascot is ... something I did not expect. °_°

[–] [email protected] 4 points 8 months ago

But why the cat butt? Because cats are assholes, but you love them anyway.

So true !

[–] fireshell 4 points 8 months ago (1 children)

Kyoo – Self-hosted media browser (Jellyfin/Plex alternative)

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

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.

[–] [email protected] 3 points 8 months ago (2 children)

What do you use to crawl webpages and email them to you?

[–] [email protected] 4 points 8 months ago (1 children)
[–] [email protected] 2 points 8 months ago

That looks very neat. It is also a great resource for more inspiration. I will definitely try it out. Thank you.

[–] [email protected] 2 points 8 months ago* (last edited 8 months ago)

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.

[–] [email protected] 3 points 8 months ago

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.

[–] [email protected] 1 points 8 months ago (1 children)
  • 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.

[–] [email protected] 3 points 8 months ago* (last edited 8 months ago) (1 children)

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:

(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..

[–] [email protected] 2 points 8 months ago

Thanks for the detail instructions. Sounds fun :)