Skip to content

Dockerfile to run n8n (automation) on Dokku (mini-Heroku)

License

Notifications You must be signed in to change notification settings

devlikeapro/n8n_on_dokku

 
 

Repository files navigation

n8n Dokku Maintenance

Run n8n on Dokku

Perquisites

What is n8n?

n8n is an extendable workflow automation tool. With a fair-code distribution model.

What is Dokku?

Dokku is the smallest PaaS implementation you've ever seen - Docker powered mini-Heroku.

Requirements

Setup

Note: Throughout this guide, we will use the domain n8n.example.com for demonstration purposes. Make sure to replace it with your actual domain name.

Create the app

Log into your Dokku host and create the n8n app:

dokku apps:create n8n

Configuration

Install, create and link PostgreSQL plugin

# Install postgres plugin on Dokku
dokku plugin:install https://github.com/dokku/dokku-postgres.git postgres
# Create running plugin
dokku postgres:create n8n
# Link plugin to the main app
dokku postgres:link n8n n8n

Setting encryption key

dokku config:set n8n N8N_ENCRYPTION_KEY=$(echo `openssl rand -base64 45` | tr -d \=+ | cut -c 1-32)

Setting webhook url

dokku config:set n8n WEBHOOK_URL=http://n8n.example.com

Domain setup

To enable routing for the n8n app, we need to configure the domain. Execute the following command:

dokku domains:set n8n n8n.example.com

Push n8n to Dokku

Grabbing the repository

Begin by cloning this repository onto your local machine.

# Via SSH
git clone [email protected]:d1ceward/n8n_on_dokku.git

# Via HTTPS
git clone https://github.com/d1ceward/n8n_on_dokku.git

Set up git remote

Now, set up your Dokku server as a remote repository.

git remote add dokku [email protected]:n8n

Push n8n

Now, you can push the n8n app to Dokku. Ensure you have completed this step before moving on to the next section.

git push dokku master

SSL certificate

Lastly, let's obtain an SSL certificate from Let's Encrypt.

# Install letsencrypt plugin
dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git

# Set certificate contact email
dokku letsencrypt:set n8n email [email protected]

# Generate certificate
dokku letsencrypt:enable n8n

Wrapping up

Congratulations! Your n8n instance is now up and running, and you can access it at https://n8n.example.com.

About

Dockerfile to run n8n (automation) on Dokku (mini-Heroku)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 89.4%
  • Dockerfile 10.6%