Implemented the deployment redesign. - Added Dockge-first-class stacks: - [stacks/infra/compose.yaml] - [stacks/caddy/compose.yaml] - Added reusable business template: [deploy/business-compose.yaml.template] - Added automated provisioning: [scripts/create-business.sh] - Added per-business database/user, secrets, media volume, private networks, and Caddy route generation. - Removed Traefik and manual business Compose files. - Updated environment templates, .gitignore, and deployment documentation in [README.md] Validation completed: - Docker Compose config passed for infra, Caddy, and generated business stacks. - Shell syntax validation passed. - Registry image tags containing / were tested. - No remaining Traefik or obsolete deployment references found.
This commit is contained in:
13 files changed
+289
-380
No files matched your search
+5
-20
@@ -1,20 +1,5 @@
|
||||
# Shared infrastructure config — see docker-compose.infra.yaml for the
|
||||
# full setup sequence. Copy this to `.env.infra` (kept out of git — see
|
||||
# .gitignore) and fill in real values.
|
||||
#
|
||||
# docker network create next-chair-edge
|
||||
# docker compose -f docker-compose.infra.yaml --env-file .env.infra up -d
|
||||
|
||||
# ── MySQL (shared server — one database per business, created manually
|
||||
# per business, see docker-compose.infra.yaml's own header) ────────────
|
||||
MYSQL_ROOT_PASSWORD="replace-me"
|
||||
# Host-machine port MySQL is reachable on, e.g. for a GUI client over an
|
||||
# SSH tunnel — every business's app container always reaches it via the
|
||||
# shared Docker network and the service name `next-chair-mysql`, never
|
||||
# this.
|
||||
MYSQL_HOST_PORT=3306
|
||||
|
||||
# ── Traefik (reverse proxy + automatic TLS via Let's Encrypt) ──────────
|
||||
# Let's Encrypt sends renewal/expiry notices here — use a real address
|
||||
# you actually check, not a placeholder.
|
||||
ACME_EMAIL="you@example.com"
|
||||
# Shared infrastructure config. Copy to `.env.infra`; the real file is
|
||||
# ignored by git and is also read by scripts/create-business.sh.
|
||||
MYSQL_ROOT_PASSWORD="replace-with-a-long-random-password"
|
||||
# Optional loopback-only port for an SSH tunnel or local admin tool.
|
||||
MYSQL_HOST_PORT=127.0.0.1:3306
|
||||
Reference in new issue
Block a user