-
Notifications
You must be signed in to change notification settings - Fork 0
0.1 quick start
wiki[bot] edited this page Apr 27, 2026
·
1 revision
This guide gets the full @CKIR.IO/VISIONS stack running locally in minutes.
- Docker & Docker Compose
- NVIDIA Docker runtime (if using GPU)
git clone https://github.com/ehildt/ckir.io-visions.git
cd ckir.io-visionsCreate a .env from the provided example and adjust if needed:
cp server/.env.example server/.envThe default configuration works out of the box for local Docker:
-
BULLMQ_HOST=keydb— Redis-compatible KeyDB running inside the compose network -
OLLAMA_HOST=http://ollama:11434— Ollama reachable within the compose network -
PORT=3000— Exposed on your host
You can point the server to a cloud-hosted Ollama-compatible endpoint instead of running the local ollama container. Update server/.env:
# Example: Ollama.com cloud endpoint
OLLAMA_HOST=https://ollama.com
OLLAMA_API_KEY=your_api_key_hereIf you use a cloud backend, you can optionally remove the ollama service from compose.yml to free resources—KeyDB and the server still handle queuing and streaming as normal. Just ensure your cloud provider supports vision models (e.g., llama3.2-vision) and that the API key has inference permissions.
docker compose up -dThis starts four services:
| Service | Description | Port |
|---|---|---|
server |
NestJS API (REST, MCP, Socket.IO) | http://localhost:3000 |
dashboard |
Vue 3 dev server | http://localhost:5173 |
ollama |
Ollama inference server | http://localhost:11434 |
keydb |
Redis-compatible job store amp; pub/sub | 6379 |
docker exec -it ollama ollama pull llama3.2-vision- Swagger / REST docs: http://localhost:3000/docs
- Health check: http://localhost:3000/api/v1/health/ready
- Dashboard: http://localhost:5173
-
Socket.IO: Shares port
3000using WebSocket transport
- Read the Server Overview for endpoint details.
- Explore the Dashboard Overview for UI features.
- Review the MCP tutorial to connect Claude Desktop or other MCP clients.
-
GPU not detected? Ensure
nvidia-docker2is installed and the--gpus=allflag incompose.ymlis supported. -
Port conflicts? Change the left-side port mappings in
compose.ymlif3000,5173,6379, or11434are already in use.