I just recently started playing around with an old pc as my homeserver and am curious of any recommendations for lesser known self hostable foss software that you would recommend
Here are a few I like:
- Jellyfin - a media server software that allows you to organize and stream your personal media collection.
- NextCloud - a self-hosted file sync and sharing platform. Not as good as Google Drive (of course), but it can do the job.
- Bitwarden (with a Rust-written alternative named [vaultwarden] (https://github.com/dani-garcia/vaultwarden)) - a password manager for storing and autofilling login credentials.
- Matrix - an open network for secure, decentralized communication. WhatsApp, but in the Fediverse.
- PiHole - a DNS sinkhole that blocks ads and other unwanted content.
- Mycroft - an open-source voice assistant. You can make your own Google Home with it.
- OctoPrint - web interface that allows you to control 3D printers. Pretty handy if you have one!
- Gitea - a lightweight self-hostable GitHub
- Home Assistant - an open-source home automation platform. Can integrate a lot of other things in your house.
- The X-arr initiative - a collection of tools for managing and organizing media libraries. Pretty good if you deploy your own media server:
- Sonarr - Select TV shows and it will automatically download episodes for you.
- Radarr -> movies
- Lidarr -> music
- Caddy - Reverse proxy
- Owncast - Twitch alternative
- Jellyfin - Home video streaming application
- Joplin - Note taking app that syncs
- Syncthing - syncs files from my LineageOS (Android) phones to PC
- PiHole - AD blocker
- Minetest - open source voxel game engine (basically Minecraft)
- Veloren - open source adventure game
- Invidious - frontend for Youtube
- Libreddit - frontend for Reddit (about to stop working)
- Proxitok - frontend for TikTok
- Nitter - frontend for Twitter
- Rimgo - frontend for Imgur
- Libremdb - frontend for IMDB
Edit: Fixed PiHole from saying “VPN” blocker to “AD” :-D
Are we sure Libreddit will stop working? The latest post from Reddit states that less than 100 api calls per second will remain free if you’re logged in. I’m not exactly sure how Libreddit works (I use a self-hosted Troddit instance) but it’s my understanding that API calls tied to your own user should be fine as long as you stick under than 100/sec limit.
Just going off what they said:
Here are some I find really useful:
- Jellyfin (media interface)
- paperless-ng (document store with OCR, tagging, search, etc.)
- Miniflux (RSS reader)
I use all of these and can confirm they’re really good! I can’t believe I used to just search through multiple email accounts instead of using Paperless.
What benefit does Paperless provide over searching your email? If you’re searching your email, then you can search by message metadata associated with the document (e.g. when it was sent, who sent it, keywords in the email). How does Paperless improve upon this experience? It seems inelegant to just duplicate all that in Paperless.
Granted, that said, I like my email searching tools and email client, so maybe that’s part of it?
One of the main things is that Paperless applies OCR to each uploaded document, so you’re not just searching for the message content and metadata, but also the whole content of the document. Maybe some email clients will do this too. It also has a tagging system which can automatically add tags based on document content. Mostly I just like having everything that’s relevant in one place, and only what what is relevant. So if I’m looking for concert tickets I don’t find the “order confirmed” and other related emails that do not actually contain the tickets.
This is enough to make me curious, at least :) I will give it a look after I’m finished my current fiddling (may include “ugh I’m sick of computers” timeout if it’s unsuccessful).
Thanks, paperless will be really useful at uni
First time hearing of Paperless. That’s super cool!
conduit is a lightweight Matrix homeserver. If you tried running synapse and found it to be an utter mess, conduit is much better!
mpd is a music server daemon with many clients. It scans your music (either stored locally or on a network) and creates a database (either stored locally or accessed from another mpd server on the network).
minidlna is a
DLNAReadyMedia server which is a plug and play media server. Many hardware devices (e.g. AVRs) which don’t support anything else do support DLNA, so you can e.g. serve music or video directly to your AVR instead of needing a set top box like an Apple TV or Roku.If you have a problem with collecting machines like I do, set up DNS with dnsmasq. It’s pretty easy to get started, all you need to do is write your /etc/hosts file (and, likely, disable the DHCP server). Additionally, if you have a problem with collecting machines like I do, invest in some kind of config management so it’s easy to handle all the different things you’re running.
Also, if you want to actually learn, I would strongly recommend against using Docker containers for everything. Besides being stuck with what the developers prefer, all the work of installing things is already done. Build things from source (optional), configure all the pieces yourself, work out all the dependencies and actually learn how things work. That’s the fun, at least in my opinion. That’s why I have yet another SBC with no OS to fiddle with this weekend: I’m looking to migrate from OpenWRT to real Linux so I can do everything myself instead of relying on OpenWRT’s scripts.
Also, if you want to actually learn, I would strongly recommend against using Docker containers for everything. Besides being stuck with what the developers prefer, all the work of installing things is already done.
I really disagree on this point. You should use docker or podman (preferably Podman) to containerize your applications on your server to keep them ephemeral and separated from the host OS wherever possible. This improves security, makes setups reproducible, and eases backup and restore procedure. If you want to build from source do so with a containerfile/docker file to keep your build environment fresh and clean.
Exactly this. You should use docker and for a beginner Podman is perfect.
For a real hands off approach take a look at Yunohost or CapRover. Both are very easy installs and will give you a gui to manage your applications and other self-hosted services. It’s a great way to dip your toes in. The only difference is that with yunohost, they bundle most of the self-hosted services with their own local-sso implementation, so you only need one login for all your services. This is nice if you want a set it and forget it solution. With CapRover, you basically just have a nice gui to manipulate docker installs, so if you find it a bit too restricting, you could just manipulate the docker installs yourself via command line.
Both are great entry points!
EDIT: Honorable mention of DietPi !
Nextcloud, Bitwarden (vaultwarden is the name of the OSS server), Adguard Home / Pihole and Paperless-NGX might be some things which can have a pretty big impact in your daily life.
From the things I use:
- Uptime Kuna, for monitoring the availability of websites/services
- Gitea, for hosting code
- PicoShare, for sharing files
- Maddy, for email
How has your experience hosting your own email been? I often hear that the big providers (Google, Microsoft, etc.) will simply drop your sent mails.
I also host my own mail and there’s been little issues.
Microsoft is a pain in the ass if you’re in an IP space they don’t like like DigitalOcean. Which is ironic because they have the worst spam filter by far in the industry.
If you want to get through to everyone you will have to:
- Use a “good” TLD ( not .to, not .xyz, …)
- Don’t use cloud platforms that are regularily used for spam (mostly DigitalOcean)
- Use SPF
- Use DMARC
- Use DKIM
- Use a PTR record
- Don’t make an open relay by accident
- Use proper ports and certificates
- Register an abuse account at the big players (Google, Microsoft, …)
- Don’t use an dynamic IP
- Keep it up to date
- Minimize downtime
I can’t recommend mailcow enough, it makes setting up a mail server a breeze.
https://github.com/mailcow/mailcow-dockerized
Use the MXToolbox to verify your server(s).
I have had issues with it over the years. Many will blacklist entire cidr nets for a single bad actor. I get this on my linodes frequently if I proxy traffic through them. Ie: tons of captchas on google/YouTube.
When I ran my own mail it was similar. Often having to spend time getting IPs off rbls and the like because some other node on my subnet was malicious.
In the end, I just moved my email over to workspace. Not ideal. But it works.
One thing I did notice was that as soon as I registered my domain in workspace (but hadn’t even setup mx records or began moving mail) a lot of issues with google immediately stopped, and thus, same with Office.com. I actually ran this way for a while but then google axed freed accounts and I just moved my stuff to them and pay.
Maybe because I use a gTLD? I dunno. But it was a headache.
I set up my own email on a bsd.amterdam VPS and have had no problems whatsoever. No one drops my mail. I don’t know what slash_nick is talking about regarding maintenance. The only maintenance I have is rotating Let’s Encrypt SSL certificates, and that’s only because I haven’t automated it yet. Domi has good points that can be summarized as “actually do it right”. I got my setup working in about 100 lines of config. Granted, that’s OpenBSD rather than Linux, which is significantly more terse, but it’s still not hard and I wish more people would realize that. That 100 lines includes firewall and network config, to give an idea of how little work there actually is.
Ok I may have to set up uptime Kuma. I have some services that I don’t realize are down until I need them, and it gets frustrating
I’ve got a pretty booring setup compared to most 🤣. Ubuntu Server running the following in docker,
- Plex
- Audiobookshelf
- Komga
Audiobookshelf has come a really long way. The version out now is heaps and bounds better than what it was 1 year ago.
Personally, as well as NextCloud, I’d host instances of LibreX, CloudTube, PiHole, Gitea, XMPP, and CryptPad.
If it’s fun you’re after, though, why not try hosting a Minecraft server? And how about XMPP or Matrix, to keep in touch with friends?
What’s your xmpp server of choice?
I haven’t really looked into it much, as I don’t currently have enough time or money to self-host anything, but I’d probably go with Prosody to start with.
- dokuwiki
- draw.io
- gitea
- woodpecker (ci/cd)
- minio
- postgres
- freshrss (rss server and reader)
- firefly3 (finance / budgets / expenses)
- calibre
- Pi-hole (primary on a pi, secondary on docker host)
Have you looked at Adguard Home instead of pi-hole? I had been on pi-hole for years and just recently switched to AGH. My primary is in docker and secondary on pi but I think I like your idea better so I’ll probably switch that around. I like AGH better so far.
I haven’t looked into it yet. What do you like better about it?
(I put my primary pi-hole on a pi because it’s practically the only thing on it - I can reboot it quickly if needed and not have a lengthy downtime on my DNS - the was before I had the second one running)
I find the user interface to be more intuitive and it seems like it’s a bit more effective than pi-hole at ad blocking. It also has built in adult content filter lists if you want that which includes forcing safe search on multiple search engines, which is interesting. One thing I’ll miss about pi-hole is the local dns config. I had stuff set like “pi.local” and “unRAID.local” so I didn’t have to type IPs over and over. Afaik, AGH does not have that feature.
I currently have a server running dnsmasq just for DHCP/local DNS, and have it set with Adguard Home as its upstream servers. That way I can set up custom blocklists, and have local resolution as well.
Great that you use Freshrss, too! For my curiosity, which app (android) do you use as client?
I am on iOS myself. I actually just use the built in reader. I just saved it to my home screen (PWA). Icon on Home Screen. Opens a browser view. Simple and didn’t need another app.
Ok thank you!
Home Assistant! You can host it inside a VM.
I attempted to use different home assistant softwares, but i always ended up deciding that i will wait till offline voice recognition is a bit more usable (not being a native englis speaker its a rougher experience). I will pobably try it again soon though.
Home Assistant, despite the name, isn’t an Assistant like Alexa or Google Home, it is actually a home automation integrator. It connects to practically everything, and then workflows can be triggered off the states of your IOT stuff. In my house, I use it to, among other things, turn down/off the light when grid power goes down and I’m running on battery power, as well as send me a notification that I’ve lost grid power.
I really like Memos. It’s a micro blogging site that is minimal, but has a lot of neat features. I’m using it as a replacement for DayOne’s journal app.
And I’ll second Veloren. My kids and I are having a blast playing.
I’m using the following:
Plex for music/anime/tv/movies, calibre webserver for ebooks/manga, qbittorrent web+Prowlarr to search for and download content, SyncThing to keep things in sync between my server and desktop, and I’m also file sharing with nicotine++
I have two instances of BookStack. A public-facing one for bird stuff, and one for home stuff. I also self-host an instance of Plausible Analytics as a privacy-respecting alternative to Google Analytics.
[email protected]
https://lemmy.ml/c/selfhost(still don’t know how to link communitys here)