Hi, everyone! I’m kinda new at self-hosting, so I need a few tips to get started. Is there any guides that you can recommend for the begginer? My goal is to run a vps with self-hosting tools for daily usage, like Jellyfin, Navidrome, Baïkal, proxy-tool, maybe a Gitea instance etc. I have a domain purchased and basic nginx configured, but I’m not sure where I should go next or if I need to take any special steps. Thanks in advance.
A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.
Rules:
Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.
No spam posting.
Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.
Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.
Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).
No trolling.
Resources:
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
Definitely check DB Tech’s videos put on YouTube. He covers a ton of self-hosted apps and how to set them up. You’ll have to sift through a bit, not all the apps he talks about are really necessary, but I basically learned self-hosting through his channel.
Look for stuff on authelia, crowdsec or fail2ban with regards security for your server and decide what direction you want to go there.
Christian Lempa’s channel is also good, though can be more technically oriented.
EDIT: also, this github repo has an amazing (though overwhelming) list if self-hosted services. Awesome Self-hosted.
Thanks for the advice! I’ll definetly look into these channels. Btw, I already know about awesome-selfhosted, but I’ll need to spend some more time going through the whole list and picking what suits me best.
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