I have been hosting a few websites from my home server and it has taught me a lot. I have recently had major issues with the electrical storms, Kogan NBN support (Australia), and the NBN network in general. I know 4g is not fast, but I would like to use it so that in the event of a network outage, im not at the mercy of NBN. On to the question!

I run pfsense in hyper v with a 4 port nic which passes through those ports to pfsense.

I realized that 4g ip addresses are not public, which stops me from hosting the websites.

Reading into wireguard and vpn services my plan is to:

  • Set up a VPS ✅
  • Set up wireguard on the VPS ✅
  • Create a wireguard connection on my windows server, and pass that in as an interface to pfsense, so that hopefully, I wont need to change to much on my internal infrastructure.

Does this sound like an OK plan? I’m open to any other ideas where I can achieve the following:

web app >> nginx >> pfsense >> vpn tunnel >> VPS with Public IP (can be dynamic)

Thanks!—

      • taladar@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        7
        ·
        10 months ago

        Depending on what you are trying to host and where you live power usage and your own hardware might be more expensive than the VPS you require to host those.

    • thirdBreakfast@lemmy.world
      link
      fedilink
      English
      arrow-up
      2
      arrow-down
      1
      ·
      10 months ago

      This. Hosting at home might be cheaper if you are serving a lot of data, but in that case, the speed’s going to kill you.

      I’m a keen self-hoster, but my public facing websites are on a $4 VPS (Binary Lane - which I recommend since you’re in Aus). In addition to less hassle, you get faster speeds and (probably) better uptime.

  • NeoNachtwaechter@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    ·
    edit-2
    10 months ago

    I know 4g is not fast, but I would like to use it

    There was a time when people used to have 2400 bits per second from home (for the youngsters: that is 0.0003M). So if you are doing it for fun, why not.

    • filcuk@lemmy.zip
      link
      fedilink
      English
      arrow-up
      5
      arrow-down
      1
      ·
      10 months ago

      True, but everything is more bandwidth demanding these days, plus we’re used to fast loading.

  • sgh@lemmy.ml
    link
    fedilink
    English
    arrow-up
    6
    arrow-down
    2
    ·
    10 months ago

    Have you looked into Cloudflare Tunnel? It’s a turnkey solution that does exactly what you want. No idea what the cost is though.

  • MSgtRedFox@infosec.pub
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 months ago

    You’re on the right track. As long as wiregurd on the VPS will allow an incoming connection from you home 4g, which will probably be CGNAT, it’ll work. Did you look into running the NGINX reverse on the VPS? I like terminating external stuff on cloud side, then only bring filtered or desired traffic over the tunnel.

  • nis@feddit.dk
    link
    fedilink
    English
    arrow-up
    3
    ·
    10 months ago

    I’m using Headscale for something similar. I have a VPS and a server at home. Both are on the same Headscale network. On the home server I set up a Matrix server. On the VPS I set up Caddy as a reverse proxy for the home server with its Headscale IP. It works nicely.

    I’m not on 4G, though.

  • nopersonalspace@lemmy.world
    link
    fedilink
    English
    arrow-up
    4
    arrow-down
    1
    ·
    edit-2
    10 months ago

    I mean I think it really depends on the type of website you’re trying to host. A static blog would use way less bandwidth than a media server for example. Traffic would have the same effect too, where 1 concurrent visitor to a blog would probably be fine but 10,000 would be a problem.

    • justawittyusername@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      10 months ago

      Thanks thats good to know! I have got onto tailscale and have a test lab setup with a digital ocean vps for the public IP(exit node) and a ubuntu machine with a tunnel to it. Its working, just need to translate that to pfsense…

  • forwardvoid@feddit.nl
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    10 months ago

    If you’re hosting websites and not applications, perhaps you can use SSGs like Hugo/Gatsby. You could deploy your site in a bucket and put cloudflare in front. They can also be used on your own server of course. If you are hosting applications and want to keep them on 4g, you could put a CDN (CloudFlare or …) in frint of it. That would cache all static resources and greatly improve response times.

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    1
    ·
    edit-2
    10 months ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    CGNAT Carrier-Grade NAT
    IP Internet Protocol
    NAT Network Address Translation
    VPS Virtual Private Server (opposed to shared hosting)

    3 acronyms in this thread; the most compressed thread commented on today has 5 acronyms.

    [Thread #420 for this sub, first seen 10th Jan 2024, 13:15] [FAQ] [Full list] [Contact] [Source code]

  • StrawberryPigtails@lemmy.sdf.org
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    Sounds like a connection would work with that setup but it would depend on what you are planning on hosting. Anything that is sensitive to latency would probably not work well. Static sites should be fine though.

  • forwardvoid@feddit.nl
    link
    fedilink
    English
    arrow-up
    2
    arrow-down
    1
    ·
    10 months ago

    If you’re hosting websites and not applications, perhaps you can use SSGs like Hugo/Gatsby. You could deploy your site in a bucket and put cloudflare in front. They can also be used on your own server of course. If you are hosting applications and want to keep them on 4g, you could put a CDN (CloudFlare or …) in frint of it. That would cache all static resources and greatly improve response times.