Every developer should learn the basics of Servers, Linux, VPS hosting etc. It is not that hard especially with the amount of information that's online. You mentioned Golang. For those languages, it is even easier because you literally host a single binary on the VPS. So go ahead, learn it. The naysayers will scare you into thinking that you need someone else to do it for you but you usually don't. Not unless you are running an app with mission critical requirements and at scale.It is totally ok to host your own app on a VPS that gets a few hundred requests in a day or even more.
My suggestions:
1. Start with a specific OS on a linux box. Ubuntu is a standard one that you can just start with.
2. Install your application first without docker. If binary (e.g. Golang), you can literally copy the binary (make sure you build it for your OS on the server) and then run it either using something ike supervisor/systemd
3. Then, use a reverse proxy like Caddy in front of it for SSL and actual domain.
4. Get a custom domain from any provider and set the DNS for that domain to point to the IP address of this server.
5. If you want to get real fancy, instead of pointing d0main directly to the IP of the server, get a DNS with cloudflare and point there. Then configure cloudflare to point to the actual server (a.k.a origin server) This way, you get additional benefits like WAF, DDOS protection etc. Even cloudflare free plan offers this with some limits.
Then repeat the process in 2,3 but with docker container.
You can do all of this easily in ChatGPT etc nowadays by asking:
- I want to install a Go App on an Ubuntu VPS using systemd/supervisor and put Caddy as reverse proxy in front. Then I will want to use a custom domain where DNS is hoted with Cloudflare which ultimately points to Caddy.
It is not that hard. Not to learn at least.