Author: Stefano Amorelli stefano@amorelli.tech
Contributions Welcome: github.com/stefanoamorelli/n8n-pi
n8n-pi OS is a custom Raspberry Pi image that comes with n8n pre-installed, configured, and ready to run. Just flash the image to your SD card, boot your Pi, and start automating!
- n8n runs automatically when you boot your Pi
- Web interface at
http://n8n-pi.local - No Docker needed - runs natively for better performance
- PM2 keeps n8n running even after crashes
- Simple commands like
n8n-statusandn8n-logs - 2GB swap configured for low-RAM devices
- Firewall and fail2ban pre-configured
Download the latest pre-built image from the Releases page.
# Download the latest release
wget https://github.com/stefanoamorelli/n8n-pi/releases/latest/download/n8n-pi-os-v1.0.0.img.xz
# Flash to SD card (replace /dev/sdX with your SD card)
xzcat n8n-pi-os-*.img.xz | sudo dd of=/dev/sdX bs=4M status=progress
# Or use Raspberry Pi Imager with custom image optionNote: Pre-built images are created for each release. Check the Releases page for all available versions.
- Insert SD card into Raspberry Pi
- Connect ethernet (or configure WiFi)
- Power on
- Wait 2-3 minutes for first boot setup
- Access n8n at:
http://n8n-pi.localorhttp://<pi-ip-address> - Login with credentials from
/boot/n8n-credentials.txt
- Linux system (Ubuntu/Debian/Fedora)
- 16GB+ free disk space
- sudo access
- ARM emulation support (qemu-user-static)
# Clone the repository
git clone https://github.com/stefanoamorelli/n8n-pi.git
cd n8n-pi
# Run the image builder (requires sudo)
make build
# Image will be created in ./releases/
# Flash with the included script
cd releases
./flash-n8n-pi.shThe image runs Raspberry Pi OS Lite (64-bit) with:
- n8n (latest)
- Node.js 20 LTS
- PM2 for process management
- Nginx as reverse proxy
- UFW firewall + fail2ban
- System tools like htop for monitoring
- Avahi for .local domain support
After booting, these commands are available:
n8n-status # Check n8n status
n8n-logs # View n8n logs
n8n-restart # Restart n8n
n8n-password # Change admin password
n8n-backup # Backup workflows- Web Interface:
http://n8n-pi.localor port 80 - n8n Port: 5678 (proxied through Nginx)
- Default User: admin
- Password: Auto-generated on first boot (check
/boot/n8n-credentials.txt) - SSH: Enabled by default
- User: pi/raspberry (change immediately!)
| Pi Model | RAM | Performance |
|---|---|---|
| Pi Zero 2 | 512MB | Not recommended |
| Pi 3B | 1GB | Basic workflows only |
| Pi 3B+ | 1GB | Basic workflows only |
| Pi 4 | 2GB | Good performance |
| Pi 4 | 4GB+ | Excellent performance |
| Pi 5 | 4GB+ | Best performance |
The image includes:
- UFW firewall (ports 22, 80, 443, 5678)
- fail2ban for SSH protection
- Unique password generated on first boot
- Regular security updates via unattended-upgrades
Important: Change the default Pi user password immediately after first boot!
MIT License - See LICENSE file
Made with β€οΈ by Stefano Amorelli