Built from source via a git submodule pinned to a tag, not a published image — the Dockerfile, main.ts, and manifest should never need to change for an ordinary version bump, only the submodule pin (see UPDATING.md). One volume, one interface serving the browser client + lobby/intent API + SSE stream from a single origin, no dependencies. The server-wide join secret (D14) is seeded on install, exposed via the Get Join Secret action, and blocks start behind a critical task until retrieved — the same first-set/rotation pattern as actual-budget-startos's admin password. Verified on phoenix.local: installs, the critical task correctly blocks an ordinary start, force-starting confirms the daemon binds its port and serves the client, and store.json correctly holds the install-seeded join secret. Not verified: the Get Join Secret action's execution end-to-end — start-cli's `package action run` fails with a client-side deserialization error that reproduces identically against actual-budget's already-shipped equivalent action, so this looks like a start-cli issue rather than a defect here. icon.svg is still the scaffold's hello-world placeholder — no real Station Master icon exists yet to ship in its place.
9 lines
501 B
TypeScript
9 lines
501 B
TypeScript
// Station Master's server default (src/server/index.ts's `PORT` fallback) — kept identical here
|
|
// so the env var below is documentation, not a real override.
|
|
export const uiPort = 8081
|
|
|
|
// Where the volume is mounted inside the subcontainer, and so also `DATA_DIR`'s value. The
|
|
// server's own per-game persistence (`games/<gameId>/`, `index.json`) and this package's
|
|
// store.json (the join secret) share this one directory — see README's Volume and Data Layout.
|
|
export const dataDir = '/data'
|