Yeah, I hear you there. I usually get overwhelmed by the time I get to the “B” section.
I think (looking back at your post) the most important thing that helped me was learning how to use docker-compose. All of my services are in docker containers and are much more manageable then trying to do a bare metal install.
With that comes the struggle of security though, as docker containers use their own set of firewall rules distinct from the main firewall rules you might have setup on your server. If you end up using docker, do a few searches on how to secure those firewall rules for the containers themselves.
I have definitely benefited from other peoples current set up lists, I’ll leave mine here in case it sparks some interesting directions for you.
-
Diun - notification service for when new images are released for any running docker apps I have up.
-
Immich - self-hosted photos backup. Incredible app, its extremely refined and feature complete.
-
Jellyfin (Linuxserver.io image) - personal media streaming service. The Linuxserver.io version was much easier to set up than the stock jellyfin version.
-
Joplin server - self-hosted back end for Joplin notes sync. Much faster and more reliable than the 3rd party sync targets like one drive or Dropbox.
-
Mealie - recipe management.
-
Nextcloud - so many things. Calendar, files, kanban, contacts, etc… Personally I find Nextcloud’s documentation hard to follow, so I’ve linked the video tutorial I used to set mine up.
-
Nginx proxy manager - reverse proxy with basic protections built in. I’m on the fence on suggesting this one and have been considering switching to something else, as it rarely gets updates these days. It is the only one I’ve been able to wrap my head around though. Zoraxy, Traefic and Swag are all other options. You mentioned having Nginx set up already, so this might not even be an issue for you.
-
Paperless-NGX - document server and archive. All you need is the docker-compose.env and docker-compose.postgres.yml from the linked directory. Tweak the compose and env values as you see fit and remove the “postgres” from the file name before firing it up.
-
Portainer - basically just a GUI for viewing docker services. You can manage docker images and stacks with portainer, but I would recommend just learning the docker-compose method in general.
If you ever run into instructions for setting something up with a regular docker command but want to convert it to a docker-compose.yml file instead, this site is super useful: composerize.com
I initially started out with that, it worked fairly well but I did notice a significant speed increase when syncing after getting the Joplin server set up. The downside is having another service publicly exposed though, a more minimal set up does have its benefits.