Environment variables¶
All runtime configuration is provided through environment variables in the .env file at the root
of the repository. Copy .env.example as a starting point:
cp .env.example .env
Frontend build arguments¶
These are injected at build time by Vite and baked into the static bundle. Changing them requires a rebuild.
In this repository, Compose derives these from server-side variables:
Build arg |
Derived from |
Description |
|---|---|---|
|
|
Enables demo login buttons in the frontend login page. |
|
|
Enables the non-demo login provider button in the frontend. |
Docker image tagging¶
Variable |
Default |
Description |
|---|---|---|
|
|
Tag applied to all Docker images built by Compose ( |
EPICS settings¶
Consumed by the weiss-epicsws service.
Variable |
Default |
Description |
|---|---|---|
|
|
Protocol used when a PV name has no |
|
|
Standard EPICS_CA_ADDR_LIST env variable. See EPICS docs for reference. |
|
|
Standard EPICS_CA_AUTO_ADDR_LIST env variable. See EPICS docs for reference. |
|
|
Standard EPICS_CA_MAX_ARRAY_BYTES env variable. See EPICS docs for reference. |
|
|
Standard EPICS_PVA_ADDR_LIST env variable. See EPICS docs for reference. |
|
|
Standard EPICS_PVA_AUTO_ADDR_LIST env variable. See EPICS docs for reference. |
|
|
Max rate at which updates for a single PV are forwarded to clients. |
Note
To receive PV traffic from IOCs outside of localhost, add the IOC host or subnet broadcast address
to the relevant address list. One may also choose to use a PVA or CA gateway as needed. More details
in EPICS docs
HTTPS settings¶
Consumed by both weiss (nginx) and weiss-api (FastAPI CORS and cookie flags).
Variable |
Default |
Description |
|---|---|---|
|
|
Set to true to enable HTTPS and mark session cookies as |
|
|
Path on the host to the full-chain TLS certificate (PEM). Mounted read-only into the container. |
|
|
Path on the host to the TLS private key (PEM). Mounted read-only into the container. |
|
|
Hostname under which the app is served. Used by nginx |
|
(unset) |
Hostname under which the documentation is served. When set, nginx adds a proxy block for it pointing to the docs container (port 8001). Requires running the docs service separately. Leave unset if you are not serving the docs. |
API settings¶
Consumed by the weiss-api service.
SSO authentication¶
Required when DEMO_MODE=false or when OAuth login is desired alongside demo mode. See
Organization credentials for setup instructions.
Variable |
Default |
Description |
|---|---|---|
|
|
When |
|
(none) |
Application (client) ID from the client registration. |
|
(none) |
Client secret value from the client registration. |
|
(none) |
OAuth2/OpenID Connect issuer URL. |
|
|
Auth provider module to use for non-demo logins. Must map to a file in |
Note
For now, the default implementation is generic OAuth2/OIDC (oauth), which should cover most common
cases. The architecture supports additional providers via api.auth.providers. Any provider
implementation must inherit from api.auth.providers.generic.GenericProvider.
Technical account (git commits)¶
Required for commit and push operations from the staging editor. See Using Git for setup instructions.
Variable |
Default |
Description |
|---|---|---|
|
(none) |
Technical account token (PAT) with repository write permission. |
|
|
Technical account username. Used for commit history logs |
|
|
Technical account email. Used for commit history logs |
User roles¶
Controls the path of the roles.toml file that defines which users have the developer role. See
User roles for full setup instructions.
Variable |
Default |
Description |
|---|---|---|
|
|
Path on the host to the roles config file. Mounted read-only into the API container at startup. |