A one-script solution to install n8n natively on macOS for local file automation and workflow tasks.
Unlike Docker-based installations, this native setup provides:
- ✅ Full file system access - Watch folders, process files anywhere on your Mac
- ✅ Better performance - No containerization overhead
- ✅ Local automation - Perfect for processing photos, documents, downloads
- ✅ macOS integration - Direct access to system events and files
- ✅ Zero configuration - SQLite database, no setup required
curl -O https://raw.githubusercontent.com/GroveOS/n8n-mac/refs/heads/root/n8n.sh
chmod +x n8n.sh
./n8n.sh install
That's it! n8n will be running at the URL shown at the end.
That's it! n8n will be running at the URL shown at the end of installation.
- Node.js (if not already present) - via Homebrew
- n8n (latest version) - via npm globally
- SQLite database - at
~/.n8n/database.sqlite
- Auto-start service - LaunchAgent for automatic startup
- Logging system - All logs saved to
~/.n8n/logs/
./n8n.sh install
./n8n.sh uninstall
./n8n.sh --help
After installation, you can manage n8n with:
# View logs
tail -f ~/.n8n/logs/n8n.log
# Stop n8n
pkill -f 'n8n start'
# Start n8n manually
~/bin/n8n-start.sh &
# Disable auto-start
launchctl unload ~/Library/LaunchAgents/com.n8n.native.plist
# Enable auto-start
launchctl load ~/Library/LaunchAgents/com.n8n.native.plist
- Photo processing - Watch
~/Pictures
for new photos - Document workflow - Process files in
~/Documents
- Download management - Monitor
~/Downloads
folder - Backup automation - File sync and organization
- Data processing - CSV, JSON, log file processing
- Shell commands - Full access to command line tools
- AppleScript integration - Trigger macOS automation
- File system events - Real-time folder monitoring
- Local APIs - Connect to local development servers
- macOS (any recent version)
- Internet connection (for downloads)
- 1GB+ free disk space
- Port detection - Automatically finds available ports (5678, 5679, etc.)
- Node.js version checking - Ensures compatibility (Node.js 18+)
- Homebrew integration - Installs dependencies automatically
- Data persistence - All workflows saved to local SQLite database
- Auto-restart - LaunchAgent keeps n8n running through reboots/crashes
~/.n8n/ # Main data directory
├── database.sqlite # All workflows and settings
├── logs/ # Service and application logs
├── nodes/ # Custom nodes
├── binaryData/ # File attachments
└── config # Configuration files
~/bin/n8n-start.sh # Startup wrapper script
~/Library/LaunchAgents/ # Auto-start service
└── com.n8n.native.plist
# Check logs
tail -f ~/.n8n/logs/n8n.log
# Check service status
launchctl list | grep n8n
# Restart service
launchctl unload ~/Library/LaunchAgents/com.n8n.native.plist
launchctl load ~/Library/LaunchAgents/com.n8n.native.plist
The installer automatically detects busy ports and finds alternatives. If you need a specific port:
# Stop n8n
pkill -f 'n8n start'
# Edit the wrapper script
nano ~/bin/n8n-start.sh
# Change N8N_PORT=5678 to your desired port
# Start n8n
~/bin/n8n-start.sh &
# Fix npm permissions
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
# Or reinstall with different permissions
sudo npm install -g n8n
The uninstall process removes:
- ✅ n8n npm package
- ✅ LaunchAgent service
- ✅ Startup wrapper script
- ✅ Legacy configuration
Data preservation: You choose whether to keep your ~/.n8n
folder with workflows and settings.
./n8n.sh uninstall
- Official Documentation: https://docs.n8n.io
- Community Forum: https://community.n8n.io
- Workflow Templates: https://n8n.io/workflows
- Node Documentation: https://docs.n8n.io/nodes/
Issues and pull requests welcome! This installer aims to be the easiest way to get n8n running natively on macOS for local automation tasks.
MIT License - feel free to use and modify for your needs.
🎉 Happy Automating! Once installed, visit the URL shown in your terminal to start building powerful local workflows with full macOS file system access.