40 lines
1.5 KiB
YAML
40 lines
1.5 KiB
YAML
name: next-chair-manager
|
|
|
|
# The management UI (see manager/ at the repo root — its own README
|
|
# explains why it's a fully separate app). Its own stack, separate from
|
|
# stacks/infra/compose.yaml, since this is real application code that
|
|
# gets rebuilt/updated far more often than the off-the-shelf infra
|
|
# images (MySQL, Caddy, Dockge) — a code change here shouldn't require
|
|
# touching the infra stack at all.
|
|
#
|
|
# cp manager/.env.example stacks/manager/.env (then fill in real values)
|
|
# docker compose -f stacks/manager/compose.yaml --env-file stacks/manager/.env up -d --build
|
|
#
|
|
# Requires stacks/infra/compose.yaml to already be running (shared MySQL,
|
|
# Caddy, network). Add a Caddy site for it the same way as any business —
|
|
# see stacks/infra/sites/.gitkeep — pointed at `next-chair-manager:3000`.
|
|
|
|
services:
|
|
manager:
|
|
build:
|
|
context: ../../manager
|
|
dockerfile: Dockerfile
|
|
container_name: next-chair-manager
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
# MUST be mounted at the identical absolute path on both host and
|
|
# container — see manager/.env.example's STACKS_DIR comment. This
|
|
# is how the manager writes new business stacks and shells `docker
|
|
# compose` against them via the socket above.
|
|
- "${STACKS_DIR}:${STACKS_DIR}"
|
|
networks:
|
|
- next-chair-edge
|
|
|
|
networks:
|
|
next-chair-edge:
|
|
name: next-chair-edge
|
|
external: true
|