# Channel overlay for side-by-side stable / bleeding-edge stacks. # # The base docker-compose.yml is channel-agnostic. This overlay adds only the # pieces that differ between a stable (main) and an edge (dev-be) stack so the # two can run at once on one dev workstation without colliding: # # - SHOPDB_ENV_LABEL is passed into the api container. When non-empty the # public settings endpoint surfaces it as env_label and the sidebar renders # a red DEV badge. Stable leaves it unset, so nothing renders. # - Ports fall back to the SAME defaults as the base file, so running this # overlay alone changes nothing; the bootstrap script overrides API_PORT / # MYSQL_PORT for the edge stack so both channels bind distinct host ports. # # The stacks are isolated by compose project name (-p shopdb-stable / # -p shopdb-edge), which namespaces containers, networks, and the named # volumes, so each channel keeps its own database and instance state. # # Usage (driven by scripts/dev-bootstrap.ps1, shown here for reference): # docker compose -p shopdb-edge \ # -f docker-compose.yml -f docker-compose.channel.yml up -d services: api: environment: # Empty on stable. The edge stack sets SHOPDB_ENV_LABEL=DEV in its .env # (written by the bootstrap script) to light up the badge. SHOPDB_ENV_LABEL: ${SHOPDB_ENV_LABEL:-}