Follows the config-driven-badge decision through to packaging: a single channel-parameterized builder emits two distinct installers (stable from main, edge from dev-be) rather than two drifting scripts. Each package ships the image bundle, the airgap+channel compose templates, a pre-filled .env, and a one-command site installer. Secrets ship as CHANGE_ME_* sentinels and Install-ShopDB.ps1 refuses to start until every one is rotated, so a distributable can never come up on shipped credentials. docker-compose.airgap.yml now threads SHOPDB_ENV_LABEL through the shared app-env anchor, otherwise a distributed edge stack would run the badge-capable image but never light the badge. get.ps1 is the web launcher that makes the iex one-liners work: dev-bootstrap.ps1 operates on a local clone, so get.ps1 clones/updates the channel branch and hands off. docs/DEV-BUILD-TEST.md is the short reviewer handout with the two one-liners for Cameron to try.
1.1 KiB
1.1 KiB
ShopDB dev build - quick test
Two dev builds you can stand up on a Windows box with Docker Desktop. Each is a single PowerShell line: it clones the repo, checks your dependencies (offers to winget-install anything missing), then builds and starts the stack in Docker.
Stable (main)
$env:SHOPDB_CHANNEL='stable'; iex (irm https://raw.githubusercontent.com/ge-aero/shopdb-flask/wilm/scripts/get.ps1)
Comes up at https://localhost:5001. No DEV badge.
Bleeding edge (dev-be)
$env:SHOPDB_CHANNEL='edge'; iex (irm https://raw.githubusercontent.com/ge-aero/shopdb-flask/wilm/scripts/get.ps1)
Comes up at https://localhost:5011. Red DEV badge in the sidebar.
Notes
- You need Git and Docker Desktop. If Git is missing, install it first
(
winget install Git.Git); the script handles the rest with a prompt. - Both builds can run at the same time - they use different ports and separate Docker volumes, so they do not collide and each keeps its own database.
- First page load shows a self-signed cert warning (expected for a dev box).
- Stop a stack:
docker compose -p shopdb-stable down(orshopdb-edge).