Conversation
- BASE_PATH env var sets the Vite base, manifest start_url/scope and the SW navigateFallback (defaults to /multimeter/, so the Pages build is unchanged). The DSEG7 font URL is base-relative now (Vite prefixes the base). - Dockerfile: pnpm build of apps/web + unprivileged nginx on :8080, served at / by default (--build-arg BASE_PATH=/multimeter/ for a subpath). - docker.yml: publishes ghcr.io/libreble/multimeter (amd64 + arm64) with GITHUB_TOKEN on main and v* tags; PRs build and run docker/smoke.sh. - README: Self-host section.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Makes the Multimeter web app easy to self-host. Same shape as libreble/brushlog#1.
BASE_PATHbuild env (read vialoadEnv, so no Node types needed inapps/web) sets Vitebase, manifeststart_url/scopeand WorkboxnavigateFallback. Default stays/multimeter/— Pages build unchanged (verified manifest scope and the font URL).url('/multimeter/fonts/…')→url('/fonts/…'); Vite prefixes the base (built CSS:/multimeter/fonts/…on Pages,/fonts/…at/).pnpm --filter web build→nginx-unprivilegedon:8080, app at/(or--build-arg BASE_PATH=/multimeter/)..github/workflows/docker.yml— pushesghcr.io/libreble/multimeter(amd64+arm64) withGITHUB_TOKENonmain/v*tags. PRs build + rundocker/smoke.shonly.## Self-host. (The<noscript>SEO fallback was already here.)Local: 614 tests, typecheck, prettier green; eslint has the 2 existing warnings only. Both images pass the smoke test, font served 200 in both.
After the first push to
main: set the GHCR package to Public.