4.4 KiB
4.4 KiB
Seclore n8n Development Container
This devcontainer provides a complete development environment for the Seclore n8n custom node project.
🚀 Quick Start
-
Open in Container:
- Open this project in VS Code
- Click "Reopen in Container" when prompted
- Or use Command Palette:
Dev Containers: Reopen in Container
-
Wait for Setup:
- The container will automatically install dependencies
- This may take a few minutes on first run
-
Start Development:
start_dev # Build and start n8n with custom nodes -
Access n8n:
- Open http://localhost:5678 in your browser
- Your custom Seclore Protect node will be available
📦 What's Included
Software
- Node.js 20.x - Latest LTS version
- npm - Latest version
- n8n - Latest version (globally installed)
- TypeScript - For development
- ts-node - TypeScript execution
- nodemon - Auto-restart on changes
VS Code Extensions
- TypeScript & JavaScript: Enhanced language support
- ESLint & Prettier: Code formatting and linting
- Node.js IntelliSense: Smart completions for Node.js
- npm IntelliSense: Package import suggestions
- Git Tools: GitLens and Git Graph
- REST Client: API testing tools
- Docker: Container management
Development Tools
- build_and_test: Build project and run linter
- start_dev: Build and start n8n with custom nodes
- watch_build: Auto-rebuild on file changes
- ~/start-n8n.sh: Direct n8n startup script
🔧 Development Workflow
1. Make Changes
Edit your TypeScript files in:
nodes/SecloreProtect/- Main node logicServices/- API service classescredentials/- Credential definitions
2. Build & Test
build_and_test # Compile TypeScript and run linter
3. Start n8n
start_dev # Build and start n8n
# OR
~/start-n8n.sh # Start n8n directly (after manual build)
4. Auto-rebuild (Optional)
watch_build # Watch for changes and auto-rebuild
🌐 Port Forwarding
The container automatically forwards these ports:
- 5678: n8n web interface
- 3000: Development server
- 8080: Alternative port
📁 Volume Mounts
- Project Files:
/workspaces/Seclore n8n(your source code) - n8n Data:
~/.n8n(n8n configuration and data) - Node Modules: Cached for faster rebuilds
🔐 Environment Variables
The container sets up these environment variables:
N8N_HOST=0.0.0.0
N8N_PORT=5678
N8N_PROTOCOL=http
NODE_ENV=development
N8N_LOG_LEVEL=debug
N8N_CUSTOM_EXTENSIONS=/workspaces/Seclore n8n
🛠️ Customization
Adding Extensions
Edit .devcontainer/devcontainer.json and add extension IDs to the extensions array.
Changing Ports
Modify the forwardPorts array in devcontainer.json.
Additional Software
Add installation commands to .devcontainer/post-create.sh.
🐛 Troubleshooting
Container Won't Start
- Check Docker is running
- Ensure you have enough disk space
- Try rebuilding:
Dev Containers: Rebuild Container
n8n Won't Start
- Check if port 5678 is available
- Verify the build completed successfully
- Check logs for error messages
Build Errors
- Run
npm installto ensure dependencies are installed - Check TypeScript compilation errors
- Verify all import paths are correct
Custom Node Not Visible
- Ensure the build completed successfully
- Check that
N8N_CUSTOM_EXTENSIONSpoints to the correct path - Restart n8n after making changes
📚 Useful Commands
# Development
npm run build # Build the project
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
# n8n
n8n start # Start n8n manually
n8n --help # n8n help
# Container
cat ~/welcome.txt # Show welcome message
source ~/dev-scripts.sh # Reload development functions
🎯 Tips
- Use the integrated terminal in VS Code for the best experience
- Enable auto-save in VS Code for faster development cycles
- Use the REST Client extension to test your APIs
- Check the n8n logs in the terminal for debugging
- Use
watch_buildduring active development for auto-rebuilds
Happy coding! 🚀