Skip to main content

Configuration reference

Values in bold must be changed for every deployment (the MVP's setup.sh fills them from HOST_IP). Defaults shown are the .env.example values.

Root (maize-mvp/.env)​

VariableDefaultMeaning
HOST_IP—Address of the single host
DOCKER_BIN_PATH/usr/bin/dockerDocker binary mounted into Airflow
WME_SERVICE_TOKENgeneratedBackend ↔ worker secret
CREDENTIALS_ENCRYPTION_KEYgeneratedAES-256-GCM key for stored secrets

Model Repository​

VariableDefaultMeaning
SERVER_PORT9090API port
MAX_FILE_SIZE, MAX_REQUEST_SIZE200MB, 500MBUpload limits
WEBSERVER_DAGS_FOLDER../maize-processing-engine-airflow/dagsAirflow dags/ folder the backend writes into
WORKER_API_PORT8090Port of the worker agents
WORKER_API_CONNECT_TIMEOUT_MS, WORKER_API_READ_TIMEOUT_MS5000Agent call timeouts
WME_SERVICE_TOKEN—Required; same on every worker
CREDENTIALS_ENCRYPTION_KEY—Base64 32-byte key; without it secrets do not survive restarts
HARBOR_URL, HARBOR_USERNAME, HARBOR_TOKENemptyLegacy global registry login (per-user credentials live in Settings)
MONGO_USERNAME, MONGO_PASSWORD, MONGO_DATABASE, MONGO_PORTroot, rootpassword, registry, 27017MongoDB
MONGO_HOST—MongoDB host
KAFKA_BOOTSTRAP_SERVERSHOST:9092Bundled Kafka (default for new Kafka resources)
LOGSTASH_CONFIG_FOLDER, LOGSTASH_PIPELINE_FOLDER/app/logstash/config/, /app/logstash/pipeline/Where pipeline files are written
LOGSTASH_MONITORING_URLhttp://logstash:9600Pipeline stats
KEYCLOAK_ISSUER_URI, KEYCLOAK_JWK_SET_URI—Token validation
KEYCLOAK_PROVIDER, KEYCLOAK_CLIENT_NAME, KEYCLOAK_CLIENT_ID, KEYCLOAK_CLIENT_SECRET, KEYCLOAK_SCOPE, KEYCLOAK_USER_NAME_ATTRdatacrop-back, openid,offline_access,profile,roles, preferred_usernameOAuth client settings
ELASTIC_VERSION8.15.3Elastic stack version
ELASTIC_PASSWORD, LOGSTASH_INTERNAL_PASSWORD, KIBANA_SYSTEM_PASSWORD, *_INTERNAL_PASSWORD, BEATS_SYSTEM_PASSWORD—Elastic built-in users
KIBANA_PUBLIC_BASE_URLhttp://HOST:5601Kibana as seen by browsers
KIBANA_URL, KIBANA_USERNAME, KIBANA_PASSWORDhttp://kibana:5601, elasticKibana API used to build dashboards
AI_BASE_URL, AI_MODEL, AI_API_KEY, AI_TIMEOUT_SECONDS—, google/gemma-4-26B, —, 120Server-wide AI provider
AIRFLOW_BASE_URLhttp://HOST:8080/api/v1Airflow REST API
AIRFLOW_USERNAME, AIRFLOW_PASSWORDairflow / airflowAirflow API user
AIRFLOW_API_CONNECT_TIMEOUT_SECONDS, AIRFLOW_API_TIMEOUT_SECONDS5, 30Timeouts
FLOWER_BASE_URLhttp://HOST:5555Flower API (worker discovery)
FLOWER_USERNAME, FLOWER_PASSWORD, FLOWER_API_*_TIMEOUT_SECONDScelery, …, 5/30Flower access
ASSISTANT_SERVICE_KEY (Preview)—Shared by wme-server and assistant-runtime in this stack
ASSISTANT_CORS_ORIGINS (Preview)*Editor origins allowed to call assistant-runtime
ASSISTANT_RUNTIME_PORT (Preview)8200Host port of assistant-runtime
SPRING_MVC_ASYNC_REQUEST_TIMEOUT (Preview)300000Keeps long assistant responses open

Workflow Editor​

VariableMeaning
VITE_API_URLBackend URL
VITE_BACKEND_IP, VITE_AIRFLOW_IPBackend and Airflow hosts
VITE_KIBANA_URL, VITE_AKHQ_URLKibana and AKHQ URLs (defaults derived from the hosts above)
VITE_ASSISTANT_URL (Preview)assistant-runtime URL (default http://VITE_BACKEND_IP:8200)
VITE_KEYCLOAK_URLKeycloak base URL
VITE_KEYCLOAK_REALM, VITE_KEYCLOAK_CLIENT_IDdatacrop-Platform, datacrop-front
VITE_PROJECT_NAME, VITE_DEFAULT_PRIMARY_COLORBranding (DATACROP, #DA3333)

Airflow​

VariableDefaultMeaning
HOST_IP—This host
DOCKER_BIN_PATH/usr/bin/dockerDocker binary
AIRFLOW_HOSTNAME_CALLABLEairflow.utils.net.get_host_ip_addressHost identity for log fetching
AIRFLOW_WEB_PORT8080Web port
_AIRFLOW_WEB_UNAME, _AIRFLOW_WEB_PSSWDairflow / airflowWeb/API user
AIRFLOW_WEB_SECRET_KEY, AIRFLOW_FERNET_KEY—Must match workers
AIRFLOW_UID1002Folder owner
REDIS_TLS_PORT, POSTGRES_PORT6379, 5432Published ports workers connect to

Worker​

VariableDefaultMeaning
WORKER_NAMEremote_worker01Unique name and Celery queue
AIRFLOW_IP—Airflow host (Redis, Postgres)
HOST_IP—This host
WME_SERVICE_TOKEN—Same as backend
AIRFLOW_HOSTNAME_CALLABLEairflow.utils.net.get_host_ip_addressHost identity for log fetching
AIRFLOW_WEB_SECRET_KEY, AIRFLOW_FERNET_KEY—Same as Airflow
AIRFLOW_UID, AIRFLOW_GID50000, 0Folder owner

Keycloak (maize-mvp/Keycloak)​

VariableDefaultMeaning
HOST_IP—Used in the imported realm's URLs
KEYCLOAK_PORT8180Port
KEYCLOAK_ADMIN, KEYCLOAK_ADMIN_PASSWORDadmin / adminMaster admin
DATACROP_BACK_SECRET, AIRFLOW_WRAPPER_SECRETfixedClient secrets of the imported realm