Server Template for Busy Hackers
You've built an awesome portfolio of full-stack projects, but keeping them running is... expensive 💰
It's hard to justify a large hosting bill for apps that aren't generating any revenue (yet!).
How do you host many small full-stack apps without breaking the bank?
Platform-As-A-Service (PaaS) providers like Heroku charge you per application, even when they're not using the full resources available. There's no way to combine multiple apps on a single dyno to save costs.
Not to mention the hidden cost of scaling. If one of your apps starts gaining traction, your options are $25, $50 or $250/month... The steep pricing ladder will quickly empty your wallet 💸
Let's look at a pricing example.
Say you have 9 tiny apps on Heroku costing $7/month each. That's $63/month in total. For only $20/month, you can rent a server from DigitalOcean with roughly the same amount of resources.
That's an extra $43 you get to keep each month!
And that's assuming your apps are using the full resources of a dyno. Most of the time they will fit on a smaller and cost-efficient server.
If one of your projects gets more traffic and you need to scale up, the Performance-M dyno is the first "beefy" server that Heroku offers. In contrast, a droplet with 3x more RAM and double CPU cores is 4 times cheaper.
A stark difference.
How do you...
- Decide which VPS provider to choose?
- Authenticate with the server in a secure way?
- Configure the firewall when you've never touched one...
- Run multiple apps on one server?
- Make sure your application stays up if it crashes unexpectedly?
- Enable HTTPS and issue SSL certificates? What do you do when they expire?
- Manage environment variables?
- Set up automated deployments?
And all of that is on top of general CLI and app deployment knowledge 🤯
Is my server secure?
How much is it really going to cost me?
How the heck do I maintain and update this thing?
Everyone says updating servers is hard, but you know about "apt-get update && apt-get upgrade". What else is there to it?
For a lone hacker like yourself, the time and energy investment that goes into configuring and maintaining a server is a big drain.
You'd much rather work on your projects and build cool stuff.
What if I told you that you could host your projects at a fraction of the cost and not have to deal with server configuration.
Imagine a setup that saves you money, requires very little effort to get started and gives you an easy-to-deploy endpoint for your apps ✨
So you can write more of this:
And less of this:
I'll help you with the boring work of configuring servers so you can focus on your projects.
You'll get a server template that will create a server with the following features out-of-the-box:
- Hardened & secure server ⛑
- Easy one-line deployments 👩🏻💻
- Host multiple apps 👨👩👧👦
- Automatic application restarts 🔄
- Best practice configuration for Nginx 🏅
- Auto-renewed SSL certificates 🔒
- Convenient env vars management 🔑
- Automated deployments from Github 💫
You'll be able to setup something that would've normally taken you days or weeks, into something you can do while drinking coffee ☕️
The video below shows the server template in action 👇🏼
What will I get?
You'll receive a zip file of the repository with instructions on how to deploy and manage your applications. The Server Template Instructions are also publicly available if you want to take a peek.
VPS cost is not included in the price.
What stack do you support?
Any fullstack application that is written in Node.js and spins up a webserver. It doesn't matter whether your framework of choice is Express, Fastify, Hapi, Nest, Sails, etc.
The template doesn't support applications with a build step, such as front-end only websites built with Create React App, Next.js or Nuxt. I'm adding support for these soon. If this bums you out, write me at firstname.lastname@example.org so I know you're waiting! You'll be the first to know when it's done ❤️
Other backend languages (Ruby, Rust, Go, PHP, etc.) are outside of the project's scope for now.
Will the template work on my existing server instance?
Because every server is different, there's no guarantee that a server's current state and configuration won't create a conflict. I recommend you use this template to start with a clean server and transfer your applications over.
Can I use a different VPS provider? (Linode, Vultr, AwS, Google Cloud, etc.)
At the moment only DigitalOcean is supported.
If there's a lot of interest in other VPS providers, I might extend the server template to work with those as well. If this is stopping you from buying, shoot me an email at email@example.com with your provider of choice.
What about databases?
There are several cloud database providers (Atlas for MongoDB, ElephantSQL for PostgreSQL, Redis Labs, etc.) that offer generous free or low-priced tiers. These are enough to serve most small to medium applications. If you're coming from a PaaS like Heroku, it's likely you're already using one.
Having said that, you're free to manually install a database on the server and point your applications to it. That's the beauty of having your own server, you can do whatever you want with it.
What if I'm not satisfied?
I want to make sure you get real value out of this. If the Server Template doesn't suit your needs, send an email to firstname.lastname@example.org and I'll send you a full refund.
Do you offer discounts for countries with a low purchasing power parity?
If you're from a country with a significantly lower purchasing power parity than the US, write me at email@example.com and I'll give you an appropriate discount for your country.
I have another question!
Sure! Send me an email at firstname.lastname@example.org.