upgrade n8n from 1.123.3 to 2.0.0-rc.4 with external task runners for
Code node execution. task runners handle javascript and python code
execution in isolated containers with configurable concurrency.
key changes:
- add n8n-runner service using n8nio/runners:2.0.0-rc.4
- configure runner auth token and broker communication
- add N8N_RUNNER_COUNT for scaling runner replicas
- move code node library config to runner container
- update binary data mode from filesystem to database
- add runner count prompt to installation wizard
- Introduced N8N_LOG_LEVEL and N8N_LOG_OUTPUT variables in .env.example for logging customization.
- Updated docker-compose.yml to support dynamic assignment of logging configuration, defaulting to 'info' and 'console' respectively.
- Added EXECUTIONS_MODE variable to .env.example for clarity on execution settings.
- Updated docker-compose.yml to allow dynamic assignment of EXECUTIONS_MODE, defaulting to 'queue' if not set.
add environment variables for vlm pipeline support (remote services,
model loading, device selection) and persistent cache volume. improve
final report with detailed vlm pipeline usage example showing how to
use ollama with granite3.2-vision model for document conversion.
- Updated the healthcheck command in docker-compose.yml for improved readability by formatting it as a list.
- Standardized the output for PostgreSQL host in 07_final_report.sh to remove environment variable references, ensuring consistent messaging.
- Included Docling service details in the "Quick Start and Usage" section of README.md, providing users with access information.
- Updated the service addition guidelines in add-new-service.mdc to include instructions for adding service URLs in alphabetical order.
- Updated the final report script to streamline the output for the Docling service by reorganizing the displayed information.
- Removed redundant lines and ensured that essential details such as API endpoints and user credentials are clearly presented.
- Changed the Docling image reference in .env.example and docker-compose.yml to use the correct naming convention for the CPU version, ensuring consistency across configuration files.
- Modified the confirmation prompts in 03_generate_secrets.sh and 05_configure_services.sh to default to 'yes' for user actions regarding domain and email confirmation, as well as n8n worker updates. This change aims to streamline user interactions and reduce the need for repeated confirmations.
- Introduced Docling hostname and credentials in .env.example for environment setup.
- Updated Caddyfile to include reverse proxy configuration for the Docling service.
- Added Docling service definition in docker-compose.yml with necessary environment variables and health checks.
- Enhanced README.md to document Docling integration and access details.
- Updated scripts to generate Docling credentials and include them in the final report for user visibility.
- Created CLAUDE.md to provide comprehensive guidance on the n8n-install project, including architecture, key files, common commands, and service addition workflow.
- Deleted outdated workflow files: Local_RAG_AI_Agent_n8n_Workflow.json, Create_Google_Doc.json, Get_Postgres_Tables.json, Post_Message_to_Slack.json, and Summarize_Slack_Conversation.json to streamline the repository and remove unused resources.
- Updated final report script to reflect changes in user messaging.
- Changed PostgreSQL image version to 17 for consistency with the latest features.
- Updated volume mapping to specify the data directory for better data management.
- Modified the PostgreSQL image definition in docker-compose.yml to use a more robust syntax for the version variable.
- Added a TODO comment in docker-compose.yml to rename the volume for clarity in future updates.
- Simplified the service selection wizard in 04_wizard.sh by removing unnecessary dynamic sizing calculations.
- Changed PostgreSQL image version in docker-compose.yml to use the latest tag for improved compatibility.
- Enhanced the service selection wizard in 04_wizard.sh to dynamically adjust dialog size based on terminal dimensions, ensuring better usability.
- Modified the LightRAG service description in the wizard script for clarity.
- Increased the display size in the service selection wizard to accommodate longer descriptions.
- Updated PostgreSQL image version from 17 to 18 for the latest features and security improvements.
- Adjusted volume mapping for PostgreSQL to ensure proper data storage.
- Reformatted healthcheck commands for Elasticsearch and RAGFlow services for better readability.
- Updated .env.example to include RAGFLOW_ELASTICSEARCH_PASSWORD for Elasticsearch credentials.
- Modified docker-compose.yml to replace the Infinity service with a new ragflow-elasticsearch service, including necessary environment variables and health checks.
- Adjusted README.md to reflect the integration of Elasticsearch as the backend for RAGFlow.
- Enhanced system preparation script to configure vm.max_map_count for Elasticsearch requirements.
- Updated secrets generation script to include RAGFLOW_ELASTICSEARCH_PASSWORD for credential management.
- Introduced LightRAG hostname and credentials in .env.example for environment setup.
- Updated Caddyfile to include reverse proxy configuration for LightRAG service.
- Added LightRAG service definition in docker-compose.yml with necessary environment variables and volume mappings.
- Enhanced README.md to document LightRAG integration and access details.
- Updated scripts to generate LightRAG credentials and include them in the final report for user visibility.
- Changed environment variable names from MINIO_ACCESS_KEY and MINIO_SECRET_KEY to MINIO_USER and MINIO_PASSWORD for clarity and consistency in service configuration.
- Deleted RAGFLOW_ADMIN_HOSTNAME from .env.example for environment variable cleanup.
- Removed the RAGFlow Admin reverse proxy block from Caddyfile to simplify routing.
- Excluded RAGFLOW_ADMIN_HOSTNAME from docker-compose.yml to streamline service configuration.
- Updated final report script to omit admin host information for clarity.
- Introduced a new Nginx configuration file to handle static file serving and API request routing.
- Updated docker-compose.yml to mount the Nginx configuration for the RAGFlow service, ensuring proper reverse proxy setup and static asset management.
- Added a new volume 'ragflow_data' for persistent storage.
- Updated RAGFlow image tag to 'latest' for the most recent version.
- Configured volume mapping for RAGFlow to ensure data persistence.
- Added RAGFLOW_ADMIN_HOSTNAME to .env.example for environment variable consistency.
- Updated Caddyfile to use the new RAGFLOW_ADMIN_HOSTNAME for the admin reverse proxy.
- Included RAGFLOW_ADMIN_HOSTNAME in docker-compose.yml to ensure proper service configuration.
- Modified final report script to display the admin host information for better visibility.
- Introduced a new reverse proxy for RAGFlow Admin on port 9381 to facilitate admin access.
- Ensured proper routing for the admin interface alongside the existing RAGFlow service.
- Introduced a new Redis service (ragflow-redis) in docker-compose.yml for enhanced caching capabilities.
- Updated environment variables to include RAGFLOW_REDIS_PASSWORD for secure access.
- Modified .env.example to reflect the addition of Redis credentials.
- Updated secrets generation script to include RAGFLOW_REDIS_PASSWORD for consistency in credential management.
- Changed MYSQL_DATABASE environment variable from 'ragflow' to 'rag_flow' for improved clarity and consistency across services.
- Added REDIS_PASSWORD environment variable to enhance security configuration.
- Changed service dependency condition from 'service_healthy' to 'service_started' for improved startup reliability.
- Updated Infinity service image tag to v0.6.2 for enhanced stability.
- Removed health check configuration and unnecessary port mapping, while adding ulimits for file descriptor limits.
- Introduced a new service definition for Infinity, including image, container name, restart policy, and command.
- Configured health checks and environment variables for the Infinity service.
- Added a new volume for Infinity data storage to ensure persistent data management.
- Updated service dependencies to include health checks for proper startup order.
- Removed Elasticsearch service configuration from docker-compose.yml, simplifying the setup.
- Updated RAGFlow service to use the latest image tag for better compatibility.
- Changed environment variable from ES_HOST and ES_PORT to DOC_ENGINE for improved clarity.
- Removed vm.max_map_count configuration from the system preparation script, as it is no longer necessary for RAGFlow.
- Increased Java heap size from 1g to 2g for improved performance.
- Disabled unnecessary security features and geoip downloader to streamline setup.
- Adjusted health check parameters to allow for more retries and a longer start period, enhancing service stability.
- Updated .env.example to include RAGFlow hostname and internal credentials for MySQL and MinIO.
- Modified Caddyfile to set up a reverse proxy for RAGFlow service.
- Enhanced docker-compose.yml with RAGFlow service definition, including environment variables and health checks for dependencies.
- Updated README.md to include RAGFlow information and service URL for user guidance.
- Configured system preparation script to set vm.max_map_count for Elasticsearch support required by RAGFlow.
- Added secret generation for RAGFlow internal credentials in the secrets generation script.
- Included RAGFlow in the final report script for visibility on service status and access information.
- Renamed references from "n8n-installer" to "n8n-install" across multiple files for consistency.
- Improved formatting in Cloudflare instructions for better readability.
- Updated installation script to handle directory corrections for the new naming convention.
- Adjusted service selection script comments to reflect the updated project name.
- Modified the pip install command to specify 'paddlex[all,ocr,ie]' for enhanced functionality.
- This change ensures that the necessary components for OCR and intelligent edge capabilities are included during the setup process.
- Introduced a comprehensive guide in add-new-service.mdc detailing the steps to add optional services using Docker Compose profiles.
- Included instructions for configuring the Caddyfile, .env.example, and scripts for secret generation and user prompts.
- Emphasized the importance of Basic Auth for public-facing services and provided a checklist for verification and application of changes.