Hey guys,
after reading up on selfhosting for weeks now I finally decided to take the plunge today and tried setting up my own nextcloud & jellyfin instances. For this purpose I am using a mini PC. (similiar to an Intel NUC)
Now I would like to make both services available to the internet so I could show images to friends while I’m at their place / watch movies with them.
The problem is I am currently not very educated on which security measures I would have to take to ensure that my server / mini PC doesn’t immediately become an easy target for a hacker, especially considering that I would host private photos on the nextcloud.
After googling around I feel like I find a lot of conflicting information as well as write-ups that I don’t fully grasp with my limited knowledge so if you guys have any general advice or even places to learn about all these concepts I would be absolutely delighted!
Thank you guys sooo much in advance for any and all help, the c/selfhosted community has been nothing but a great resource for me so far!!!
It comes down to using secure passwords, 2 factor authentication, and updating software as soon as you can.
Check out Cloudflare’s zero tier tunnel to only expose the services you need without port forwarding. Added benefit of masking your home’s IP behind Cloudflare to prevent DDOS. Only downside is you need your own domain.
Why would anyone DDOS a random home server? I don‘t think OP has to worry about that.
Duckdns.org for dynamic dns. You can get a domain name like example.duckdns.org for free.
Caddyserver.com to reverse proxy to your running docker services. You’ll be able to set up jellyfin.example.duckdns.org
Crowdsec.net to secure the network
Tailscale for access to running docker services that you don’t need to share with friends.
Could you please be more specific what exactly Crowdsec brings to the table? In which way does it “secure the network”?
There’s even a Traefik Plugins for crowdsec. I guess it’s time to play with my Traefik Config again
The other day I learned about endlessh. I set that up, switched my actual sshd to listen on a different port, and the ssh login attempts from randoms essentially went down to 0. Pretty neat.
Sounds like security by obscurity to me. But still, nice result.
It’s more targeted to avoid automated attacks.