Changelog
All notable changes to this project will be documented in this file.
[1.0.0] - 2026-04-24
π Initial Release
Features
- Self-hosted n8n β Runs the latest n8n on HuggingFace Spaces Docker using SQLite (no external DB required).
- Persistent Backup β Automatically syncs the entire n8n workspace (workflows, credentials, database) to a private HF Dataset.
- Cloudflare Transparent Proxy β Built-in fix to bypass platform network blocks for Telegram, WhatsApp-related APIs, Google integrations, Discord, and other outbound services.
- Automatic Cloudflare Worker provisioning β Hugging8n can now create or update its outbound proxy automatically from
CLOUDFLARE_WORKERS_TOKEN, matching HuggingClaw's auto-setup flow. - Google node coverage widened β Worker defaults now cover Google API families more broadly so Sheets, Drive, Gmail, OAuth, and related nodes work without manual domain tuning.
- Premium Dashboard β Beautiful web interface at
/for real-time uptime monitoring and sync health tracking. - Built-in Keep-Alive β Integrated UptimeRobot setup tool directly from the dashboard to prevent free HF Spaces from sleeping.
- Native Security β Optimized for n8n v2 native user management with hardened file permissions (
umask 0077). - Safe Persistence β Uses atomic SQLite backups to ensure data integrity during periodic syncs.
- Auto-Restore β Seamlessly pulls the latest state from your HF Dataset on every startup.
- Graceful Shutdown β Ensures a final backup pass is completed on
SIGTERM/SIGINTbefore the container exits.
Architecture
Dockerfileβ Optimized build onnode:22-slimincluding all n8n and sync dependencies.start.shβ Orchestrates startup, validates environment, and manages service lifecycle.health-server.jsβ High-performance namespace proxy and dashboard server.cloudflare-proxy.jsβ Transparently intercepts and routes blocked traffic via Cloudflare Workers.n8n-sync.pyβ Robust background sync engine using thehuggingface_hubAPI.start.shβ Configures environment, restores backup, and launches background sync loop.
Made with β€οΈ by @somratpro