Commit Graph

15 Commits

Author SHA1 Message Date
czlonkowski
b111eb64d6 Merge branch 'main' into kimbo128/main - resolve conflicts 2025-07-17 00:55:50 +02:00
czlonkowski
8a15961995 feat: add Railway deployment support with CI/CD integration
- Add Railway-specific Docker image build to CI/CD workflow
  - Builds n8n-mcp-railway image alongside standard image
  - Railway image optimized for AMD64 architecture
  - Automatically published to ghcr.io on main branch pushes

- Create comprehensive Railway deployment documentation
  - Step-by-step deployment guide with security best practices
  - Claude Desktop connection instructions via mcp-remote
  - Troubleshooting guide for common issues
  - Architecture details and single-instance design explanation

- Update README with Railway documentation link
  - Removed inline Railway content to keep README focused
  - Added link to dedicated Railway deployment guide

This enables zero-configuration cloud deployment of n8n-mcp
with automatic HTTPS, global access, and built-in monitoring.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-17 00:46:14 +02:00
Romuald Członkowski
fcd92d410e fix: exclude documentation changes from Docker builds and fix tag generation (#49)
- Add paths-ignore to skip Docker builds for documentation-only changes
- Remove problematic branch prefix from SHA tags to fix invalid tag format
- This prevents unnecessary builds for changes to .md files, FUNDING.yml, etc.
2025-07-14 18:39:39 +02:00
czlonkowski
23d5880264 fix: disable Docker build cache to force database update
- Added no-cache: true to docker/build-push-action
- Previous builds were aggressively caching the old database from 13:18
- This forces a complete rebuild including the new database with trigger fixes
- Build will take longer (5-10min vs 26sec) but ensures correct database

The cache was so aggressive that even Dockerfile changes didn't invalidate it.
This nuclear option ensures the trigger detection fixes for webhook, cron,
interval, and emailReadImap nodes are finally included in the Docker image.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-06 16:30:41 +02:00
czlonkowski
bfedadc6ef fix: enable Git LFS checkout in GitHub Actions workflows
- Added 'lfs: true' to all checkout steps in workflows
- Ensures Docker builds get the actual database file, not LFS pointer
- Required after migrating nodes.db to Git LFS
2025-07-06 14:02:12 +02:00
czlonkowski
c95313f343 feat: optimize Docker build to exclude n8n dependencies
Major optimization that reduces Docker image size by 87% and build time by 10x:

- Remove ALL n8n dependencies from runtime Docker image
- Add package.runtime.json with only 5 essential runtime deps
- Optimize Dockerfile to build TypeScript without n8n packages
- Add BuildKit optimizations with cache mounts
- Update documentation to highlight the improvements

Results:
- Image size: ~1.5GB → ~200MB (87% reduction)
- Build time: ~12 minutes → ~1-2 minutes
- No n8n version conflicts at runtime
- Better security with minimal attack surface

The key insight is that since we always rebuild the database locally
before deployment, the Docker runtime never needs n8n packages.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-18 23:09:18 +02:00
czlonkowski
3e037898c8 fix: simplify Docker build to resolve multi-platform failures
## Root cause
- Docker buildx memory options were incorrectly formatted
- Database build during Docker image creation was failing on multi-platform builds
- n8n native dependencies caused issues across different architectures

## Solution
- Removed invalid buildx driver-opts configuration
- Eliminated database build stage from Dockerfile
- Now using pre-built nodes.db file (11MB) from repository
- Fixed .dockerignore to include nodes.db in build context
- Added .dockerignore to version control (was incorrectly gitignored)

## Benefits
- Faster builds (no n8n package installation during build)
- More reliable multi-platform builds (amd64 + arm64)
- Simpler Dockerfile (3 stages instead of 4)

Database can still be rebuilt locally using 'npm run rebuild' when needed.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 16:05:25 +02:00
czlonkowski
c1485d8f1b fix: resolve GitHub Actions workflow failures
## Fixed dependency updater workflow
- Added explicit workspace directory handling
- Improved error handling with clear error messages
- Fixed update summary file reading with error suppression
- Added error output for debugging failures

## Fixed Docker build workflow
- Added memory constraints (8GB/16GB swap) to prevent OOM
- Fixed Dockerfile to use npm scripts instead of direct node execution
- Added fallback mechanism: optimized rebuild → regular rebuild → error
- Added buildx ID reference and no-cache filter for db-builder stage

These changes should resolve both workflow failures and make the CI/CD pipeline more robust.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-16 15:59:03 +02:00
czlonkowski
88dd66bb7a refactor: make optimized Dockerfile the default - remove full variant
- Rename Dockerfile.optimized to Dockerfile (now the default)
- Keep old Dockerfile as Dockerfile.old for reference
- Update GitHub Actions to use default Dockerfile
- Remove build-full job - only one image variant now
- Remove docker-compose.optimized.yml and other variants
- Update all documentation to reflect single image approach

The optimized 283MB image is now the only n8n-MCP Docker image.
This simplifies the user experience and provides the best solution
for all use cases.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 14:00:36 +02:00
czlonkowski
e90971b2d8 feat: switch GitHub Actions to build optimized Docker image by default
- Change main build to use Dockerfile.optimized (targets ~200MB image)
- Add separate 'full' build job for development variant (2.6GB)
- Update tagging strategy: 'latest' for optimized, 'full' suffix for full variant
- Update documentation to reflect dual image strategy
- Update docker-compose.yml with variant selection comment

This provides users with two options:
- Optimized (default): Pre-built database, minimal size, for production
- Full: Complete n8n packages, dynamic scanning, for development

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-06-14 11:27:24 +02:00
czlonkowski
d67c04dd52 docs: add release guide and improve Docker documentation structure 2025-06-14 10:00:14 +02:00
czlonkowski
8878c99c3b feat: optimize Docker build with multi-stage deps and npm retry config 2025-06-13 23:47:09 +02:00
czlonkowski
b8b5e674dc fix: update npm ci flag from --only=production to --omit=dev and remove nginx build job 2025-06-13 21:11:43 +02:00
czlonkowski
d6f38dc1c4 docs: reorganize documentation files and update Docker build process 2025-06-13 17:20:31 +02:00
czlonkowski
12bef3d98e feat: add comprehensive Docker support with multi-stage builds and compose configurations 2025-06-13 16:12:40 +02:00