this post was submitted on 09 Feb 2025
120 points (96.9% liked)

Selfhosted

42055 readers
592 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.

Resources:

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

Questions? DM the mods!

founded 2 years ago
MODERATORS
 

This is a continuation of my other post

I now have homeassistant, immich, and authentik docker containers exposed to the open internet. Homeassistant has built in 2FA and authentik is being used as the authentication for immich which supports 2FA. I went ahead and blocked connections from every country except for my own via cloudlfare (I'm aware this does almost nothing but I feel better about it).

At the moment, if my machine became compromised, I wouldn't know. How do I monitor these docker containers? What's a good way to block IPs based on failed login attempts? Is there a tool that could alert me if my machine was compromised? Any recommendations?

EDIT: Oh, and if you have any recommendations for settings I should change in the cloudflare dashboard, that would be great too; there's a ton of options in there and a lot of them are defaulted to "off"

you are viewing a single comment's thread
view the rest of the comments
[–] q7mJI7tk1@lemmy.world 4 points 2 days ago* (last edited 2 days ago) (1 children)

So among my services I self host, a few need to be publicly accessible for work. For those I wish to remain private, Caddy only allows private IP ranges, plus then Authelia as auth which is set to 30 days. There is then the login of each service behind Authelia as well. It's as good as it needs to be for my needs.

If I were only self hosting private services, then as others have said, I would put all access through a VPN.

Edit: I should add that of course the private services are then only accessed via VPN to the router (part of the private IP ranges). Caddy as reverse proxy also obfuscates the subdomain names I use.

[–] a_fancy_kiwi@lemmy.world 1 points 1 day ago (1 children)

Caddy only allows private IP ranges

Do you mind telling me more about this? How does that work; a VPN?

[–] q7mJI7tk1@lemmy.world 1 points 1 day ago* (last edited 1 day ago)

Sure, so I use Caddy as a reverse proxy for all my subdomains, the public ones direct straight to whatever service(s) are on IP:port etc, then the private ones only allow private IP ranges of which one is my VPN subnet, therefore only allowing LAN and VPN access. I then also have a section for each of the private subdomains with Authelia authentication which is omitted here in the caddyfile example:

(allowed) {
	@allowed client_ip 192.168.1.0/24 192.168.10.0/24 192.168.20.0/28
}

sub.domain.com {
	import allowed
	handle @allowed {
		reverse_proxy 192.168.80.8:8080
	}

	handle {
		abort
	}
}