Deploying
Your Dumb Ideas
With Dokku
Dave Smith-Hayes
- Father
- Developer
- JavaScript Enjoyer
Releasing software to be used.
How it works for Web
- Have a DNS record point to an IP
- Have a webserver runnning at that IP
- Have that webserver proxy requests to the application
- cPanel File Manager
- FTP to Shared Hosting
$ git pull
- Jenkins & Ansible build VM Images
- Packer & Terraform build Containers
Deployment Methods
- In Place
- Rolling
- Immutable
- Green/Blue
Doing it Yourself
What do you need?
- A domain
- A server with a public IP address
- A webserver
- Patience
Dokku
Self-hosted Platform as a Service (PaaS)
Your very own Heroku*
*I have never used Heroku
What Dokku Does
- Creates a
dokku
user on your system
- Installs all the services for running Dokku
How Dokku Works
- Sets up Application
- Becomes a Git remote repository
- Builds and deploys the app behind NGiNX
Builders
- Heroku Buildpacks
- Dockerfile
- Nixpacks
Plugins
- Let's Encrypt
- Databases (MySQL, Postgres)
Anatomy of the Server
- Linode VPS
- Debian
- Nameservers
Anatomy of the Application