Docker

Running Dokku Locally

Dokku is a great PaaS (platform as a service) tool to deploy applications. It’s very easy to deploy to a Linux box with a simple wget command you can run a script that sets up all the necessary tooling. All that’s left is to enable a SSH key login. It sets up a remote git server which you can push to give you a Heroku like experience. Once the SSH key access is configured you can set a new remote from a git project. Upon push, Dokku will kick off a build process, wait for a health check and seamlessly swap out the previous instance (zero downtime deploys). You get so much for free from this open-source tool. The only downside is it operates on a single box so you can only scale up. But you can deploy multiple applications to a single box, and scale up running instances on that box. And given the size of machines these days scaling up can take my startup green field application quite far before having to consider horizontal scaling. A Linode box can be rented for $5 a month that’s capable of running a Rails app, and if you need scale Linode can upgrade your system resources up to 192GB, 32 Cores, 3840GB SSD easily supporting multiple instances of your app. If you need to scale beyond this Kubernetes with K8s or K3s is probably your next container orchestration tool.

Read more →