What Are Some Must Have Open Source Home Servers

Would love to get your thoughts on the must have Linux servers you couldn’t live without in your home lab.

When I think of must have servers:

  • PiHole
  • NextCloud
  • Kodi
  • OpenVPN

What servers and software do you use that you can’t live without? This may get used in an upcoming show.

Thank you!

4 Likes

Definitely PiHole, after getting it setup. I have Jellyfin that I don’t really use, but I agree with Kodi as well (I have a Pi Zero that needs it setup), but Netflix did just remove some movies, which proves to me why I should have spent the $10 in store a week ago to buy it!

I think a photo gallery as well. I have only just deduplicated all of my phone backups / picture backups, I’d love to have a link to send people so they can view some pictures, or show the pictures on something bigger than my phone screen.

1 Like

+1 for PiHole

Kodi and OPNsense are on my to-do list.

1 Like

OpenWRT & virt-manager

2 Likes

If you’d like to have an on-premises, Open Source Slack clone, I’ve had good success running Mattermost Team server on a Raspberry Pi 4. But don’t expect it to have integrated voice chat or video chat. Embellishments like emojis and file attachments work well. The mobile Mattermost client is also decent, with good, free, unlimited push notifications (a hard-to-find feature in Open Source Slack clones).

Attaching pre-recorded .mp3 audio files, and .mkv video files, is a sort of poor-man’s way to have voice memos, or video memos be privately sent back and forth between Mattermost users (who can send “Direct Messages” to each other, which is their terminology for a PM).

1 Like

I goofed up my containers that I had been running for ~6 months two weeks ago. Really made me realize how much I have come to depend on them. Nginx Proxy Manager is the easy way to get a reverse proxy started and I LOVE IT. Bookstack is essential to me at this point as a brain dump and reference area. Heimdall is a great way to have a dashboard for my services and share things with family. I also run a jellyfin container on a different machine too. That machine isn’t running 24/7 so it’s a nicety but not essential.
I have a Pi3B+ running HASS.io and a PiZeroW running Pi-Hole. Pi-hole is a nicety and I’d be bummed if it went down. HASS.io is becoming more essential as I slowly upgrade things like smart lights and motion sensors. If I ever move into a place that has neutral wires, HASS.io will be irreplaceable.

CONTAINER ID        IMAGE                              COMMAND             CREATED             STATUS                                                             
25c49b01b294        linuxserver/bookstack              "/init"             2 weeks ago         Up 2 weeks                   
7acbf98ef363        jc21/nginx-proxy-manager:latest    "/init"             2 weeks ago         Up 2 weeks (healthy)      
326ae3b74518        yobasystems/alpine-mariadb:armhf   "/scripts/run.sh"   2 weeks ago         Up 2 weeks                                                      
ca4cce28fc7c        linuxserver/mariadb                "/init"             2 weeks ago         Up 2 weeks                                                      
02a6f73a0402        ghcr.io/linuxserver/heimdall       "/init"             2 weeks ago         Up 2 weeks                   
1 Like

In my case Kodi. The whole entertainment and music is run by it.

1 Like

Oh, yeah I forgot about OpenWRT.

I also use virt-manager to manage KVM’s, but that’s not a separate server for me ( virt-manager being on my laptop ).

You guys are moving Kodi up on my project list.

1 Like

+1 for Kodi :blush: I also used Jellyfin to watch tv shows outside of home but I reverted to Synology Video Station.
Recently I was looking into Nextcloud to find a self hosting solution for our contacts and calendars but it seems a bit much just for that.

1 Like

TL;DR – Plex, OctoPrint, and LAMP

Plex Media Server handles all of my entertainment – DVD collection, TV Shows, Home videos, 20K+ photos, and music – I sorta bought into it so it would create a huge hole if it were to disappear. It’s containerized in Docker. Stable as a big rock.

OctoPrint on the Raspberry PI 3B+ – handles all of my 3d prints remotely with drag and drop printing in LAN – so simple.

[not really “home” server - more SOHO ] I occasionally spin up a LAMP server when I need to work on development. For speed and security, I make that in a LAN server. I modify my hosts file for that particular domain and build away until it is ready for production.

1 Like

@dasgeek the servers that we run on our home network, might be a bit different from the norm. Most have come as the result of my teenage son wanting to grow in his programming skills, and a few for me. Here is what we have running on our home server an old Dell Optiplex i3 (2nd Gen) with 4GB of RAM:

  • Syncthing: The syncthing instance on the server is kind of treated as our personal “Google Drive” all our devices connect to the server for their shared folders, and those syncthing folders get rsynced and archived to an external drive.
  • Discord bots: My son’s high school had to go virtual, so he and his good friends stay in touch during the school day and after school through a Discord server and he wrote some bots to make it even more useful. Since they are going to their classes at specific hours of the day for live teaching and classroom sessions, he wrote a “School Bell” discord bot that rings a school bell 5 minutes before the next class and 1 minute before the next class to remind his friends that they need to log into their Google Meet classroom. They also have bots that play background music in their voice channel or other random sounds when called upon.
  • Hosted version of VS Code: This project was to get around the limitations of using a Chromebook while at school. With this hosted version of VS Code he had a powerful editor in his browser with all of the tools of Fedora 33 (what the server is running) at your finger tips through a browser page.
  • Python Script to Download the Bing Picture of the Day: Using Cron this script runs everyday on the server and downloads the latest Bing Picture of the Day.
  • LAMP: To display the Bing Picture of the Day that gets downloaded my son wrote a special program Python web app that displays the pictures on a webpage gallery and enables you to download the pictures in two different resolutions.
  • Python Web App for Personal Wiki: Whenever we want to document something so we can remember how we set up something in Linux or what we need to install or what setting we need to set in order for something to work, we often write a text file formatted with AsciiDoc (Like Markdown, but a few more options). We save these files in a folder that is synced using syncthing. This Python Web app reads all the files in that folder on the server, can search the text of the files and then display a nicely formatted HTML version of the file in a webpage. It serves as our own custom wiki.
  • Pi Hole (running on a Rpi 3)
  • Jethro (also running on the Rpi 3) a church management database (GitHub - tbar0970/jethro-pmm: Jethro Pastoral Ministry Manager)

What we used to run on the home server:

  • Quassel IRC Server (It didn’t seem to handle server shut downs and reboots well, so we kind of got away from using it. I would love to find a different solution for this because I love IRC, but it is hard to find active and positive IRC channels these days, a lot has changed in 16 years since the last time I used IRC heavily.)
  • Freedom box: This is an amazing project, and one that we enjoyed for a year before we went to building out a server off of Fedora 33 server install. Check it out here: https://freedombox.org
  • OpenVPN: Freedombox made this easy, so when we ran that we had our own VPN set up.
  • Gitea: Really neat project, but never found a good reason to use it over Github. When you are using Git you are often wanting to collaborate with others, so you need to be on the platform where they are at. I don’t collaborate with others on my dotfiles, but I also don’t care if other people see my .vimrc or .bashrc or .fluxbox configs.
4 Likes

I’d love to hear more on your Freedombox install and why you moved away. I have limited needs, but like the simplicity of that.

1 Like

@snorlax, I’m a huge fan of Freedombox, and if you think Freedombox will fit your needs, then I definitely think you should use it. The freedombox community is wonderful, and it continues to be a project that gets more and more polish. Also, we found that freedombox ran lightweight as well. We were not stressing the old Dell Optiplex that we had it on. It is a great server solution that will run on some “recycled” hardware well.

Why did we move away?

  1. Moving away from freedombox gave my son the opportunity to explore new technologies like containers and SELinux and administrating a Fedora server install.
  2. If you want to add things to Freedombox that the team has not integrated as a supported module there are extra hoops to jump through which limited your ability to try new things.
  3. Freedombox is committed to using Debian Stable, which is wonderful, but if something is not packaged for Debian Stable they will not consider adding it as an integrated module, but as you can see from their website there are lots of integrated modules already and they continue to create more as time goes by because lets face it, there is a lot that is packaged for Debian.

What do I miss from not running freedombox?

  • I miss OpenVPN. I used to be able to access all of our server applications on the home network from my work network securely. We haven’t set up OpenVPN yet on the Fedora 33 server, so I miss that.
  • I miss the proxy server which enabled me to access all of the services on the server and the services on a RPI too.
  • I miss the single sign on for the services that are under the Freedombox umbrella.

Since for us the home server is a learning experiment and not something we have come to depend on (except Syncthing, not sure if I could live without that, knowing that whenever one of my 4 computer boots up it will always be up to date with the latest documents because all of them sync with the server and the server is always on).

Give freedombox a try, I will give it high praise even though we have moved away from it.

1 Like

I’m running all my home server things containerised with Docker on an old office PC running Debian 10! I am considering switching to a Raspberry Pi in the near future though, since that would use much less power. The office PC server currently draws 34W from the plug idle, a Raspberry Pi 4b would be about 2W, or maybe around 10W if I attach my 4TB 3.5" Hard Drive to it that’s currently used in my server, using a powered hard drive enclosure.

Do you guys think the Pi would be powerful enough for running all my services? Most of them aren’t demanding and spend most of the time idle anyhow.

Anyway, here’s what I use almost daily:

  • Portainer to make managing my Docker infrastructure easier
  • Jellyfin as a foss alternative to PLEX for serving my TV Shows/Movies
  • Ubooquity for serving my eBook and comic book libraries
  • Syncthing for backups and file sharing between devices and to automatically upload phone pictures etc. to the server
  • Transmission for permaseeding my favourite distros
  • TT-RSS as an RSS reader so I can read my news on any of my devices and sync which articles I’ve already read, and which ones I favourited etc.
  • The Lounge as an IRC client

Also related and very cool, but not running as a service, I recently started using DecSync to sync my contacts and calendars locally without them ever touching the internet. It creates a database for your calendars and contacts in a folder that you can share between devices however you want. I use Syncthing for it personally to keep things local.

EDIT: I also use the server as a NAS for a whole bunch of files, via NFS share.

4 Likes

There was a similar topic on this forum. I’ll summarize my experience here.

I currently self-host

  • Pi-Hole Its got the stuff ads crave!
  • Matrix Synapse (similar to Discord?)
  • Gitea (similar to GitHub)
  • PaperMC* (a “lightweight” Minecraft server. *PaperMC is FLOSS, but I’m not sure if the resulting server is because it uses the official Minecraft server at some point. I’m not sure how that works.)
  • Jellyfin (a home media server)
  • BookStack (a wiki which organizes like a bookshelf. I use it to compile my D&D sourcebooks in a way my players can easily reference and, if appropriate, add to.)

I’m (still) looking to self-host a federated microblogging thingy but I haven’t decided yet.

1 Like

I’m going to give Syncthing a minus 1. I sincerely tried it for several months (and loved its firewall-punching capabilities). My conclusion is that it’s only good for those situations for when everyone you’re sharing with is also a serious geek. If you want to share files over Syncthing with any non-geeks, pretty much forget it (as the non-geeks will probably not really get it, and drag you down into a support nightmare of needing to baby them at every step).

The crucial features (IMHO, which you’ll only get a sense of after longer-term usage) are buried deep in several disparate, obscure places.

Syncthing is quite a paradigm shift (considering you can dynamically change the directionality of the sync, pause it, self-relay it, etc), which takes a good long while to wrap one’s head around.

They are working on totally re-designing their UI, and I’ll be interested how that goes, once released. Hopefully greatly simplified.

2 Likes

Seconded. Getting technologically basic people onboard was a pain in my tuchus. I feel I would be better served with a Nextcloud or Seafile or something.

2 Likes

You guys might be right. The only ones who use our Syncthing instance is myself and son, and we are both techie. It can be a little fiddly to set up. Since I haven’t used Seafile or Nextcloud I’m unsure if the set up would be easier, harder, or the same. I would also be interested in comparing resource usage for Syncthing to Seafile and Nextcloud, because out of the things that we run on the server, I think Syncthing takes up the most resources. Once Syncthing is set up though, it really is “set it and forget it” because it just seems to work.

1 Like

This sounds like a great project. Building it up on a Debian 10 box will give you a nice “dry run” experience for getting the same services working on the RPi 4b. If Jellyfin is doing a lot of transcoding, that might create issues, but if it is just serving up created and saved media files it will probably be okay. I don’t have a lot of experience running a media server on a RPi, but you should get a good idea from your testing on the old Office Machine that you are setting up. Syncthing is the most resource intense service that we run on our home server, but still our older i3 with 4GB is chugging along without any bottle necks. Right now it is using 700mb of our 4GB of RAM.

1 Like

Thank you all for this incredible list of amazing servers. Many of these I’m personally going to be checking out. Really awesome stuff here!

3 Likes