feat(brand): BRAND_* env scheme — instance branding without a rebuild #68
Reference in New Issue
Block a user
No description provided.
Delete Branch "feature/brand-env"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Repo reorg Phase 4 — replace baked-in
UOM/MysticMoon/UOMysticmoonbranding with aBRAND_*env scheme. One prebuilt image runs as any shard; UOMysticmoon becomes the first tenant that sets these vars, not a special case in the code.Architecture (app ships as a prebuilt image, so no build-time
VITE_vars)server/src/config/brand.js+bot/src/brand.jsreadBRAND_*once at boot, Runic Gateway defaults.settings.model.getPublic→SiteContext) — no client rebuild. The admin-editable site title + contact email still overrideBRAND_NAME/BRAND_CONTACT_EMAIL.SiteContextappliesBRAND_ACCENT_COLORto the--accentCSS var at runtime.index.html<title>/description/OG/favicon at serve time (renderIndexHtml).Assets
Logo/hero/favicon from a
./brand:/app/brandbind-mount (BRAND_LOGO/HERO/FAVICON), neutral defaults baked in; hero falls back to a built-in image when unset.Full scope (per decision)
Also genericized package.json names (
uomysticmoon-*→runic-gateway-*, incl. lockfiles) and theDB_NAME/DB_USER/COOKIE_NAMEcode defaults (runic_gateway/runic/rg_token).BRAND_*schemaBRAND_NAME,BRAND_SHORT_NAME,BRAND_TAGLINE,BRAND_DESCRIPTION,BRAND_CONTACT_EMAIL,BRAND_URL,BRAND_ACCENT_COLOR,BRAND_LOGO,BRAND_HERO,BRAND_FAVICON. Documented in.env.example+ README Branding section.Verified
app.jsloads and templates the builtindex.htmlwithout throwingBRAND_NAME)uomm_token/UOMysticmoon)Left intentionally: test fixtures using
UOMysticmoon/uom.exampleas sample data, and theuomysticmoon-main-hero.pngasset (referenced by the UOMysticmoonBRAND_HERO).🤖 Generated with Claude Code