this post was submitted on 07 Feb 2026
35 points (94.9% liked)

Selfhosted

57329 readers
1413 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 2 years ago
MODERATORS
 

Here is my setup:

I have multiple DuckDNS domains (and subdomains) pointing to my home IP. My home router has port 80 and port 443 forwarded to Nginx Proxy Manager on my home server. Nginx Proxy Manager points to the appropriate docker container and each one is encrypted with Let's Encrypt.

Am I missing anything here or is this how I'm supposed to be doing it? Every app that has a DuckDNS url has a password in some shape or form.

you are viewing a single comment's thread
view the rest of the comments
[–] redlemace@lemmy.world 17 points 4 weeks ago (2 children)

My usual additions:

  1. Have the router to block portscanners
  2. fail2ban on internet facing services.
[–] flork@lemy.lol 4 points 4 weeks ago (1 children)

Thanks I'll look into these. Quick question: how does fail2ban use port 80 if that's already used by nginx?

[–] redlemace@lemmy.world 10 points 4 weeks ago (1 children)

It does not. It does not uses ports at all. Fail2ban monitors your logfiles and activates the firewall to block IP's that matched your rules.

t.ex. You can block an IP that tried to access https:///admin. You can block an IP that used wrong credentials x times to login on an ssh port. Or block one that tried to relay via your mailserver. The duration is configurable and alternative duration can be configured for recidivists.

And yes, you can whitelist IP's to avoid locking yourself out. The possibilities are endless.

[–] flork@lemy.lol 1 points 2 weeks ago (1 children)

I see, the default docker installer for fail2ban gave me an error because "Port 80 was already in use" (by NGINX Manager).

[–] redlemace@lemmy.world 2 points 2 weeks ago* (last edited 2 weeks ago)

Fail2ban does not listen on any port for it has no user interface. No interface at all actually. It's just a process that monitors your logfiles and changes firewall rules and writes to syslog if you tell it to.

I run it on internet facing servers so I use a 'regular' install and never docker. I see no advantage for docker in this case, but one huge disadvantage: Docker changes a lot on the network side. It creates bridges, and picks IP's all by itself. I hate that. (I know you can put in a lot of effort to manage it, but no thanks keep your 'hands' of my network config thank you)

[–] non_burglar@lemmy.world 4 points 4 weeks ago* (last edited 4 weeks ago) (1 children)
  1. Have the router to block portscanners

What do you mean by this? Closing unused ports?

[–] redlemace@lemmy.world 5 points 4 weeks ago* (last edited 4 weeks ago) (2 children)

I'm using RouterOS. In the firewall rules you can create a rule that if an IP touches a port, it get added to a address list (optional with a time-out). So my FW rules begin like this:

  1. If source is whitelisted, Accept (avoid being locked out myself)
  2. If source IP is in the blacklist, drop all
  3. if source IP tries to connect to port 21,22,25,137-139, 113 (and a bunch of others) add it to the blacklist
  4. ....
  5. ....

So using a portscanner will touch ports I'm not running any service on (like telnet) and you'll be blocked. A time-out of one week on the blacklist usually gives me an blacklist of 6500+ addresses.

This too has endless possibilities. t.ex. like port knocking. ('touch' one or more ports in a specified sequence in a specified time to be allowed to access the actual service port)

[–] Appoxo@lemmy.dbzer0.com 1 points 4 weeks ago (1 children)

Off-topic: Looks like you missed the two spaces after beginning a new line.
Just wanted to inform you in case you werent aware ;)

[–] redlemace@lemmy.world 1 points 4 weeks ago

the spacebar on my Remington isn't what it used to be, maybe a drop of oil will help ;)

[–] non_burglar@lemmy.world 1 points 4 weeks ago (1 children)

This is a waste of time and your router's CPU. You already have a whitelist and know your safe TCP sources, just drop all wan traffic and only allow new input from whitelist. Your chain input rule is just creating a pretty list of bots you're dropping anyway.

[–] redlemace@lemmy.world 5 points 4 weeks ago (1 children)

Well, here is the CPU load:

And there is no increase on delay's or jitter compared to what i'm already facing on the WAN itself.

It keep's 6000+ hosts with possible harmful intend away from the ports I need/want open to the world. Actually, the router -while still being bored- offloads the services behind it. I really can't see a reason not to keep doing it. But, sure, it's a personal choice.

[–] non_burglar@lemmy.world -2 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

Delays? Jitter? What are you talking about?

Didn't you say you have whitelist of allowed ips? Why don't you just drop any other inbound traffic?

[–] redlemace@lemmy.world 3 points 4 weeks ago

whitelist of allowed ips

Not exactly.

If source is whitelisted, Accept (avoid being locked out myself)

So all IP's are allowed to begin with, but some ("my" IP's like at home, my office etc) are on a whitelist ahead of everything else. They can't become blacklisted to avoid myself becoming locked out. Then it's the drop all on the blacklisted, followed by portscan detection. Only after that the 'normal' rules (allow https, smtp etc) begin.