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,5 @@
|
||||
{
|
||||
email {$ACME_EMAIL}
|
||||
}
|
||||
|
||||
import /etc/caddy/sites/*.caddy
|
||||
@@ -0,0 +1,30 @@
|
||||
name: nextchair-caddy
|
||||
|
||||
services:
|
||||
nextchair-caddy:
|
||||
image: caddy:2.10-alpine
|
||||
container_name: nextchair-caddy
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile:ro
|
||||
- ./sites:/etc/caddy/sites:ro
|
||||
- nextchair-caddy-data:/data
|
||||
- nextchair-caddy-config:/config
|
||||
networks:
|
||||
- nextchair-proxy
|
||||
|
||||
volumes:
|
||||
nextchair-caddy-data:
|
||||
name: nextchair-caddy-data
|
||||
nextchair-caddy-config:
|
||||
name: nextchair-caddy-config
|
||||
|
||||
networks:
|
||||
nextchair-proxy:
|
||||
name: nextchair-proxy
|
||||
external: true
|
||||
Whitespace-only changes.
@@ -0,0 +1,31 @@
|
||||
name: nextchair-infra
|
||||
|
||||
services:
|
||||
nextchair-mysql:
|
||||
image: mysql:8.0
|
||||
container_name: nextchair-mysql
|
||||
restart: unless-stopped
|
||||
env_file:
|
||||
- ../../.env.infra
|
||||
command: --character-set-server=utf8mb4 --collation-server=utf8mb4_0900_ai_ci
|
||||
ports:
|
||||
- "${MYSQL_HOST_PORT:-127.0.0.1:3306}:3306"
|
||||
volumes:
|
||||
- nextchair-mysql-data:/var/lib/mysql
|
||||
healthcheck:
|
||||
test: ["CMD", "mysqladmin", "ping", "-h", "127.0.0.1", "-u", "root", "-p${MYSQL_ROOT_PASSWORD:-change-me-too}"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 20
|
||||
start_period: 10s
|
||||
networks:
|
||||
- nextchair-db
|
||||
|
||||
volumes:
|
||||
nextchair-mysql-data:
|
||||
name: nextchair-mysql-data
|
||||
|
||||
networks:
|
||||
nextchair-db:
|
||||
name: nextchair-db
|
||||
external: true
|
||||
Reference in new issue
Block a user