Track paris-barbershop client stack + mailcow-admin playbook in git
Both existed only on the live server / untracked locally until now. Includes the open/closed status fix: the Filiale status badge was hardcoded as "Geöffnet · schließt um 20:00" regardless of actual time (caught showing "open" at 3am) -- now computed against the shop's own Europe/Berlin clock and real weekly hours. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Per-client stack — ONE isolated static-site container per business client.
|
||||
#
|
||||
# Each client is its own Compose project (name: smb-client-<slug>), so they
|
||||
# start / stop / update / remove fully independently and never share state.
|
||||
# Booking is handled by the client's own Google Calendar Appointment Schedule
|
||||
# (no container), and leads/bookings flow into the shared CRM via the n8n
|
||||
# webhooks baked into the client's page — so this stack only serves the site.
|
||||
#
|
||||
# Don't edit this file per client. Copy the folder with ../new-client.sh, which
|
||||
# fills .env (CLIENT_SLUG, CLIENT_DOMAIN) and seeds site/.
|
||||
name: smb-client-${CLIENT_SLUG}
|
||||
|
||||
services:
|
||||
site:
|
||||
image: nginx:1.27-alpine
|
||||
container_name: client-${CLIENT_SLUG}
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./site:/usr/share/nginx/html:ro
|
||||
networks: [proxy] # shared with Caddy; reached as client-<slug>:80
|
||||
mem_limit: 64m # static nginx idles at a few MB; cap keeps the 16 GB box safe
|
||||
logging:
|
||||
driver: json-file
|
||||
options:
|
||||
max-size: "5m"
|
||||
max-file: "3"
|
||||
|
||||
networks:
|
||||
proxy:
|
||||
external: true
|
||||
Reference in New Issue
Block a user