Published on Jan. 26, 2024
Go homeNotes on Dokku
Dokku is an extensible, open source Platform as a Service that runs on a single server of your choice. It lets you run your own heruko like platform. This means that deployments become as simple as git push <your dokku remote> <your branch>
.
Dokku makes building and deploying your application simple.
- It uses heroku build packs and can figure out how to build you application
- It makes running a reverse proxy very easy
- It makes managing SSL certificates very easy
- It enables blue green deployments by default
Some resources I used when digging into it.
- https://dokku.com/docs/getting-started/installation/
- https://timonweb.com/devops/dokku-appjson-example-for-django/
- https://www.accordbox.com/blog/how-deploy-django-project-dokku/#deploy-project
I put together this set of ansible playbooks to get dokku up and running on a VM.
The playbooks include:
- Setup a VM (Create users and harden SSH)
- Setup Dokku
The dokku
playbook doe the following:
- Installs dokku
- Adds the authorised keys from the nonrootuser to dokku
- Creates an application
- Sets the domain for the application
- Installs any additional plugins specified in the group vars
- Adds and configures the lets encrypt plugin for the application