Attempt 2 of a management ui.
This commit is contained in:
54 files changed
+8804
-267
No files matched your search
+14
-15
@@ -1,10 +1,11 @@
|
||||
# One business's config on the shared multi-business VPS setup — see
|
||||
# docker-compose.infra.yaml for the one-time setup this depends on
|
||||
# stacks/infra/compose.yaml for the one-time setup this depends on
|
||||
# (creating this business's database on the shared MySQL server) and
|
||||
# docker-compose.<business>.yaml for how this file is used. Copy this to
|
||||
# `.env.business.<slug>` (e.g. `.env.business.blake-heritage` — kept out
|
||||
# of git, see .gitignore) per business and fill in real values. Nothing
|
||||
# here is a real credential.
|
||||
# stacks/<slug>/compose.yaml for how this file is used. Copy this to
|
||||
# `stacks/<slug>/.env` (e.g. `stacks/blake-heritage/.env` — kept out of
|
||||
# git, see .gitignore) per business and fill in real values. Nothing here
|
||||
# is a real credential. Normally the management UI (manager/) generates
|
||||
# this file for you — this template is for the by-hand setup path.
|
||||
#
|
||||
# The app starts and runs a complete first-install flow with ONLY the
|
||||
# "Required for basic startup" section below filled in — every other
|
||||
@@ -12,17 +13,16 @@
|
||||
# disabled state rather than crashing when its variables are left blank.
|
||||
|
||||
# ── Required for basic startup ─────────────────────────────────────────
|
||||
# The public domain this business is served on — used by Traefik's
|
||||
# routing label (see docker-compose.<business>.yaml) to decide which
|
||||
# container handles requests for it, so this must be set and must match
|
||||
# the domain's real DNS (pointed at the VPS) before Traefik can issue a
|
||||
# The public domain this business is served on — must match the .caddy
|
||||
# site file's own domain (see stacks/infra/sites/.gitkeep) and that
|
||||
# domain's real DNS (pointed at the VPS) before Caddy can issue a
|
||||
# certificate for it.
|
||||
DOMAIN="blake-heritage.example.com"
|
||||
|
||||
# The app reaches MySQL via the shared infra's service hostname
|
||||
# `next-chair-mysql`, never `localhost` — see docker-compose.infra.yaml.
|
||||
# `next-chair-mysql`, never `localhost` — see stacks/infra/compose.yaml.
|
||||
# DATABASE_NAME/USER/PASSWORD must match exactly what you created for
|
||||
# this business on the shared server (see docker-compose.infra.yaml's
|
||||
# this business on the shared server (see stacks/infra/compose.yaml's
|
||||
# "CREATE DATABASE ..." step) — this file doesn't create them, it only
|
||||
# tells the app what to connect as.
|
||||
DATABASE_HOST="next-chair-mysql"
|
||||
@@ -44,10 +44,9 @@ INSTALLATION_TOKEN="replace-me"
|
||||
CRON_SECRET="replace-me"
|
||||
|
||||
# ── Super Administrator (optional — see scripts/ensure-super-admin.ts) ──
|
||||
# Platform-level account with every Owner permission. Not run
|
||||
# automatically by this compose file (that's a Docker-entrypoint-only
|
||||
# behaviour, see docker/entrypoint.sh) — run it manually, once, the same
|
||||
# way migrations were run for the Vercel/Hostinger deployment earlier:
|
||||
# Platform-level account with every Owner permission for THIS business.
|
||||
# Not run automatically by this compose file (that's a Docker-entrypoint-
|
||||
# only behaviour, see docker/entrypoint.sh) — run it manually, once:
|
||||
# docker exec -it next-chair-blake-heritage npx tsx scripts/ensure-super-admin.ts
|
||||
# Leave SUPER_ADMIN_EMAIL blank to skip entirely and use the /install
|
||||
# wizard's own administrator account instead.
|
||||
|
||||
Reference in new issue
Block a user