I'm not really sure how to ask this because my knowledge is pretty limited. Any basic answers or links will be much appreciated.

I have a number of self hosted services on my home PC. I'd like to be able to access them safely over the public Internet. There are a couple of reasons for this. There is an online calendar scheduling service I would like to have access to my caldav/carddav setup. I'd also like to set up Nextcloud, which seems more or less require https. I am using http connections secured through Tailscale at the moment.

I own a domain through an old Squarespace account that I would like to use. I currently have zero knowledge or understanding of how to route my self hosted services through the domain that I own, or even if that's the correct way to set it up. Is there a guide that explains step by step for beginners how to access my home setup through the domain that I own? Should I move the domain from Squarespace to another provider that is better equipped for this type of setup?

Is this a bad idea for someone without much experience in networking in general?

you are viewing a single comment's thread
view the rest of the comments
[–] 25 points 1 year ago (5 children)

Caddy with caddyfile is very easy although it lacks a gui. Use nginx proxy manager if you want a gui, but it is more work than a caddyfile.

https://caddyserver.com/docs/quick-starts/caddyfile

  • source
  • hideshow 5 child comments
  • [–] 13 points 1 year ago* (last edited 1 year ago) (3 children)

    Seconding Caddy -- It's as close to it gets for "Just works". It handles all the certs, it's easy to refresh and add a subdomain instantly, handles wildcard domains, and the config file is dead simple to understand.

    You can use https://xcaddy.tech/ to build Caddy with various plugins, I use mine with transform-encoder so that logs can be made compatible with fail2ban.

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 1 year ago (2 children)

    I wish I would understand how to use xcaddy but I failed the last two times setting it up 😅 it was something about another language (go?) that was needed iirc

  • source
  • parent
  • hideshow 2 child comments