n8n is a flexible AI workflow automation for technical teams. It allows you to build flexible workflows focused on deep data integration.
Instantiate the module with:
add-module ghcr.io/nethserver/n8n:latest 1
The output of the command will return the instance name. Output example:
{"module_id": "n8n", "image_name": "n8n", "image_url": "ghcr.io/nethserver/n8n:latest"}
Let's assume that the n8n instance is named n8n1.
Launch configure-module, by setting the following parameters:
lets_encrypt: Set Letsecnrypt to True or False, Default is Falsehttp2https: set redirect to True or False, Default is Truehost: the traefik host url for the projecttimezone: Set timezone, default is UTC
Example:
api-cli run module/n8n1/configure-module --data '{"host": "n8n.domain.com"}'
or if modifying another value:
api-cli run module/n8n5/configure-module --data '{"host": "n8n.domain.com","n8n_name": "Myn8n"}'
api-cli run module/n8n1/configure-module --data '{
"host": "n8n.host.org",
"lets_encrypt": false,
"http2https": true,
}'
The above command will:
- start and configure the n8n instance
- Optionally enable https redirect
- Configure letsencrypt certificate
- Set the timezone for the app
After configuration n8n can be accessed under the set host/FQDN to configure an admin user.
Some configuration settings, like the smarthost setup, are not part of the
configure-module action input: they are discovered by looking at some
Redis keys. To ensure the module is always up-to-date with the
centralized smarthost
setup every time
kickstart starts, the command bin/discover-smarthost runs and refreshes
the state/smarthost.env file with fresh values from Redis.
Furthermore if smarthost setup is changed when ns8-n8n is already
running, the event handler events/smarthost-changed/10reload_services
restarts the main module service.
See also the systemd/user/n8n-server.service file.
This setting discovery is just an example to understand how the module is expected to work: it can be rewritten or discarded completely.
To uninstall the instance:
remove-module --no-preserve n8n1
Test the module using the test-module.sh script:
./test-module.sh <NODE_ADDR> ghcr.io/nethserver/n8n:latest
The tests are made using Robot Framework
Translated with Weblate.
To setup the translation process:
- add GitHub Weblate app to your repository
- add your repository to [hosted.weblate.org]((https://hosted.weblate.org) or ask a NethServer developer to add it to ns8 Weblate project