# 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.
