Last verified: 2026-04-25 on Pop!_OS with Docker Compose and local Ollama.
- Docker Compose starts the full stack:
- dashboard on
http://localhost:3000 - public gateway on
http://localhost:8080 - admin gateway on
http://localhost:8081 - engine gRPC on
localhost:50051 - PostgreSQL on host port
55432 - Redis on host port
6379
- dashboard on
- Authenticated inference works through the full runtime path:
- client
curl - Go gateway
- Rust engine
- host Ollama via
host.docker.internal:11434 tinyllama
- client
- Public and admin health endpoints return
200 OK. - Engine connects to Redis and PostgreSQL and runs migrations.
- Gateway no longer panics on gRPC calls; Go protobuf stubs have been regenerated from
proto/vyse.proto. - Engine and gateway read the Docker environment variables used by
docker-compose.yml. - Dashboard production build succeeds.
cd /home/sarvadubey/Desktop/Projects/Vyse
cargo test --manifest-path engine/Cargo.toml
cd gateway && go test ./...
cd ../dashboard && npm run build
cd ..
docker compose config
docker compose up --build -d
curl http://localhost:8080/health
curl -i \
-H 'Content-Type: application/json' \
-H 'X-Vyse-Key: abcdef0123456789abcdef0123456789' \
-H 'X-Vyse-Session: smoke-test' \
-d '{"prompt":"Say hello in one short sentence."}' \
http://localhost:8080/api/inferOllama must listen on all interfaces so Docker containers can reach it through host.docker.internal:
ollama pull tinyllama
sudo mkdir -p /etc/systemd/system/ollama.service.d
printf '[Service]\nEnvironment="OLLAMA_HOST=0.0.0.0:11434"\n' | \
sudo tee /etc/systemd/system/ollama.service.d/override.conf
sudo systemctl daemon-reload
sudo systemctl restart ollama
ss -ltnp | grep 11434Expected listener:
0.0.0.0:11434
- Add
engine/models/all-MiniLM-L6-v2.onnx. - Add
engine/models/nli-MiniLM2-L6-H768.onnx. - Ensure the engine Docker runtime includes or mounts
engine/models. - Replace development secrets in
.env:VYSE_AUTH_JWT_SECRETVYSE_AUTH_ADMIN_PASSWORDVYSE_AUTH_API_KEY
- Decide Rekor mode:
- keep disabled for local-only development, or
- configure a real Rekor/Sigstore endpoint for Tier 3 audit entries.
- Add production transport security:
- TLS at the public edge
- private network or TLS between gateway and engine
- Add container healthchecks for the gateway, engine, and dashboard.
- Optimize Dockerfiles for dependency-layer caching.
- Add integration tests that start the Compose stack and verify
/healthplus/api/infer.
The current degraded status is caused by missing ONNX model files:
embedding model not found at ./models/all-MiniLM-L6-v2.onnx
intent model not found at ./models/nli-MiniLM2-L6-H768.onnx
starting with degraded ML fallbacks
The fallback path is functional for local runtime verification, but full ML-backed scoring requires those model files.