• 4 Posts
  • 58 Comments
Joined 4 months ago
cake
Cake day: August 21st, 2025

help-circle





  • There are many ways to do this and you got the right gist, but my recommendation:

    • Set up a WireGuard tunnel connecting your VPS and homeserver
    • Set up a layer-4 TCP reverse proxy (Nginx’s stream module/Traefik TCP routers/Caddy-L4/HAProxy are all doable) on the VPS
    • Use that reverse proxy to route all TCP traffic back to the homeserver’s HTTPS service(s), via the wg tunnel

    Here’s a guide that helped me with such a setup: https://theorangeone.net/posts/wireguard-haproxy-gateway/

    Wireguard only need one peer to open a silent UDP port, so use the VPS’ IP and no need to portforward your homeserver. There are other more convenient solutions like Tailscale or Pangolin, but being Wireguard-based they all follow the same principle. Lastly this keeps your certs locally for TLS all the way through


  • For the DNS provider I recommend https://desec.io/. It’s a nonprofit running worldwide DNS servers, supports DNSSEC, and has a plugin for Lego. If your registrar supports DNSSEC as well, I’d recommend enabling it to protect from DNS forgery.

    For the DDoS protection I don’t have a recommendation as they’re all “just another SaaS”, but maybe you could limit many more selfhosted things behind auth as to not expose more surface to potential scrapers.


  • stratselftonetworking@sh.itjust.worksNAT vs firewall at home
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    4 days ago

    If NAT already obfuscates my private addresses through translation, how would a potential adversary connect to anything beyond it?

    Not an expert but they can try compromising another device on your LAN as a proxy to your rig. Maybe pawn your router and have it open up random ports too. So per-device firewall is defense in depth.

    What “good” would my public IP do for a hacker if I have no ports forwarded?

    Is a firewall a second line of defense just in case I execute malware that starts forwarding ports?

    Malware doesn’t need forwarded ports to the internet to function. It can just download a script to a compromised device and wreck havoc on LAN. So if you properly segment your devices and utilize endpoint firewalls it can limit the blast radius and does some detection stuff

    Edit: Don’t think of NAT as proper firewall, it’s just an easy way to share addresses via your router/modem. Your ISP’s devices often block inbound connections from the internet by default but that’s a firewall configuration, not a NAT




  • stratselftoSelf-hosting@slrpnk.netSelf-hosting with an old laptop
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    8 days ago

    That doesn’t seem to be too old of a laptop at all. One thing I’d say is to use an SSD as the main partition you run your apps on, as HDDs might be quite slow.

    If you wanna keep the VPS, you can use it as a public inbound gateway + outbound proxy for your homeserver, so traffic looks like it comes in and out of your VPS. I wrote some notes on setting up Tailscale in such a manner, but there’s plenty of other options.

    If you don’t wanna keep the VPS, you can front your inbound traffic with Cloudflare Tunnels, and use a commercial VPN to act as a proxy for outbounds. If you don’t have any apps that make frequent network requests (e.g. a Matrix server), then a VPN may not be necessary

    You should leave SSH on, especially if if you wanna run it without a monitor, but use key auth and limit it to your LAN only



  • Non-federated Matrix server with rooms bridged to Discord/Whatsapp/Slack/whatever, so everyone can join.

    Use standard webapps for other stuff like polls, surveys, events etc and send the URL to an announcement channel. Not sure of exact solutions but if one app can do it all and send email reminders for them, thatd be great. Same can be done for VoIP with Jitsi links, or even Z**m links.

    Backup the databases if you need the chat logs. All of this should be doable with a small VPS, but a mini PCs cluster could be better


  • How did you exactly install Express on the router? Did you use an app or something of that kind?

    If the VPN provider has WireGuard support, you may wanna use a wireguard client software to connect to it. Flash OpenWRT on the router, install and configure a wireguard interface that connects to Express, then forward packets from behind LAN to that interface so they go through the VPN tunnel. A bit tricky for beginners, but I hope you can make it.

    Since OpenVPN protocol seems to become unsupported in the future, Wireguard should be the way to go. Mullvad/IVPN should also support it, and once you know how to set it up it should be usable across many services and devices.

    Do you recommend installing VPN apps on separate devices instead of the router?

    For flexibility I’d do this. In case I’d wanna switch upstream servers for a single device without affecting others.



  • stratselftoSelfhosted@lemmy.worldRecommendations to replace AWS DNS?
    link
    fedilink
    English
    arrow-up
    8
    ·
    edit-2
    18 days ago

    Desec.io is a solid option - it allows for various types of records like TLSA and SRV. It can also generate scoped API tokens e.g. for “only TXT records of the _acme-challenge subdomain of example.com” to use in automated cert renewals, so pretty good for granularity. It’s also a nonprofit.

    I think selfhosting DNS is beneficial when you wanna control your own DNSSEC keys, but you’d need to account for high availability and safety. With that, you could do what’s called a “hidden primary + public secondary” setup to protect your master DNS data from the public prying. You can even use 3rd-party services like ns-global.zone as your secondaries for redundancy and to reduce load on your infra, too. I recommend Technitium and their guidance if you wanna get started





  • I write homelab docs mostly for user guidance like onboarding, login, and service-specific stuff. This helps me better design for people by putting myself in their shoes, and should act as a reference document for any member to come back to.

    Previously I built an Mkdocs-Material website with a nice subdomain for it, but since the project went on maintenance mode, I’m gonna migrate all docs back to a Forgejo wiki since it’s just Markdown anyways. I also run an issue tracker there, to manage the homelab’s roadmaps and features since it’s still evolving.

    I find this approach benefiting compared to just documenting code. I’m not an IaC person yet, but I hope when I am, the playbooks should describe themselves for the nitty-gritty stuff anyways. I do write some infra notes for myself and perhaps to onboard maintainers, but most homelab developments happen in the issue tracker itself. The rest I try to keep it simple enough for an individual to understand