this post was submitted on 07 Feb 2026
36 points (97.4% liked)

Selfhosted

60093 readers
615 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.

  3. Posts here are to be centered around self-hosting. Please ensure it is clear in your post how it relates to self-hosting.

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

  5. Submission headline should match the article title.

  6. No trolling.

  7. Promotion posts require your active participation in selfhosting or related communities, or the post will be removed. No more than 10% of your posts or comments may be self-promotional, or your post will be removed. F/LOSS Exception: If your post is about a project that is completely open source & can be self-hosted in full without payment, and your account is at least 30 days old, your post is exempt from this rule as long as you continue to engage in comments.

Resources:

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

Questions? DM the mods!

founded 3 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
[–] irmadlad@lemmy.world 6 points 4 months ago

Am I missing anything here or is this how I’m supposed to be doing it?

AFA fail2ban, I always set up the jails in aggressive mode:

[sshd]
mode = aggressive
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5 <---edit to tastes
bantime = 3600 <---edit to tastes
findtime = 600 <---edit to tastes

You might want to check out Crowdsec, maybe deploy Tailscale as an overlay. How many users are you providing services for? If just yourself, I use the host allow / host deny feature in Linux. Just make sure you do host allow first, lol.