fix(deploy): stop exposing renderer tuning as Coolify settings

Coolify lists every ${VAR} that compose.yml references as an app setting,
so the four renderer tuning values showed up as entries to fill in. They
are no longer referenced: the renderer's own defaults apply, and an
override goes into compose.yml as a literal.
This commit is contained in:
tiennm99 committed 2026-10-03 12:11:25 +07:00
1 parent 83321fa330
commit 1ee679ad89
3 files changed
+16 -10

No files matched your search

+7 -6
View File
@@ -57,14 +57,15 @@ services:
restart: unless-stopped restart: unless-stopped
environment: environment:
NODE_ENV: production NODE_ENV: production
# Every renderer setting carries the RENDERER_ prefix so it cannot clash # Every renderer setting carries the RENDERER_ prefix so it reads as a
# with the bot's variables, which Coolify also injects into this service. # renderer setting and cannot clash with the bot's variables.
RENDERER_HOST: 0.0.0.0 RENDERER_HOST: 0.0.0.0
RENDERER_PORT: "3000" # keep in sync with the bot's RENDERER_URL and the healthcheck RENDERER_PORT: "3000" # keep in sync with the bot's RENDERER_URL and the healthcheck
RENDERER_MAX_CONCURRENT_RENDERS: ${RENDERER_MAX_CONCURRENT_RENDERS:-1} # Tuning is left out on purpose: the renderer's own defaults apply
RENDERER_RENDER_TIMEOUT_MS: ${RENDERER_RENDER_TIMEOUT_MS:-15000} # (RENDERER_MAX_CONCURRENT_RENDERS=1, RENDERER_RENDER_TIMEOUT_MS=15000,
RENDERER_MAX_OPTIONS: ${RENDERER_MAX_OPTIONS:-32} # RENDERER_MAX_OPTIONS=32, RENDERER_MAX_OPTION_CHARS=40). Coolify lists
RENDERER_MAX_OPTION_CHARS: ${RENDERER_MAX_OPTION_CHARS:-40} # every ${VAR} referenced here as a setting, so to override one, add it
# here as a literal, e.g. RENDERER_MAX_OPTIONS: "48".
expose: expose:
- "3000" - "3000"
healthcheck: healthcheck:
+6 -2
View File
@@ -62,8 +62,12 @@ to it.
Renderer tuning (`RENDERER_MAX_CONCURRENT_RENDERS`, Renderer tuning (`RENDERER_MAX_CONCURRENT_RENDERS`,
`RENDERER_RENDER_TIMEOUT_MS`, `RENDERER_MAX_OPTIONS`, `RENDERER_RENDER_TIMEOUT_MS`, `RENDERER_MAX_OPTIONS`,
`RENDERER_MAX_OPTION_CHARS`) can be set in Coolify too; the defaults are in `RENDERER_MAX_OPTION_CHARS`) is optional and needs nothing in Coolify: the
[`renderer/docs/deployment.md`](../renderer/docs/deployment.md). Give the host renderer's defaults apply, listed in
[`renderer/docs/deployment.md`](../renderer/docs/deployment.md). Coolify lists
every `${VAR}` that `compose.yml` references as a setting, so the tuning values
are deliberately not referenced there; to override one, add it to the
`renderer` service's `environment:` in `compose.yml` as a literal value. Give the host
1-2 GB of headroom for the renderer's Chrome. 1-2 GB of headroom for the renderer's Chrome.
Outside compose, set `RENDERER_URL` to the base URL of any service that Outside compose, set `RENDERER_URL` to the base URL of any service that
+3 -2
View File
@@ -39,8 +39,9 @@ RENDERER_MAX_OPTIONS=32
RENDERER_MAX_OPTION_CHARS=40 RENDERER_MAX_OPTION_CHARS=40
``` ```
The root `compose.yml` forwards the tuning values with `${VAR:-default}` An unset or empty variable uses the default above. The root `compose.yml`
fallbacks, so unset or empty variables use the defaults above. sets only `RENDERER_HOST` and `RENDERER_PORT`, so the tuning values use these
defaults unless added there.
Start with 1-2 vCPU and 1-2 GB RAM. Increase only after render benchmarks show Start with 1-2 vCPU and 1-2 GB RAM. Increase only after render benchmarks show
the service is CPU-bound or concurrency-limited. the service is CPU-bound or concurrency-limited.