73 lines
1.8 KiB
Markdown
73 lines
1.8 KiB
Markdown
---
|
|
title: Deploy Gremlin Stack
|
|
description: How to deploy and redeploy the Gremlin AI stack
|
|
published: true
|
|
date: 2026-04-12T00:00:00.000Z
|
|
tags: gremlin, deploy, runbook
|
|
editor: markdown
|
|
dateCreated: 2026-04-12T00:00:00.000Z
|
|
---
|
|
|
|
# Deploy Gremlin Stack
|
|
|
|
All Gremlin services run on `docker4` (hermes), pinned via `node.hostname == docker4`.
|
|
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
```bash
|
|
# 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
|
|
|
|
```bash
|
|
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.
|
|
|
|
```bash
|
|
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` |
|