Configuration¶
Desktop app¶
Backend URL¶
The app looks for the backend in this order and uses the first one that is set:
- the
-Dqclm.api.url=…JVM option - the
QCLM_API_URLenvironment variable - Customize → Backend → Server URL in the app
- the default,
http://localhost:8080/api/v1
The value must include the /api/v1 suffix. A change in Customize applies immediately, without restarting.
Options 1 and 2 are useful for scripted or managed installs:
Where settings are stored¶
The app stores its settings with Java Preferences:
| OS | Location |
|---|---|
| macOS | ~/Library/Preferences/com.apple.java.util.prefs.plist |
| Windows | Registry, HKEY_CURRENT_USER\Software\JavaSoft\Prefs\edu\uiuc\qclm |
| Linux | ~/.java/.userPrefs/edu/uiuc/qclm/ |
The batch job queue is stored in ~/.qclm/.
Backend¶
Set these in a .env file next to docker-compose.yml, then run docker compose up -d again.
| Variable | Default | Meaning |
|---|---|---|
QCLM_VERSION |
latest |
Image tag to run, for example 2026.1.0 |
QCLM_BIND |
127.0.0.1 |
Interface the gateway listens on. Use 0.0.0.0 to allow other machines; see Using a shared lab server. |
QCLM_PORT |
8080 |
Gateway port on the host |
Advanced¶
Each service is a Spring Boot application, so any setting in its configuration can be overridden with an environment variable in docker-compose.yml. For example:
| Service | Variable | Meaning |
|---|---|---|
data-service |
QCLM_STORAGE_TYPE |
local (Docker volume, the default) or s3. With s3, also set QCLM_STORAGE_S3BUCKET, QCLM_STORAGE_S3REGION and, for S3-compatible stores, QCLM_STORAGE_S3ENDPOINT. |
acquisition-service |
QCLM_HARDWARE_MODE |
simulated (the only mode available today) |
api-gateway |
QCLM_GATEWAY_SECURITY_ENABLED |
true requires a JWT on every request. You also need an OAuth2/OIDC provider, set with QCLM_JWT_ISSUER_URI and QCLM_JWT_JWK_SET_URI. |
api-gateway |
QCLM_GATEWAY_RATELIMIT_REQUESTSPERSECOND |
Rate limit, 50 by default |
Ports¶
Only the gateway is published on the host. The other services talk to each other on Docker's internal network.
| Service | Internal port |
|---|---|
| api-gateway | 8080 (published) |
| metadata-service | 8081 |
| data-service | 8082 |
| acquisition-service | 8083 |
| processing-service | 8084 |
| inference-service | 8085 |
| experiment-service | 8086 |
| kafka | 9092 |
| postgres | 5432 |