Skip to content
Terng Dechanon edited this page Jul 24, 2026 · 1 revision

Docker

The shortest path from clone to running.

git clone https://github.com/ElmatadorZ/skynetclaw.git && cd skynetclaw
cp backend/settings.example.json backend/settings.json

docker compose up -d
docker compose exec ollama ollama pull llama3.1:8b     # first run only
curl http://127.0.0.1:8766/api/system/health

What the stack is

Service Port Purpose
skynetclaw 127.0.0.1:8766 the backend
ollama 11434 local model runtime

Volumes — read this before down -v

Volume Holds
ollama-models downloaded models (large)
skynetclaw-data the institutional memory

docker compose down keeps both. docker compose down -v deletes them — which erases everything the House has learned. Do that deliberately, not habitually. See Institutional Memory.

Networking inside the stack

Inside a container, localhost is the container itself — not your host. The backend therefore defaults to OLLAMA_BASE_URL=http://ollama:11434, the compose service name.

To use an Ollama running on the host instead:

environment:
  OLLAMA_BASE_URL: http://host.docker.internal:11434   # macOS / Windows
  # Linux: add  extra_hosts: ["host.docker.internal:host-gateway"]

Cloud models instead of local

Create .env from .env.example, add your key, and skip the ollama pull step. The ollama service can be left running or removed from the compose file.

GPU

Uncomment the deploy.resources block in docker-compose.yml and install the NVIDIA container toolkit. CPU works without it — slower, not broken.

Editing config without rebuilding

backend/settings.json is bind-mounted. Edit it on the host and restart the container:

docker compose restart skynetclaw

Logs and health

docker compose logs -f skynetclaw
docker compose ps                      # healthcheck status

The image has a HEALTHCHECK that probes /api/system/health/quick, so docker compose ps shows whether the backend is actually serving — not merely whether the process is alive.

→ Next: Troubleshooting

Clone this wiki locally