Skip to content

feature/enhanced deploy - #52

Open
vinulw wants to merge 19 commits into
mainfrom
feature/enhanced-deploy
Open

feature/enhanced deploy#52
vinulw wants to merge 19 commits into
mainfrom
feature/enhanced-deploy

Conversation

@vinulw

@vinulw vinulw commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Enhanced deployment: selectable model sets and deployment-time overrides

Reworks install.sh and the compose layout so a deployment chooses its model set and overrides paths, images and published ports without editing tracked files.

Model sets

  • install.sh -m/--model-set <name> (default piwind, falling back to MODEL_SET in .env) resolves to docker-compose.models.<name>.yml and errors clearly if that file doesn't exist.
  • model-registration and piwind-worker move out of docker-compose.yml into the per-model-set files, so the base stack no longer carries model-specific services. Adds docker-compose.models.piwind.yml and docker-compose.models.scenarios.yml.
  • Adds get-piwind.sh / get-scenarios.sh, run automatically when present. get-scenarios.sh clones the Scenarios repo and pulls model files from S3 into SCENARIOS_PATH; both are idempotent.

Deployment overrides

  • UI mounts are variables defaulting to the in-repo paths: UI_DEFAULTS, UI_CONFIG, UI_STREAMLIT, and a new UI_ASSETS (ui_assets/, with a README describing the contract).
  • Traefik's published ports become OASIS_HTTP_PORT / OASIS_HTTPS_PORT / TRAEFIK_DASHBOARD_PORT, defaulting to 80 / 443 / 8090.
  • The UI image reference defaults to coreoasis/oasispythonui_app:latest, so .env no longer has to define it.
  • install.sh --build-ui rebuilds the UI image instead of pulling, and pull failures are suppressed rather than fatal. New Makefile targets: build, push, build_and_push, and the scenarios data-seeding targets.
  • install.sh also gains -u/--uninstall (stack down + volumes) and -h/--help, and rejects unknown options.

Also

  • Scenarios deployment split into a self-contained scenarios/ tree; the 13 analysis-settings files move from defaults/ and are trimmed to the fields the templates use.
  • Streamlit deprecations cleared: use_container_width=Truewidth='stretch'.

TODO

  • Update the docs. README.md is untouched and still describes the previous single-model, fixed-port install. Needs the new install.sh flags, the model-set compose + get-*.sh convention for adding a set, the UI_* overrides and ui_assets/, the Traefik port variables, the Makefile targets, and SCENARIOS_PATH.

@vinulw vinulw linked an issue Sep 1, 2026 that may be closed by this pull request
@vinulw vinulw self-assigned this Sep 1, 2026
@vinulw vinulw added the enhancement New feature or request label Sep 1, 2026
@vinulw
vinulw marked this pull request as ready for review September 1, 2026 14:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

enhance deployment

1 participant