31 lines
1.3 KiB
Markdown
31 lines
1.3 KiB
Markdown
# Mini PC web stack
|
|
|
|
The Mini PC stack joins the host's existing Traefik `proxy` network and proxies
|
|
the frozen API paths through nginx. It does not run its own Traefik instance,
|
|
PostgreSQL, the API, or the load generator.
|
|
|
|
Export the following values in the operator shell or service manager:
|
|
|
|
```text
|
|
WEB_HOST public dashboard hostname; defaults to nereus.fiwlabs.dev
|
|
CLUSTER_API_UPSTREAM cluster address and port, without a URL scheme
|
|
WEB_ASSET_PATH asset path relative to the build context; defaults to apps/web
|
|
```
|
|
|
|
Do not put these values in a repository `.env` file. Start the isolated stack
|
|
from the repository root:
|
|
|
|
```sh
|
|
docker compose -f build/compose.mini.yaml up -d --build
|
|
```
|
|
|
|
The Mini PC keeps the static assets directly in `~/Server/web/nereus`. Copy the
|
|
three build files into its `build/` directory, set `WEB_ASSET_PATH=.` when
|
|
building there, and join the existing external `proxy` network. The existing
|
|
Traefik instance supplies the `websecure` entrypoint and `porkbun` certificate
|
|
resolver; do not start a second proxy on ports 80 and 443.
|
|
|
|
When the cluster is unavailable, nginx continues serving the dashboard and
|
|
returns a gateway failure only for `/api/v1/*`, `/healthz`, and `/readyz`. The
|
|
browser keeps polling those relative paths and recovers when the cluster is
|
|
reachable again.
|