Spaces:
Sleeping
Sleeping
| # Optimized Docker build script - no n8n dependencies! | |
| set -e | |
| # Enable BuildKit | |
| export DOCKER_BUILDKIT=1 | |
| export COMPOSE_DOCKER_CLI_BUILD=1 | |
| echo "π Building n8n-mcp (runtime-only, no n8n deps)..." | |
| echo "π‘ This build assumes database is pre-built" | |
| # Check if nodes.db exists | |
| if [ ! -f "data/nodes.db" ]; then | |
| echo "β οΈ Warning: data/nodes.db not found!" | |
| echo " Run 'npm run rebuild' first to create the database" | |
| exit 1 | |
| fi | |
| # Build with BuildKit | |
| echo "π¦ Building Docker image..." | |
| docker build \ | |
| --progress=plain \ | |
| --cache-from type=gha \ | |
| --cache-from type=registry,ref=ghcr.io/czlonkowski/n8n-mcp:buildcache \ | |
| --build-arg BUILDKIT_INLINE_CACHE=1 \ | |
| -t "n8n-mcp:latest" \ | |
| . | |
| # Show image size | |
| echo "" | |
| echo "π Image size:" | |
| docker images n8n-mcp:latest --format "table {{.Repository}}\t{{.Tag}}\t{{.Size}}" | |
| # Test the build | |
| echo "" | |
| echo "π§ͺ Testing build..." | |
| docker run --rm n8n-mcp:latest node -e "console.log('Build OK - Runtime dependencies only!')" | |
| # Estimate size savings | |
| echo "" | |
| echo "π° Size comparison:" | |
| echo " Old approach (with n8n deps): ~1.5GB" | |
| echo " New approach (runtime only): ~280MB" | |
| echo " Savings: ~82% smaller!" | |
| echo "" | |
| echo "β Build complete!" | |
| echo "" | |
| echo "π― Next steps:" | |
| echo " - Use 'docker run -p 3000:3000 -e AUTH_TOKEN=your-token n8n-mcp:latest' to run" | |
| echo " - Use 'docker-compose up' for production deployment" | |
| echo " - Remember to rebuild database locally before pushing!" |