Maize MVP (single-script deployment)
Use the Maize MVP repository to bring up all Maize components with one script. This path is the fastest way to get a working demo; it provisions Keycloak automatically as part of the run.
Repository
- Maize MVP repo: https://github.com/datacrop/maize-mvp (use your fork/URL if different).
Prerequisites
- Docker installed on the host.
- Network/ports open for Keycloak, Airflow, Worker, Model Repository, and Workflow Editor.
Configure environment variables
- Clone the MVP repository and
cdinto it. - For each component subfolder (Keycloak, Airflow, Worker, Model Repository, Workflow Editor, etc.), open its
.envor config file and adjust values for your environment (IP/hostnames, ports, credentials where applicable). - Use the corresponding manual pages for variable meanings if needed:
Run the setup script
- In the repo root, run the provided setup script (typically
./scripts/setup.sh; mark executable first if needed:chmod +x scripts/setup.sh). - The script will run
docker compose upfor all components. Wait until containers are healthy.
Verify the deployment
- Check containers:
docker ps --filter name=keycloakdocker ps --filter name=airflowdocker ps --filter name=workerdocker ps --filter name=wme(model repo)docker ps --filter name=wme-ui(workflow editor)
- Open the Workflow Editor UI at
http://<WME_UI_HOST>:5173/MainPage/Warehouseand confirm it loads.
Post-deployment (required)
After the Workflow Editor UI is reachable:
- Log in via Keycloak.
- Go to Settings in the editor UI.
- (Optional) Add predefined processor definitions by placing
extra-processors.jsonin the Model Repository component’sconfig/folder (copy fromextra-processors.example.json) before running the MVP script / before initialization (see Model Repository Setup for schema details). - Click Initialize resources (see Workflow Editor Setup for details).
- This creates the base resources and any extra processors defined via the Model Repository. Skipping this leaves the system uninitialized.
Notes on Keycloak
- In the MVP path, Keycloak is provisioned/configured automatically by the script; you do not need a pre-existing Keycloak instance.
- If you need to customize Keycloak manually, refer to the Keycloak Setup page.