You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Recommendation**: Use the default flags with `privileged: true` for best security. Only use truly unprivileged mode if you cannot enable privileged mode and understand the security tradeoffs.
139
141
142
+
#### Tini for signal handling
143
+
144
+
When PID namespace isolation is enabled and tini is available, Windmill uses [tini](https://github.com/krallin/tini) as PID 1 inside the namespace. Tini properly handles signal forwarding, which ensures:
- Signals are correctly forwarded to child processes
149
+
150
+
Tini is included in the official Windmill Docker images. If tini is not available, Windmill falls back to running without it (with a warning about potentially incorrect OOM exit codes).
151
+
152
+
You can customize the tini path:
153
+
154
+
```bash
155
+
UNSHARE_TINI_PATH=/custom/path/to/tini
156
+
```
157
+
140
158
### Failure behavior
141
159
142
160
If `ENABLE_UNSHARE_PID=true` but unshare is unavailable or fails, **the worker will panic at startup** with a detailed error message:
Copy file name to clipboardExpand all lines: docs/core_concepts/47_environment_variables/index.mdx
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,6 +27,7 @@ You can use them in a Script by clicking on "+Context Var":
27
27
| ENABLE_UNSHARE_PID | false (true in docker-compose) | Enable PID namespace isolation to protect process memory and environment variables. Linux only. See [Security and Process Isolation](/docs/advanced/security_isolation)| Worker |
28
28
| DISABLE_NSJAIL | true | NSJAIL sandboxing status. Default `true` means NSJAIL is **disabled**. Set to `false` to enable NSJAIL (requires `-nsjail` image). See [Security and Process Isolation](/docs/advanced/security_isolation)| Worker |
29
29
| UNSHARE_ISOLATION_FLAGS | --user --map-root-user --pid --fork --mount-proc | Customize unshare isolation flags when ENABLE_UNSHARE_PID is true. See [Security and Process Isolation](/docs/advanced/security_isolation)| Worker |
30
+
| UNSHARE_TINI_PATH | tini | Path to tini binary for PID 1 signal handling in unshare namespaces. Ensures correct OOM exit codes. See [Security and Process Isolation](/docs/advanced/security_isolation)| Worker |
30
31
| LICENSE_KEY (EE only) | None | License key checked at startup for the Enterprise Edition of Windmill | Worker |
31
32
| SLACK_SIGNING_SECRET | None | The signing secret of your Slack app. See [Slack documentation](https://api.slack.com/authentication/verifying-requests-from-slack)| Server |
32
33
| COOKIE_DOMAIN | None | The domain of the cookie. If not set, the cookie will be set by the browser based on the full origin | Server |
0 commit comments