n8n/docker/images/n8n
2019-06-23 12:35:23 +02:00
..
Dockerfile Initial commit to release 2019-06-23 12:35:23 +02:00
README.md Initial commit to release 2019-06-23 12:35:23 +02:00

n8n

n8n.io - Workflow Automation

Run n8n in Docker.

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  n8nio/n8n

You can then access n8n by opening: http://localhost:5678

Start with tunnel

To be able to use webhooks which all triggers of external services like Github rely on n8n has to be reachable from the web. To make that easy n8n has a special tunnel service which redirects requests from our servers to your local n8n instance.

To use it simply start n8n with --tunnel

docker run -it --rm \
  --name n8n \
  --init \
  -p 5678:5678 \
  -v ~/.n8n:/root/.n8n \
  n8nio/n8n \
  n8n start --tunnel

Persist data

The workflow data gets by default saved in an SQLite database in the user folder (/root/.n8n). That folder also additionally contains the settings like webhook URL and encryption key.

docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/root/.n8n \
  n8nio/n8n

Use with MongoDB

Instead of SQLite, it is also possible to run n8n with MongoDB.

It is important to still persist the data in the /root/.n8 folder. The reason is that it contains n8n user data. That is the name of the webhook (in case) the n8n tunnel gets used and even more important the encryption key for the credentials. If none gets found n8n creates automatically one on startup. In case credentials are already saved with a different encryption key it can not be used anymore as encrypting it is not possible anymore.

Replace the following placeholders with the actual data:

  • MONGO_DATABASE
  • MONGO_HOST
  • MONGO_PORT
  • MONGO_USER
  • MONGO_PASSWORD
docker run -it --rm \
  --name n8n \
  -p 5678:5678 \
  -v ~/.n8n:/root/.n8n \
  n8nio/n8n \
  n8n start \
  --NODE_CONFIG='{\"database\":{\"type\":\"mongodb\", \"mongodbConfig\":{\"url\":\"mongodb://MONGO_USER:MONGO_PASSWORD@MONGO_SERVER:MONGO_PORT/MONGO_DATABASE\"}}}'"

A full working setup with docker-compose can be found here

License

n8n is licensed under Apache 2.0 with Commons Clause