view the rest of the comments
Selfhosted
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:
- selfh.st Newsletter and index of selfhosted software and apps
- awesome-selfhosted software
- awesome-sysadmin resources
- Self-Hosted Podcast from Jupiter Broadcasting
Any issues on the community? Report it using the report flag.
Questions? DM the mods!
I recently set up a small home server and started trying to self host stuff. I found it pretty hard to get started. People have been very helpful on this community and other public forums, but I'm afraid it's often not enough. They give me advice in trying this or that, doing this and avoiding that... but I still don't understand more than half of the concepts that they use. I consider myself tech literate above the average user: I recently switched to Linux (after years on MacOS, using the command line, and even building a couple of programs from source), I also installed a custom ROM on my phone. I feel comfortable learning and doing these things... but still felt very very lost when trying to self host a few services. At the moment I settled for a local-only network where I run Jellyfin, Navidrome and Syncthing on OpenMediaVault. I'm lost with what I'd need to do to access my server from outside my local network, and terrified of doing something wrong and leaving a hole open so any hacker can access my server. I'd like to do it some day, but I'd rather have a safe local network than screw and get my data stolen or deleted.
So, in my opinion, we would need good tutorials or a MOOC to explain the basics from scratch.
I'm in a similar position but perhaps a few steps ahead. But still needing to regularly lookup things like "how do I do in linux?". The other reply mentions tailscale which I agree is the best for your use case, super simple set up, secure and free, you just need to run one command on the machine or VM and it guides you through the rest. There is an option to allow access to your local network as well (haven't used it, but have seen it in options). Then it is just like connecting to a vpn from elsewhere to get access.
The other alternative option you might want to explore is a cloudflare tunnel (I used the cloudflared docker container). You'll need to buy a public domain and then that can redirect to a service you want (e.g. you could access jellyfin from 'jellyfin.yourname.com'), I set up two-factor authentication which then only allows certain e-mails to get a code to login. This means you don't need to connect to a VPN and can access from any machine and browser. I've used this for things like silverbullet and planka.
Check out this guide to get started with exposing your services via proxy. I started with v1 and migrated to v2. Until I dug this link out for you, I had no idea about v3; but if it's as good as the first two I can only imagine how good it is now.
https://www.smarthomebeginner.com/traefik-v3-docker-compose-guide-2024/
Setup a VPN via Wireguard or Tailscale. I personally have not done that but I have VPN setup through OpenVPN which I did not find that hard and people say that is significantly harder than Wireguard.
The other (less safe) option would be to setup a DMZ on your network for stuff you want to self host. That is a bit more involved though. I went through it for fun and setup a public Nextcloud instance along with DDNS and a reverse proxy. I was just messing around though and shut it down after testing performance.