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
@@ -0,0 +1,35 @@
|
||||
name: nextchair-${BUSINESS_SLUG}
|
||||
|
||||
# Generated by scripts/create-business.sh. Keep this file self-contained so
|
||||
# Dockge can operate this business independently.
|
||||
|
||||
services:
|
||||
nextchair-${BUSINESS_SLUG}:
|
||||
image: ${NEXTCHAIR_IMAGE:-nextchair:latest}
|
||||
container_name: nextchair-${BUSINESS_SLUG}
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- nextchair-media-${BUSINESS_SLUG}:/app/storage/media
|
||||
healthcheck:
|
||||
test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/api/health', r => process.exit(r.statusCode === 200 ? 0 : 1)).on('error', () => process.exit(1))"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 20s
|
||||
networks:
|
||||
- nextchair-proxy
|
||||
- nextchair-db
|
||||
|
||||
volumes:
|
||||
nextchair-media-${BUSINESS_SLUG}:
|
||||
name: nextchair-media-${BUSINESS_SLUG}
|
||||
|
||||
networks:
|
||||
nextchair-proxy:
|
||||
name: nextchair-proxy
|
||||
external: true
|
||||
nextchair-db:
|
||||
name: nextchair-db
|
||||
external: true
|
||||
Reference in new issue
Block a user