I saw this post today on Reddit and was curious to see if views are similar here as they are there.

  1. What are the best benefits of self-hosting?
  2. What do you wish you would have known as a beginner starting out?
  3. What resources do you know of to help a non-computer-scientist/engineer get started in self-hosting?
  • JustMarkov@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    arrow-down
    1
    ·
    edit-2
    2 months ago

    2.What do you wish you would have known as a beginner starting out?

    Caddy. Once you try Caddy there’s no turning back to Nginx or Apache.

    • farcaller@fstab.sh
      link
      fedilink
      English
      arrow-up
      0
      ·
      2 months ago

      Apparently traefik might be better if you run docker compose and such, as it does auto-discovery, which reduces the amount of manual configuration required.

    • poVoq@slrpnk.net
      link
      fedilink
      English
      arrow-up
      0
      arrow-down
      1
      ·
      2 months ago

      That’s what everyone thinks for a while, and then they go back to Nginx.

      • sugar_in_your_tea@sh.itjust.works
        link
        fedilink
        English
        arrow-up
        1
        ·
        2 months ago

        Eh, my main reason for switching is that Caddy builds in LetsEncrypt. My Caddyfile is really simple, it’s just a reverse proxy that handles TLS and proxies regular HTTP to my services. I don’t have it serving any files or really knowing anything about the services. Here’s my setup:

        1. HAProxy - directs subdomains to devices (in VPN) based on SNI
        2. Caddy - manages TLS and LetsEncrypt and communicates w/ services over HTTP
        3. Nginx - serves files for things like NextCloud, if needed (most services have their own HTTP server)

        Each of these are separate Docker containers, which makes it really easy to manage and diagnose problems. The syntax for Nginx is more complex for 1&2, and the performance benefit of managing it all in one service just isn’t relevant for a self-hosted system, so I use this layered approach that makes each level as simple as possible.