Commit Graph

178 Commits

Author SHA1 Message Date
Yury Kossakovsky
6fbcc8768a fix: add database name variables for backward compatibility
existing installations use 'postgres' database to preserve data
new installations use service-specific databases (postiz, waha, lightrag)
2025-12-25 19:22:44 -07:00
Yury Kossakovsky
e9291dc825 fix(nocodb): correct healthcheck endpoint and add redis caching
- Fix healthcheck endpoint: /api/v2/health → /api/v1/health (per PR #2460)
- Add NC_REDIS_URL for production caching (per official docs)
- Add redis dependency with service_healthy condition
- Revert unrelated changes to Postiz, WAHA, LightRAG database configs
2025-12-25 18:22:01 -07:00
Yury Kossakovsky
108daca1fe feat: add nocodb as optional service
add nocodb (open source airtable alternative) with:
- docker service definition with postgresql backend
- caddy reverse proxy configuration
- jwt secret auto-generation
- wizard integration for service selection
- welcome page dashboard entry
- readme and changelog updates
2025-12-25 16:50:28 -07:00
Yury Kossakovsky
30e4c9407b fix: initialize databases before starting dependent services
- start postgresql first, then run init_databases.sh, then other services
- add depends_on postgres for lightrag service
- remove unused nocodb from databases list
- document database initialization in add-new-service workflow
2025-12-25 13:15:07 -07:00
Yury Kossakovsky
f32c92287e feat: add isolated postgresql databases for services
add init_databases.sh script that creates dedicated databases for
langfuse, lightrag, nocodb, postiz, and waha during install/update.
update connection strings to use service-specific databases instead
of sharing the default postgres database.
2025-12-25 11:25:31 -07:00
Yury Kossakovsky
d7af7b6900 feat: add nodes_exclude to enable execute command node in n8n 2.0+ 2025-12-24 11:23:03 -07:00
Yury Kossakovsky
850bf05208 style: alphabetize environment variables in docker-compose.yml
organizes caddy, waha, and ragflow service env vars for consistency
2025-12-21 18:34:34 -07:00
Yury Kossakovsky
f1285f864e chore: remove flowise built-in auth credentials
flowise no longer uses FLOWISE_USERNAME/PASSWORD for authentication
2025-12-21 18:32:51 -07:00
Yury Kossakovsky
5def4cf4db fix(gost): simplify healthcheck to tcp port check 2025-12-21 15:52:28 -07:00
Yury Kossakovsky
e532bc581a fix(gost): use busybox-compatible wget syntax in healthcheck 2025-12-21 15:17:50 -07:00
Yury Kossakovsky
99c745b9d0 fix(gost): use http instead of https in healthcheck 2025-12-21 15:12:54 -07:00
Yury Kossakovsky
903e50b514 fix(gost): add proxy env to n8n runners
runners execute code nodes with fetch(), need proxy vars for
outbound requests through gost
2025-12-21 15:05:42 -07:00
Yury Kossakovsky
3bfe860a5a fix(gost): use fixed username and proper healthcheck
- change gost username from email to fixed 'gost' to avoid @ symbol
  breaking proxy url parsing
- fix healthcheck to make real proxy request to httpbin.org instead of
  invalid spider request to proxy port
- increase healthcheck interval to 60s and timeout to 15s
2025-12-21 14:55:03 -07:00
Yury Kossakovsky
fd730836dc fix(healthcheck): bypass proxy for localhost healthchecks
busybox wget in alpine doesn't respect NO_PROXY, causing healthchecks
to route localhost requests through gost proxy which returns 403
2025-12-21 14:43:20 -07:00
Yury Kossakovsky
26485b32c0 feat(gost): require upstream proxy for geo-bypass
gost now always requires an external upstream proxy to function.
wizard prompts for upstream proxy url when gost is selected.
if no upstream provided, gost is removed from selection.
2025-12-20 15:21:27 -07:00
Yury Kossakovsky
ed046b3c68 feat: add gost proxy service for outbound ai traffic routing
- add gost http/https proxy service with authentication
- create x-proxy-env anchor for shared proxy configuration
- apply proxy settings to ai services (n8n, flowise, langfuse, etc.)
- add gost to wizard, welcome page, and final report
- generate gost credentials and proxy url in secrets script
- use wget healthcheck compatible with alpine-based gost image
2025-12-20 15:04:12 -07:00
Yury Kossakovsky
3134eee354 refactor: remove N8N_VERSION env variable, hardcode stable 2025-12-15 10:06:13 -07:00
Yury Kossakovsky
85d6730151 fix(open-webui): add healthcheck with longer start_period
Open-WebUI can take a long time to initialize on first run, causing
the docker compose --wait to fail. Added explicit healthcheck with
120s start_period to allow proper initialization time.
2025-12-12 18:56:23 -07:00
Yury Kossakovsky
366865ad4c feat: add welcome page dashboard for post-install credentials
replace terminal-based final report with web-based welcome page that
displays service credentials, hostnames, and quick start guide.

- add welcome/index.html with tailwind css and dark mode support
- add welcome/app.js with service metadata and password toggle/copy
- add scripts/generate_welcome_page.sh to generate data.json from env
- simplify 07_final_report.sh to show welcome page url and make commands
- add welcome page basic auth credentials to caddy and secret generation
- update add-new-service documentation with new welcome page steps
2025-12-11 17:09:42 -07:00
Yury Kossakovsky
9c3bb203d0 feat: add generic_timezone env variable for n8n services 2025-12-11 11:39:01 -07:00
Yury Kossakovsky
da7d3ba5b3 fix: use pnpm and task-runners.json for runner npm packages
n8nio/runners image uses pnpm, not npm. configure allowed modules
via n8n-task-runners.json instead of environment variables.

- switch from npm to pnpm in Dockerfile.runner
- add n8n-task-runners.json for module allowlist config
- remove redundant env vars from docker-compose.yml
- update documentation to reflect new config location
2025-12-11 11:39:01 -07:00
Yury Kossakovsky
27a794e7eb fix: install npm packages in task runner for code node support
n8n v2.0 executes code nodes in a separate task runner container.
the runner image (n8nio/runners) doesn't include npm packages like
cheerio, axios, moment, lodash - causing "module is disallowed" errors.

- add Dockerfile.runner with npm packages for code nodes
- rename Dockerfile to Dockerfile.n8n for clarity
- update docker-compose.yml to use custom runner build
2025-12-11 11:39:01 -07:00
Yury Kossakovsky
2e81c991e2 fix: add --remove-orphans flag and explicit container names
prevents container name conflicts during restarts by automatically
cleaning up orphaned containers and ensuring langfuse services have
explicit names
2025-12-11 11:39:01 -07:00
Yury Kossakovsky
35ca31d1af fix: address n8n v2.0 migration review issues
- fix quote parsing in N8N_WORKER_COUNT from .env
- remove unused N8N_RUNNER_COUNT references
- parameterize n8n version for both n8n and runner images
- add healthchecks to n8n main and worker services
2025-12-11 11:39:01 -07:00
Yury Kossakovsky
d54eca620c feat: implement worker-runner sidecar pattern for n8n
replace replicated workers/runners with dynamically generated 1:1
worker-runner pairs where each runner connects to its worker via
localhost (network_mode: service). this improves task routing by
ensuring each worker has dedicated runner capacity.

add generate_n8n_workers.sh script to create docker-compose.n8n-workers.yml
2025-12-11 11:39:01 -07:00
Yury Kossakovsky
bcd2da2dfc fix: update task runner image to match n8n 2.0.0 stable 2025-12-11 11:39:01 -07:00
Yury Kossakovsky
638c3d17a6 feat: add n8n v2.0 external task runner support
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
2025-12-11 11:39:01 -07:00
Yury Kossakovsky
209c739e7f feat: add generic_timezone env variable for n8n 2025-12-11 11:37:41 -07:00
Yury Kossakovsky
89fdc93566 Add logging configuration for n8n in environment files
- 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.
2025-12-04 10:30:05 -07:00
Yury Kossakovsky
8b562bf16b Update environment variable handling for n8n execution mode in configuration files
- 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.
2025-12-03 13:06:47 -07:00
Yury Kossakovsky
ac13c400f5 feat(docling): add vlm pipeline configuration and usage instructions
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.
2025-11-26 17:32:09 -07:00
Yury Kossakovsky
761200adbc Refactor healthcheck command format in docker-compose.yml and standardize PostgreSQL host output in final report script
- 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.
2025-11-12 23:13:00 -07:00
Yury Kossakovsky
167b7e97b6 Update Docling image references in .env.example and docker-compose.yml
- 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.
2025-11-09 13:51:52 -07:00
Yury Kossakovsky
5b0d701734 Add Docling service configuration and credentials
- 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.
2025-11-09 13:38:09 -07:00
Yury Kossakovsky
0c2b27c2e6 Update PostgreSQL image version and adjust volume mapping in docker-compose.yml
- Changed PostgreSQL image version to 17 for consistency with the latest features.
- Updated volume mapping to specify the data directory for better data management.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
2ac966908d Update PostgreSQL image syntax and add TODO for volume renaming
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
92db912ee3 Update PostgreSQL image version and enhance wizard dialog sizing
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
ff500cdf7b Update PostgreSQL version and improve healthcheck formatting in docker-compose.yml
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
da6ea89432 Integrate Elasticsearch support into RAGFlow configuration
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
fba8f96b81 Add LightRAG service configuration and credentials
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
c68c419fed Update MinIO configuration in docker-compose.yml
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
c8838f0e03 Remove RAGFlow Admin configuration from .env.example, Caddyfile, docker-compose.yml, and final report script
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
4bb4782c63 Add Nginx configuration for RAGFlow service in docker-compose.yml
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
6b42359dfb Update RAGFlow service configuration in docker-compose.yml
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
e551756a9f Add RAGFlow Admin hostname configuration and update related files
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
430a6e3c9a Add Redis service configuration and update environment variables in docker-compose.yml
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
16db24316e Update MySQL database name in docker-compose.yml for consistency
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
37a2acd0e2 Update Infinity service configuration in docker-compose.yml
- 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.
2025-11-05 10:18:35 -07:00
Yury Kossakovsky
b4d4b14f5b Update Infinity service image tag to v0.6.0 and adjust health check URL in docker-compose.yml for compatibility improvements. 2025-11-05 10:18:35 -07:00
Yury Kossakovsky
1e38e8c05e Remove command definition for Infinity service in docker-compose.yml to streamline configuration. 2025-11-05 10:18:35 -07:00