1.8 KiB
1.8 KiB
| title | description | published | date | tags | editor | dateCreated |
|---|---|---|---|---|---|---|
| Deploy Gremlin Stack | How to deploy and redeploy the Gremlin AI stack | true | 2026-04-12T00:00:00.000Z | gremlin, deploy, runbook | markdown | 2026-04-12T00:00:00.000Z |
Deploy Gremlin Stack
All Gremlin services run on docker4 (hermes), pinned via node.hostname == docker4.
Prerequisites
# On docker4 — create volume directories
mkdir -p /DockerVol/ollama
mkdir -p /DockerVol/open-webui
mkdir -p /DockerVol/qdrant
# n8n requires specific ownership
mkdir -p /DockerVol/n8n
chown -R 1000:1000 /DockerVol/n8n
Deploy
cd ~/services && git pull
cd swarm/stack/Gremlin
set -a && source .env && set +a
docker stack config --compose-file gremlin-stack.yml > resolved.yml
docker stack deploy --compose-file resolved.yml gremlin
rm resolved.yml
docker stack services gremlin
Pull Models After Deploy
Models must be pulled before n8n workflows run. Ollama returns a silent model-not-found error if workflows fire first.
docker exec $(docker ps -qf name=gremlin_ollama) ollama pull llama3.2:3b
docker exec $(docker ps -qf name=gremlin_ollama) ollama pull qwen2.5-coder:7b
# Verify
docker exec $(docker ps -qf name=gremlin_ollama) ollama list
Verify Open WebUI Secret Key
Check that WEBUI_SECRET_KEY in .env on docker4 is set to a real secret, not the placeholder change-this-secret-key.
Service URLs After Deploy
| Service | Internal | External |
|---|---|---|
| Ollama | http://ollama:11434 |
http://ollama.netgrimoire.com:11434 |
| Open WebUI | http://open-webui:8080 |
https://ai.netgrimoire.com |
| Qdrant | http://qdrant:6333 |
http://qdrant.netgrimoire.com:6333/dashboard |
| n8n | http://n8n:5678 |
https://n8n.netgrimoire.com |