The piece of string is very long!
https://github.com/awesome-selfhosted/awesome-selfhosted
You may need to work backwards, identify a service as a need and then figure out which software to run.
If it's free and open source and it's also software, it can be discussed here. Subcommunity of Technology.
This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.
The piece of string is very long!
https://github.com/awesome-selfhosted/awesome-selfhosted
You may need to work backwards, identify a service as a need and then figure out which software to run.
This is an awesome resource! I already have what i need (file, torrent, gitea server), but im looking for software to try out just for fun.
Yeah, I get ya but when you scroll that list you can see why it's a hard topic to reply to. There is a lot of fun to be had!
Edit: Fixed PiHole from saying "VPN" blocker to "AD" :-D
Here are some I find really useful:
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!
Here are a few I like:
These are the ones I use most actively, on my FreedomBox:
Caddy is simpler for the reverse proxy. Just sharing for people that get scared when they try to set up Traefik.
Ngnix-proxy-manager is even simpler :) But along with the automatic router creation using labels, I've found traefik to be the most robust of all three.
The traefik syntax and configuration using yaml is really initutive. I can link a good guide here if someone wants it. The official documentation isn't that good.
One of my favourite guides explaining the configuration files for traefik.
Nginx proxy manager is simple, but I can't manage to make it work with https on porkbun. Nginx-proxy works just fine and it's probably the simplest i've seen.
From the things I use:
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:
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 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.
Jellyfin is a great FOSS alternative to Plex for TV/Movie playback.
Miniflux as an RSS reader
I actually was looking around for rss readers, but havent found one that can save entire articles and serves them offline. Does this support that?
You may be way ahead of me on this, but I highly recommend using docker for this endeavor(or podman), as it really allows you to try a lot out without making a mess of your system.
I run pihole, syncthing, and gitea locally(among less interesting things.)
One of my most used softwares on my server is calibre and calibre-web. It allows me to self host my own book server with a very nice looking front end
How is the workflow with this? Also what kind of frontend client can be used for reading? I'm curious to try but haven't got the time to set this up so far.
So I use calibre as my backend client essentially. My library is managed through there, and I load my books in there as I get new books. It’s a bit clunky, but it’s reliable for what it does, and can even be set to auto tag your books and grab new covers for them
Calibre-web is what I mainly use to interact with it in my day to day uses. It’s a very clean front end that connects to my calibre server, and even has account management if that’s your thing. It’s hosted as a website, so I can access it from anywhere in the world. When I click on a book, I can either read it in the browser, or I can download it. Usually I just download them to my tablet and read them there as you would any other pdf/ebook. It’s a super clean way to manage a ton of books
Thanks, i think this will be my next project. By the way it migt interest you that you can self host the entire gutenberg project using kiwix
Ohh that is very interesting. I really like hosting media like that. I feel it’s very important to share knowledge with people in what ways you can, especially literature
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.
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?
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.
pihole/adblock monero node/support monero network p2pool/mining pool for monero wireguard/vpn Tor relay, i have thought of using an old pc to support Tor
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.
On my 2 raspberry pi's I am running Pihole Pivpn Syncthing Photoprism Unify controller Heimdall (webpage that has all my servers....locally accessible, or non local via wireguard connection via pivpn) Might be more can't remember! Prob more from other suggestions on here over next few days 😂
Might I suggest Dashy/Homarr? Heimdall has been abandoned I think. I went from Heimdall to Organizarr to Dashy/Homarr.
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 ~~DLNA~~ReadyMedia 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.
Syncthing to replace Google drive and Photoprism for Photos. Both have a great functionality and run well on my 12yrs old home server with 2gb of ram.
I've got a pretty booring setup compared to most 🤣. Ubuntu Server running the following in docker,
Audiobookshelf has come a really long way. The version out now is heaps and bounds better than what it was 1 year ago.
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++
This reminds me that I need to learn how to use SSH so I can put files on a server.
I have been doing everything the hardway, but I have a few capable older computers I want to put to work.
Self-hosting is going to be my new hobby, I know it.