title: N8n
emoji: ⚡
colorFrom: blue
colorTo: gray
sdk: docker
pinned: false
license: mit
short_description: n8n free hosted with supebase
Created by ABCDO & EnzGamers . Check out the configuration reference at spaces-config-reference .
n8n - Extended Workflow Automation on Hugging Face Spaces
This Hugging Face Space runs a powerful, extended instance of n8n, an open-source, fair-code, and self-hostable workflow automation tool.
This isn't just the standard n8n. This custom Docker image comes pre-loaded with a wide range of system dependencies, designed to support a vast array of community nodes and complex workflows right out of the box, without any extra configuration.
✨ Key Features of This Custom Image
- Based on Node.js 20: Built on a modern and efficient
node:20-alpinebase image. - Chromium Included: Full support for browser automation, web scraping, and PDF generation nodes thanks to the pre-installed
chromium. - Python & Git Ready: Comes with
python3,pip, andgitinstalled, allowing you to run scripts and interact with repositories directly within your workflows. - Build Tools Pre-installed: Includes
build-base,g++, andmaketo ensure compatibility with nodes that require compiling native addons. - Database Clients:
postgresql-clientis included for easy connection to external PostgreSQL databases. - Graphics Libraries:
cairo-devandpango-devare available for nodes that perform canvas or image manipulation.
🚀 How to Use
- Launch the Space: This Space will build the Docker container and start n8n automatically. Please be patient during the initial startup.
- Access n8n: Once the application is running, the n8n editor will be available to use.
- Start Automating: Begin building your workflows! You can now use many community nodes that would typically fail in a standard setup.
Data Persistence
By default, this Space uses SQLite to store your workflows and credentials, which are saved to the container's local filesystem (/root/.n8n).
Important: The filesystem of a Hugging Face Space is ephemeral. To ensure your workflows are not lost when the Space restarts, you should:
- Download Your Workflows: Regularly download your important workflows as JSON files from the n8n UI.
- Commit to Repository: For a more advanced setup, you can configure a process to commit your workflow files (
/root/.n8n/workflows/*.json) back to the Space's Git repository.
⚙️ Configuration (Using Space Secrets)
For a secure and customized setup, you should configure n8n using Hugging Face Space Secrets. You can find these in your Space's Settings tab.
| Secret Key | Description | Example Value |
|---|---|---|
N8N_ENCRYPTION_KEY |
(Highly Recommended) A long, random, and secret key to encrypt your credentials. If not set, credentials are less secure. | your_very_secret_and_long_encryption_key |
GENERIC_TIMEZONE |
Sets the server timezone to ensure CRON nodes and date-based triggers run at the correct time. A list of timezones can be found here. | Europe/Berlin |
NODE_FUNCTION_ALLOW_EXTERNAL |
Comma-separated list of external npm modules to allow in the Function and Edit Fields nodes (e.g., axios,lodash). |
axios,moment |
WEBHOOK_URL |
(Required for Production) Manually set the public-facing webhook URL. It should be the URL of your Hugging Face Space. | https://your-space-name.hf.space/ |
Connecting to an External Database
While SQLite is fine for testing, you can connect to an external PostgreSQL database (ex: Supabase 😉) for a more robust, production-ready setup. Simply set the following secrets:
DB_TYPE:postgresdbDB_POSTGRESDB_HOST: Your database hostDB_POSTGRESDB_DATABASE: Your database nameDB_POSTGRESDB_USER: Your database userDB_POSTGRESDB_PASSWORD: Your database passwordDB_POSTGRESDB_PORT:5432
🐳 About the Dockerfile
This instance is built from the provided Dockerfile. Here is a summary of its setup:
- Base Image:
node:20-alpine - n8n Version:
Latset - System Dependencies: Installs
git,python3,chromium,build-base,postgresql-client, and more usingapk. - Environment: Sets up
PUPPETEER_EXECUTABLE_PATHto work with the bundled Chromium. - Directories: Creates and sets appropriate permissions for the n8n data directory at
/root/.n8n. - Execution: Starts n8n using the default
n8n startcommand.