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
deploy: ship the vault dependency, keep it opt-in (#106)
Declaring cryptography nowhere meant the credential vault was impossible
to enable in the bundled Docker image and systemd unit even with
WEBSH_VAULT_ENABLE=1 set — the HAS_CRYPTOGRAPHY gate kept it off. Ship the
dependency (requirements.txt; pip layer in the image, apt/pip step in the
install docs) and pre-provision a writable creds path (Docker /data volume,
systemd StateDirectory=websh — the standard writable-state mechanism under
the unit's ProtectSystem=strict hardening) so enabling the vault is a
one-line opt-in. WEBSH_VAULT_ENABLE stays off by default: turning persistent
server-side credential storage on is an operator's decision, not a
packaging side effect.
Also fixes the manual-install dependency step for PEP 668 (apt install
python3-cryptography) and documents Docker named-volume persistence
(-v websh-data:/data).
Copy file name to clipboardExpand all lines: docs/configuration.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ Environment variables for `server.py`:
10
10
|`MAX_SESSIONS`|`50`| Max concurrent SSH sessions |
11
11
|`MAX_SESSIONS_PER_IP`|`0`| Max concurrent sessions per source IP (`0` disables; counts foreground + background together) |
12
12
|`WEBSH_CONFIG`|*(unset)*| Path to `websh.json`. `server.py` loads a config only when this is set; the PHP proxy computes a default (`../../websh.json`). |
13
-
|`WEBSH_VAULT_ENABLE`|`0`| Set to `1` to enable the encrypted credential vault endpoints and saved-credential UI when`cryptography`is installed. See [`encryption.md`](encryption.md). |
13
+
|`WEBSH_VAULT_ENABLE`|`0`| Set to `1` to enable the encrypted credential vault endpoints and saved-credential UI (requires`cryptography`). The bundled `websh.service` and Docker image ship the dependency and a writable creds path, so enabling the vault there is a one-line opt-in. See [`encryption.md`](encryption.md). |
14
14
|`WEBSH_CREDS_PATH`|*(sibling of `WEBSH_CONFIG`)*| Path to the encrypted credential store `websh.creds.json`. See [`encryption.md`](encryption.md). Created lazily on first user save with mode `0600`. |
15
15
|`WEBSH_REQUIRE_VAULT`|`0`| Set to `1` to make legacy plaintext credentials in `websh.json` a fatal startup error (forces migration to the vault) instead of a warning. See [`encryption.md`](encryption.md). |
16
16
|`TRUSTED_PROXIES`|`127.0.0.1`| Comma-separated IPs to trust `X-Forwarded-For` from |
0 commit comments