196 Commits

Author SHA1 Message Date
Yury Kossakovsky
059e141daa fix(ragflow): correct nginx config and backend port (#41)
mount nginx config to conf.d/default.conf instead of
sites-available/default, and set SVR_HTTP_PORT to 9380
(official default) instead of 80 which conflicts with
nginx and causes 502 on api requests
2026-02-27 18:11:12 -07:00
Yury Kossakovsky
f8e665f85f fix(comfyui): update docker image to cuda 12.8 2026-02-10 17:09:19 -07:00
Yury Kossakovsky
de8df8a0b7 fix(postiz): use localhost instead of docker hostname for backend_internal_url
the internal nginx in postiz container requires localhost, not the docker
service name, as this url is used for proxying within the container itself.
2026-01-30 13:50:50 -07:00
Yury Kossakovsky
a99676e3d5 fix(postiz): improve temporal integration
- increase elasticsearch memory to 512mb
- add temporal databases to initialization
- add postiz to final report
2026-01-17 19:56:29 -07:00
Yury Kossakovsky
31b81b71a4 fix(postiz): add elasticsearch for temporal advanced visibility
temporal with sql visibility has a hard limit of 3 text search
attributes per namespace. postiz requires more, causing startup
failure. adding elasticsearch enables advanced visibility mode
which removes this limitation.
2026-01-17 12:26:40 -07:00
Yury Kossakovsky
a3e8f26925 fix(postiz): use correct temporal address env var 2026-01-16 20:27:06 -07:00
Yury Kossakovsky
917afe615c fix(temporal): use container ip for healthcheck connection 2026-01-16 20:15:03 -07:00
Yury Kossakovsky
641fd04290 fix(temporal): update healthcheck to use modern cli 2026-01-16 18:59:37 -07:00
Yury Kossakovsky
e5db00098a refactor(docker-compose): extract logging config into yaml anchor 2026-01-16 18:45:30 -07:00
Yury Kossakovsky
4a6f1c0e01 feat(postiz): add temporal server for workflow orchestration
add temporal and temporal-ui services to the postiz profile for
workflow orchestration. includes caddy reverse proxy with basic
auth, secret generation, and welcome page integration.
2026-01-16 18:42:54 -07:00
Yury Kossakovsky
0e4b46ec31 feat(tls): add custom tls certificate support for corporate deployments
adds caddy-addon mechanism for custom certificates when let's encrypt
is not available. includes setup script with interactive wizard,
example configs, and documentation.
2026-01-09 23:26:41 -07:00
Yury Kossakovsky
bed72e59f1 fix(gost): improve proxy bypass for internal services
add cidr blocks and port-specific entries to gost_no_proxy to fix
redis connectivity issues when proxy is enabled. different libraries
interpret no_proxy differently, so we now include multiple formats.

also fix open-webui healthcheck to bypass proxy for localhost checks.
2026-01-03 14:42:27 -07:00
Yury Kossakovsky
45ba3642a8 feat(n8n): add make import command for workflow imports 2026-01-02 15:48:55 -07:00
Yury Kossakovsky
1cca4077e0 fix(databasus): remove volume alias
databasus uses incompatible data format with postgresus,
so volume alias provides no benefit - use fresh volume instead
2025-12-28 11:41:47 -07:00
Yury Kossakovsky
e1abdfecd8 fix(databasus): add logging limits and final report entry
completes databasus rebrand by adding missing pieces:
- log rotation (1mb max) to prevent disk bloat
- post-install instructions for account setup
2025-12-28 11:34:38 -07:00
Yury Kossakovsky
886234f91f fix(redis): add stop_grace_period for graceful shutdown 2025-12-28 11:25:55 -07:00
Yury Kossakovsky
52dfbf4d13 refactor: rename postgres volume for clarity 2025-12-28 11:03:39 -07:00
Yury Kossakovsky
944844871a refactor: rename postgresus to databasus
rebrand backup service following upstream project rename.
updates docker image to databasus/databasus:latest,
adds healthcheck, and includes cleanup function for
migration from old container name.
2025-12-28 11:00:07 -07:00
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