I'm looking to create several smaller applications, each hosted on subdomains but all under a single domain name to keep costs low. I have minimal sysadmin experience but I'm starting to learn about containers like Docker and currently host a single-page application on GitHub Pages. My aim is to practice by developing various single-page apps with different tech stacks while maintaining a cohesive theme across them. Ideally, I'd like to have everything hosted on one server to save money, rather than using a different hosting provider for each. Some of these apps will be built with Laravel, Vue, React, Angular, etc. What would your approach to this be?
3 Answers
If you're looking for a straightforward hosting solution, I recommend using a managed provider with cPanel. GoDaddy usually isn’t the best choice due to their pricing and support issues; I prefer something like SmarterASP or MyASP. They offer unlimited domains and subdomains for a low monthly fee, and even Docker support if you end up needing it. It's still affordable, especially if you commit for a longer term. Just be warned that they’ve had a few outages in the past, but they usually handle them well!
Before getting into Docker and different tech stacks, it's essential to clarify your needs. You don't actually need multiple domains or hosting providers yet. What you need is one domain and a basic understanding of DNS and a reverse proxy. If you rent a single cheap VPS and set up a reverse proxy like Nginx or Caddy, you can easily route subdomains to different apps, all hosted on the same server. Docker can come into play later, once you grasp the basics of app deployment. Start simple with your own server and go from there!
Any recommendations on where to start learning about these deployment concepts? I'd love to become more self-sufficient in deploying apps!
You could start with a shared hosting account that offers cPanel for a budget-friendly option. Just keep in mind that some technologies might not work well because you won’t have root access. Look for a host that provides SSH; you can set a lot up by tinkering around. For things that require more resources, consider getting a separate VPS. Also, utilize free options like GitHub Pages and Cloudflare where available!

I appreciate this insight! I honestly don't mean to complicate things, I just lack a solid grasp of DevOps right now.