Hello,

Some time ago, I started self-hosting applications, but only on my local network. So far, it’s working fine, but I can’t access them as soon as I go outside (which is completely normal).

For the past few days I’ve been looking for a relatively secure way of accessing my applications from outside.

I don’t need anyone but myself to have access to my applications, so from what I’ve understood, it’s not necessarily useful to set up a reverse-proxy in that case and it would be simpler to set up a VPN.

From what I’ve seen, Wireguard seems to be a good option. At first glance, I’d have to install it on the machine containing my applications, port-forward the Wireguard listening port and configure my other devices to access this machine through Wireguard

However, I don’t have enough hindsight to know whether this is a sufficient layer of security to at least prevent bots from accessing my data or compromising my machine.

I’ve also seen Wireguard-based solutions like Tailscale or Netbird that seem to make configuration easier, but I have a hard time knowing if it would really be useful in my case (and I don’t really get what else they are doing despite simplifying the setup).

Do you have any opinions on this? Are there any obvious security holes in what I’ve said? Is setting up a VPN really the solution in my case?

Thanks in advance for your answers!

  • damnthefilibuster@lemmy.world
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    2
    ·
    5 days ago

    You got two options which I’ve tried -

    1. A solution like tailscale or zerotier. Simple setup, easy to turn on and just go. Tailscale is newer and has a nicer interface and features like using an actual VPN like Mullvad as an “endpoint” (or whatever they call it). Their Mullvad connection also basically gives you a discount as they charge only $5 for the vpn instead of €5. The catch is that Mullvad charges you that price for 5 devices. So if a sixth device connects to the VPN through tailscale, you get charged $10 for that month.
    2. A cloudflare tunnel with zero trust on top. More work to setup. But makes it easy to access your apps without any vpn. They’re basically exposed to the internet at that point, but locked in behind cloudflare’s authentication. You can literally set it up for one or two email IDs. Yours and a family member’s. Much simpler for others to wrap their heads around. But some people dislike cloudflare for some reason or the other.
    • BruisedMoose@piefed.social
      link
      fedilink
      English
      arrow-up
      7
      ·
      5 days ago

      I’m in camp #2. Only my Gmail address can access my apps from outside my home. It’s a little bit of a pain to configure the rules, but once it’s done it’s done. I’ve been happy with it.

      You do need to have a domain name though.

      • damnthefilibuster@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 days ago

        pretty cheap to get a domain name through Cloudflare too - nine bucks a year for a .com , I think? Just get something completely personal or completely random! :D They even have a way to get emails routed to your general inbox. It’s fugly, but it works!

    • nfreak@lemmy.ml
      link
      fedilink
      English
      arrow-up
      6
      ·
      5 days ago

      The variant version of number 2, which is more work to set up of course, is Pangolin on a VPS. Basically serves the same purpose but skips Cloudflare entirely.

      I’m in the process of setting up Pangolin and Headscale on a VPS to expose a small handful of services and to replace my wg-easy setup. Currently chaining wg-easy through a gluetun container, so with a single VPN connection I get LAN access and protect my outbound traffic, but I can’t for the life of me get the same setup working on wg-easy v15, so I’m going to give tailscale/headscale a try with a gluetun exit node.

      • damnthefilibuster@lemmy.world
        link
        fedilink
        English
        arrow-up
        2
        ·
        5 days ago

        haven’t looked at Pangolin, but thanks for the info! I might explore it in the future if my current setup gives me any issues.

        • nfreak@lemmy.ml
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 days ago

          Getting it up and running was pretty easy but admittedly I’m starting to hit some snags with split DNS and Authentik. Totally doable but taking a lot of work for sure.

          In the process I’m also moving my entire domain to a different name and got timed out by letsencrypt lmao so I guess I’ll try some more tomorrow.

        • nfreak@lemmy.ml
          link
          fedilink
          English
          arrow-up
          2
          ·
          5 days ago

          I went with a Racknerd debian 12 box, DigitalOcean is a bit overpriced for what you get. There’s a whole list of recommendations in Pangolin’s wiki iirc