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
Doing it Yourself
What do you need?
- A domain
- An internet connected server
- A webserver (NGiNX, Apache, Caddy, etc)
- 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
It does a lot more than this
Builders
- Heroku Buildpacks
- Dockerfile
- Nixpacks
It does a lot more than this
Plugins
- Let's Encrypt
- Databases (MySQL, Postgres)
It does a lot more than this
Anatomy of the Server
- Linode VPS
- Debian
- Nameservers
Anatomy of the Application
- Server Setup
- DNS Records
- Dokku installation
- Git Remote Setup
- Create an app with Dokku
- Push the code
- Add SSL
- Chat!