Initial deploy-only compose for the McDowall instance

Reuses the power-compare image with its own port, env, and data volume.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
dlawler489 2026-09-09 12:01:55 +10:00
commit 0908e77378
2 changed files with 45 additions and 0 deletions

26
README.md Normal file
View file

@ -0,0 +1,26 @@
# power-compare-mcdowall
Deploy-only repo for a second, fully independent instance of
[power-compare](https://git.plexultra.com/dlawler489/power-compare), pointed
at the McDowall plant instead of Kallangur.
It has no source of its own -- it just pulls the same built image
(`git.plexultra.com/dlawler489/power-compare:main`) and runs it with its own
`.env`, its own database, and its own port (44597). A code change to
power-compare only needs pushing there; redeploying this stack picks up the
new image automatically.
Setup for a fresh deploy:
1. Deploy this stack via the stack manager.
2. Create `/app/data/power-compare-mcdowall-persistent/.env` (as seen inside
the stack manager's own container) with the real config -- see
power-compare's `.env.example` for the shape. Use the same
`ISOLARCLOUD_APP_KEY` / `ISOLARCLOUD_APP_SECRET` / `ISOLARCLOUD_OAUTH_APP_ID`
as the Kallangur instance (same developer app registration, same
account) -- leave `ISOLARCLOUD_PLANT_ID` blank and pick McDowall from the
plant list in Settings after connecting, since one account can see both
plants. Set `POSTCODE` to McDowall's.
3. Redeploy so the container picks up the `.env`.
4. Open Settings, connect the OAuth flow (this instance has its own
database, so it needs its own one-time connect even though it's the same
account), and pick the McDowall plant from the list.

19
docker-compose.yml Normal file
View file

@ -0,0 +1,19 @@
services:
power-compare-mcdowall:
image: git.plexultra.com/dlawler489/power-compare:main
ports:
- "44597:8000"
env_file:
# See the power-compare repo's docker-compose.yml for why this is an
# /app/data/... path rather than a real host path: the stack manager
# runs `docker compose` inside its own container, so paths here
# resolve against ITS filesystem (mounted from
# /Users/davidlawler/docker/dockhand on the host), not the real host's.
- /app/data/power-compare-mcdowall-persistent/.env
environment:
- DB_PATH=/data/power_compare.db
volumes:
# Bind-mount SOURCE, by contrast, is resolved by the real Docker
# daemon against the actual host filesystem -- a real host path.
- /Users/davidlawler/docker/power-compare-mcdowall-data/data:/data
restart: unless-stopped