Files
NextChair/stacks/blake-heritage/compose.yaml
T
Stefan Lazic 4763b50e62
CI / ci (push) Canceled after 0s
Dockge Removal
Removed dockge from the app as it is not required due to the manager page picking up most of its abilities.
2026-09-06 18:33:01 +01:00

56 lines
1.9 KiB
YAML

name: next-chair-blake-heritage
# One business's app container on the shared multi-business VPS setup —
# see stacks/infra/compose.yaml for the shared MySQL/Caddy this attaches
# to, and that file's header for the exact one-time setup steps
# (create this business's database, copy .env.business.example, add a
# Caddy site file) needed before this file can start.
#
# docker compose -f stacks/blake-heritage/compose.yaml --env-file stacks/blake-heritage/.env up -d
#
# `stacks/marios/compose.yaml` is the identical shape for the second
# business — this is also the shape the management UI (manager/)
# generates for every new business it provisions.
#
# Uses the shared prebuilt image (see the repo root's README/Dockerfile —
# `docker build -t nextchair-app:latest .` once per code update) rather
# than building from source per business, so adding or updating a
# business is just starting/recreating a container, not a rebuild.
services:
next-chair-blake-heritage:
image: nextchair-app:latest
container_name: next-chair-blake-heritage
restart: unless-stopped
env_file:
- .env
volumes:
- next-chair-media-blake-heritage:/app/storage/media
healthcheck:
# No curl/wget in the node:22-alpine base image — a plain Node
# request avoids adding a package just for this. See
# src/app/api/health/route.ts: healthy as soon as the database is
# reachable, even before installation completes.
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:
- next-chair-edge
volumes:
next-chair-media-blake-heritage:
name: next-chair-media-blake-heritage
networks:
next-chair-edge:
name: next-chair-edge
external: true