this post was submitted on 11 Jun 2026
33 points (97.1% liked)

Selfhosted

59804 readers
516 users here now

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:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. 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.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

  7. No low-effort posts. This is subjective and will largely be determined by the community member reports.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 3 years ago
MODERATORS
 

So far, my self-hosting has been limited to Pi-Hole, and a static website. I now want to try out something new, an **Immich ** server.

I have a static IP from my ISP, so I don’t need to rent out a VPS. However, given that this IS a home internet, I want to be extra sure that it is going to be secure.

In my existing website, I use Fail2Ban + BadBotBlocker + Anubis + Nginx rate limits to protect it from scrapers, bots and malicious users, and it works well. With photos (especially family photos) at stake, I just want to know more on how to protect my server.

top 17 comments
sorted by: hot top controversial new old
[–] uuj8za@piefed.social 1 points 22 minutes ago

Definitely put it behind Netbird.

Also. I have a Jellyfin instance that I share with family, where I actually can't put all of their client devices behind Netbird.

For that case, I used Netbird's reverse proxy feature. So technically the Jellyfin instance is exposed to the public internet. HOWEVER, Netbird allows you to block or allow certain IP addresses. So while my Jellyfin instance is technically on the public internet, it's only accessible from 1 specific public IP.

Otherwise, if you're on the Netbird VPN, then the domain I have set resolves to the internal IP.

[–] avidamoeba@lemmy.ca 36 points 8 hours ago (1 children)

Put it behind Tailscale/Headscale/Netbird/etc. VPN connection and don't think about it.

[–] thericofactor@sh.itjust.works 18 points 8 hours ago

This. You can sync your photos when you're connected to your home wifi or via tailscale/vpn. You can look at your photos either via vpn or at home in your own network. There is little need for opening it up to the Internet.

[–] Jason2357@lemmy.ca 1 points 3 hours ago

I can't recall the name, but there was at least one project that had a kind of static web proxy of shared immich albums, so you can expose that to the internet for sharing and keep Immich its self internal network only.

[–] possiblylinux127@lemmy.zip 7 points 6 hours ago

Is there a reason it needs to be public facing?

You're already doing more than companies that charge people to host their photos.

[–] keimevo@lemmy.world 13 points 8 hours ago (1 children)
[–] q7mJI7tk1@lemmy.world 6 points 6 hours ago* (last edited 6 hours ago)

I use Pangolin reverse proxy with OAuth (PocketID) for family access to services, along with CrowdSec. For the Immich app access which needs to bypass auth login through the reverse proxy, I use 'link share' in Pangolin that gives me header tokens that can be entered in to the Immich app under Advanced settings.

I've been an Immich user for over 2 years now, so it's been a journey for me to implement it to this standard.

Or as someone else suggests, try CloudFlare with something like Google Auth login. Just be aware that you are then exposing all your traffic to Cloudflare. I take that as a small sacrifice for simiplicity.

[–] suzune@ani.social 8 points 8 hours ago

I would not expose anything to the internet, except if you want to have it public.

I use wireguard as a private, self-hosted VPN. It's easy to set up.

[–] irmadlad@lemmy.world 5 points 7 hours ago

Despite what some may think, I'm not a representative of Cloudflare, nor do I receive any benefit from recommending them. I just recommend what works for me. There are many avenues at your disposal. That said, Cloudflare Tunnels/Zero Trust is a winner in my book. You will need a cheap domain name that you can change the nameservers to the ones Cloudflare assigns you. After that, you install Cloudflare Tunnels/Zero Trust on your server, and connect to Cloudflare, Jacks a doughnut, Bob's your uncle. No need to fiddle with NAT, or opening ports. Cloudflare takes care of all of that. Of course you will need port 22 (ssh) to directly admin your server.

[–] randombullet@programming.dev 6 points 8 hours ago (1 children)

I have it behind OAuth.

And then a reverse proxy via NPM.

I don't know what else to do on it aside from keeping it fully VPNed.

[–] femtek@lemmy.blahaj.zone 4 points 8 hours ago (1 children)

Yeah, maybe it's because I run public sites on kubernetes at work that I'm not as scared but a good locked down network is fine. Thousands or businesses run public URLs, as long as you configure it right you are mostly good. There is always a risk of vulnerabilities in the software for immich, your proxy, your auth provider so doing it that way increases your attack surface than just the VPN.

[–] curbstickle@anarchist.nexus 6 points 7 hours ago

Thousands or businesses run public URLs, as long as you configure it right you are mostly good.

Part of "configuring it right" for companies is generally having the public-side be pretty well walled off from anything internal though, there isn't anything wrong with taking the same approach at home, too

[–] androidul@lemmy.world 5 points 8 hours ago

assuming that you’re to expose that to the Internet, my recommendation is to deploy only

complicate the setup too much and it’s going to rather be more painful to maintain and also much easier to misconfigure.

The WAF covers OWASP Top 10 so that should give you around 70% protection which is still better than nothing

[–] GuillaumeRossolini@infosec.exchange 3 points 8 hours ago (1 children)

@Maroon FIY the security verification for my not being a bot failed

[–] Maroon@lemmy.world 2 points 8 hours ago (1 children)

I'm sorry, could you rephrase that? I think there are a few typos in your post.

@Maroon no it just wasn’t verifying anything at all, but now it’s fixed. Thanks