n8n is an extendable workflow automation tool. With a fair-code distribution model.
Dokku is the smallest PaaS implementation you've ever seen - Docker powered mini-Heroku.
- A working Dokku host
- PostgreSQL plugin for Dokku
- Letsencrypt plugin for SSL (optionnal)
Note: We are going to use the domain n8n.example.com
for demonstration purposes. Make sure to replace
it to your domain name.
Log onto your Dokku Host to create the n8n app:
dokku apps:create n8n
dokku config:set n8n N8N_ENCRYPTION_KEY=$(echo `openssl rand -base64 45` | tr -d \=+ | cut -c 1-32)
dokku config:set n8n WEBHOOK_URL=http://n8n.example.com
To get the routing working, we need to apply a few settings. First we set the domain.
dokku domains:set n8n n8n.example.com
First clone this repository onto your machine.
git clone [email protected]:d1ceward/n8n_on_dokku.git
git clone https://github.com/d1ceward/n8n_on_dokku.git
Now you need to set up your Dokku server as a remote.
git remote add dokku [email protected]:n8n
Now we can push n8n to Dokku (before moving on to the next part).
git push dokku master
Last but not least, we can go an grab the SSL certificate from Let's Encrypt.
# Install letsencrypt plugin
dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git
# Set certificate contact email
dokku config:set --no-restart n8n [email protected]
# Generate certificate
dokku letsencrypt:enable n8n
Your n8n instance should now be available on https://n8n.example.com.