n8n-deploy is a Python CLI that remembers your workflow configuration. Built on SQLite, it stores paths, servers, and settings - so deployment commands stay simple.
n8n-deploy wf push my-workflowThe database knows where your workflow lives and which server it belongs to.
-
π§ Smart Configuration
- Stores workflow paths, server links, and SSL settings
- Push/pull by workflow name or ID
- Override anytime with explicit flags
-
π Multi-Server Support
- Push and pull workflows to any n8n server
- Per-server SSL verification settings
- API key management with server linking
-
π Folder Synchronization (NEW in v0.2.0)
- Bidirectional folder sync between local and n8n server
folderCLI command group for folder operations- Automatic folder mapping and tracking
-
π» Versatile CLI Interface
- Emoji-rich output for interactive use
- Script-friendly mode with
--no-emojiflag - Verbose logging with
-vand-vvflags at any command level - Comprehensive workflow operations
# Pip install
pip install n8n-deploy
# Use uv for faster setup and virtual environment
uv venv --python /usr/bin/python3 .venv
source .venv/bin/activate
uv pip install n8n-deploy# Initialize database
n8n-deploy db init --data-dir ~/.n8n-deploy
# Create server and add API key
n8n-deploy server create production https://n8n.example.com
n8n-deploy apikey add "your-n8n-api-key" --name "prod-key" --server production
# Or via stdin (key not saved in shell history)
# echo "your-n8n-api-key" | n8n-deploy apikey add - --name "prod-key" --server production
# Configure SSL for self-signed certificates (optional)
n8n-deploy server ssl production --skip-verify
# Link workflow to server with flow directory (automatic server resolution)
n8n-deploy wf add workflow.json --flow-dir ./workflows --link-remote production
# Push/pull uses linked server AND stored flow-dir automatically!
n8n-deploy wf push workflow-name # No --flow-dir or --remote needed!
n8n-deploy wf pull workflow-name # Uses stored paths automatically
# Update workflow metadata without push/pull
n8n-deploy wf link my-workflow --flow-dir ./new-location
n8n-deploy wf link my-workflow --server staging
# Override with --remote for ad-hoc operations
n8n-deploy wf push workflow-name --remote staging
# Delete workflow from local database
n8n-deploy wf delete workflow-name
# List workflows from server
n8n-deploy wf server --remote production
# Folder synchronization (NEW in v0.2.0)
n8n-deploy folder sync --remote production # Sync folders with server
# Enable verbose logging for debugging
n8n-deploy -v wf push workflow-name # Basic verbose
n8n-deploy -vv wf push workflow-name # Extended verbose㪠Get Help & Connect:
- Discussions - Ask questions, share ideas, showcase workflows
- Issues - Report bugs or request features
- Documentation - Complete guides and API reference
Discussion Categories:
- π£ Announcements - Project updates and releases
- π Q&A - Get help from the community
- π‘ Ideas - Suggest new features
- π― Show and Tell - Share your workflows
- #οΈβ£ General - Everything else
n8n-deploy supports multiple configuration methods:
- CLI Flags
- Environment Variables
.envFiles (in development mode)
N8N_DEPLOY_FLOWS_DIR: Workflow files directoryN8N_DEPLOY_DATA_DIR: Application data directoryN8N_SERVER_URL: n8n server URL for remote operations
π Read the full documentation
Quick Links:
We welcome contributions! Please see our Contributing Guide and Code of Conduct.
Quick Links:
This project is licensed under the MIT License - see the LICENSE file for details.
- Python 3.9+
- n8n server (local or remote)
- Basic understanding of workflow management
Designed for efficient workflow management with minimal overhead. Ideal for DevOps, automation engineers, and workflow enthusiasts.