Mindloom’s configuration is split across fourDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/No-Country-simulation/G9-LATAM-Team-58/llms.txt
Use this file to discover all available pages before exploring further.
.env files — one at the repo root for Docker Compose interpolation, and one inside each service directory for local development. The root .env is the only file Docker Compose reads directly; the service-level files exist so developers can export the right variables before running a service outside of Compose. None of these files are ever committed to the repository.
Root .env (Docker Compose interpolation)
The root .env.example documents every variable that docker-compose.yml interpolates at startup. Copy it to .env and fill in the secrets before running docker compose up for the first time:
| Variable | Example value | Description |
|---|---|---|
SPRING_DATASOURCE_URL | jdbc:oracle:thin:@techmind_tp?TNS_ADMIN=/app/wallet | Oracle ATP connection URL. Uses the TNS alias from the wallet’s tnsnames.ora. TNS_ADMIN must match the wallet mount point inside the container (/app/wallet). |
SPRING_DATASOURCE_USERNAME | ADMIN | Oracle DB username. |
SPRING_DATASOURCE_PASSWORD | (secret) | Oracle DB password. Never set a default; startup fails fast if this is blank when the db profile is active. |
OCI_NAMESPACE | (your namespace) | OCI Object Storage namespace. Found in the OCI Console under Tenancy Details. |
MODEL_BUCKET | techmind-data | Name of the OCI bucket that holds the model artifact and models/latest.txt. |
These variables are only used by Docker Compose during interpolation. Spring Boot reads them from the container’s
environment: block, not directly from the .env file. The SPRING_* variables use Spring’s relaxed binding (SPRING_DATASOURCE_URL → spring.datasource.url).API Service (api/)
The Spring Boot API has two property files: application.properties (always loaded) and application-db.properties (loaded only when SPRING_PROFILES_ACTIVE=db).
Default configuration (application.properties)
These settings are active in all environments, including scaffold mode:
INFERENCE_BASE_URL environment variable overrides inference.base-url at runtime. Inside the Compose network it is always set to http://inference:8000.
Database profile (application-db.properties)
Activated when SPRING_PROFILES_ACTIVE=db. This profile is always set in docker-compose.yml for the production deployment:
- Scaffold mode (no db profile)
- DB mode (profile = db)
When
SPRING_PROFILES_ACTIVE does not include db, the API starts cleanly with no database connection. All endpoints that depend on the database return 503 Service Unavailable. This is intentional: the API can run for inference-only workflows without a wallet or Oracle credentials.api/.env.example
Spring Boot does not load .env files natively. The api/.env.example file documents what environment variables to export before running the service locally outside of Docker Compose:
Inference Service (inference/)
The inference service is a Python FastAPI application. Its configuration is minimal because authentication on the OCI VM is handled automatically by Instance Principal.
inference/.env.example
- On the OCI VM (production)
- Local development
The VM uses Instance Principal authentication — no API key files, no OCI CLI secrets, and no Set
~/.oci/config are needed. The oci Python SDK detects the Instance Principal signer automatically when running on the VM:OCI_NAMESPACE and MODEL_BUCKET via the root .env. Do not set MODEL_LOCAL_PATH in production.Web Frontend (web/)
The React frontend is built with Vite. A single environment variable controls which API endpoint the browser calls:
web/.env.example
- Production
- Local development
In production, the nginx container reverse-proxies requests at
/api to the api container on the internal techmind network. The frontend is built with VITE_API_URL pointing to the relative /api path (or the public VM IP), so all API calls share the same origin as the page — no CORS headers are needed.Oracle Wallet
The Oracle Autonomous Database wallet is a zip archive downloaded from the OCI Console. It must be unzipped into./wallet/ relative to docker-compose.yml on the VM before starting the stack for the first time.
TNS_ADMIN environment variable inside the container must match the mount point. In docker-compose.yml this is set to /app/wallet, which is also the default set in the API’s Dockerfile:
SPRING_DATASOURCE_URL value uses the TNS alias techmind_tp from the wallet’s tnsnames.ora. Other available aliases from the wallet are techmind_high and techmind_tpurgent.
Configuration Summary
Root .env
Holds
SPRING_DATASOURCE_*, OCI_NAMESPACE, and MODEL_BUCKET. Read by Docker Compose for interpolation. Lives at ~/techmind/.env on the VM.api/.env.example
Documents variables for running the Spring Boot API locally outside Compose. Spring Boot does not load
.env natively — export the variables manually.inference/.env.example
Documents
MODEL_BUCKET and the optional MODEL_LOCAL_PATH shortcut for local development without OCI credentials.web/.env.example
Documents
VITE_API_URL — the API base URL baked into the React bundle at build time by Vite.