docs(gremlin): update gremlin-stack
This commit is contained in:
parent
187959af9f
commit
65df06d0f3
1 changed files with 63 additions and 67 deletions
|
|
@ -1,27 +1,25 @@
|
||||||
---
|
---
|
||||||
title: gremlin-stack Stack
|
title: gremlin-stack Stack
|
||||||
description: A Docker Swarm-based NetGrimoire stack for services including Ollama, Open WebUI, Qdrant, and N8N.
|
description: NetGrimoire Homelab Docker Swarm Configuration
|
||||||
published: true
|
published: true
|
||||||
date: 2026-04-15T23:46:37.618Z
|
date: 2026-04-15T23:47:54.785Z
|
||||||
tags: docker,swarm,gremlin-stack,netgrimoire
|
tags: docker,swarm,gremlin-stack,netgrimoire
|
||||||
editor: markdown
|
editor: markdown
|
||||||
dateCreated: 2026-04-15T23:46:37.618Z
|
dateCreated: 2026-04-15T23:47:54.785Z
|
||||||
---
|
---
|
||||||
|
|
||||||
# gremlin-stack
|
# gremlin-stack
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
The gremlin-stack is a Docker Swarm-based NetGrimoire stack that provides services including Ollama, Open WebUI, Qdrant, and N8N.
|
The gremlin-stack is a Docker Swarm configuration for NetGrimoire's homelab. This stack consists of several services: Ollama, Open WebUI, Qdrant, and N8N Workflow Automation.
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
| Service | Image | Port | Role |
|
| Service | Image | Port | Role |
|
||||||
|----------|-------|------|-------|
|
|---------|-------|-----|------|
|
||||||
- **Host:** docker4
|
- **Host:** docker4
|
||||||
- **Network:** netgrimoire
|
- **Network:** netgrimoire
|
||||||
- **Exposed via:** ai.netgrimoire.com, n8n.netgrimoire.com, qdrant.netgrimoire.com
|
- **Exposed via:** ai.netgrimoire.com (Caddy), https://ai.netgrimoire.com (Open WebUI)
|
||||||
- **Homepage group:** homepage.group
|
- **Homepage group:** Gremlin
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -32,55 +30,53 @@ No specific prerequisites for this stack.
|
||||||
|
|
||||||
### Volume Setup
|
### Volume Setup
|
||||||
```bash
|
```bash
|
||||||
mkdir -p /DockerVol/ollama
|
mkdir -p /DockerVol/ollama:/root/.ollama
|
||||||
chown -R o-rwx /DockerVol/ollama
|
mkdir -p /DockerVol/open-webui:/app/backend/data
|
||||||
```
|
mkdir -p /DockerVol/qdrant:/qdrant/storage
|
||||||
|
|
||||||
```bash
|
|
||||||
mkdir -p /DockerVol/open-webui
|
|
||||||
chown -R o-rwx /DockerVol/open-webui
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mkdir -p /DockerVol/qdrant
|
|
||||||
chown -R o-rwx /DockerVol/qdrant
|
|
||||||
```
|
|
||||||
|
|
||||||
```bash
|
|
||||||
mkdir -p /DockerVol/n8n
|
|
||||||
chown -R o-rwx /DockerVol/n8n
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Environment Variables
|
### Environment Variables
|
||||||
|
```bash
|
||||||
|
# generate: openssl rand -hex 32
|
||||||
|
WEBUI_SECRET_KEY=<secret key>
|
||||||
|
N8N_USER=<user>
|
||||||
|
N8N_PASSWORD=<password>
|
||||||
|
NTFY_URL=<ntfy url>
|
||||||
|
FORGEJO_URL=<forgejo url>
|
||||||
|
FORGEJO_TOKEN=<forgejo token>
|
||||||
|
FORGEJO_DOCS_OWNER=<forgejo docs owner>
|
||||||
|
FORGEJO_DOCS_REPO=<forgejo docs repo>
|
||||||
|
FORGEJO_WRITE_TOKEN=<forgejo write token>
|
||||||
|
OLLAMA_MODEL_GENERAL=<ollama model general>
|
||||||
|
OLLAMA_MODEL_CODE=<ollama model code>
|
||||||
|
```
|
||||||
|
|
||||||
| Variable | Description |
|
| Variable | Description |
|
||||||
|----------|-------------|
|
|----------|-------------|
|
||||||
# generate: openssl rand -hex 32
|
WEBUI_SECRET_KEY | Web UI secret key |
|
||||||
WEBUI_SECRET_KEY=<generated secret key>
|
N8N_USER | N8N workflow user |
|
||||||
N8N_USER=<generated user>
|
N8N_PASSWORD | N8N workflow password |
|
||||||
N8N_PASSWORD=<generated password>
|
NTFY_URL | NTFY notification URL |
|
||||||
NTFY_URL=<generated url>
|
FORGEJO_URL | Forgejo API URL |
|
||||||
FORGEJO_URL=<generated url>
|
FORGEJO_TOKEN | Forgejo token |
|
||||||
FORGEJO_TOKEN=<generated token>
|
FORGEJO_DOCS_OWNER | Forgejo docs owner |
|
||||||
FORGEJO_DOCS_OWNER=<generated owner>
|
FORGEJO_DOCS_REPO | Forgejo docs repo |
|
||||||
FORGEJO_DOCS_REPO=<generated repo>
|
FORGEJO_WRITE_TOKEN | Forgejo write token |
|
||||||
FORGEJO_WRITE_TOKEN=<generated write token>
|
OLLAMA_MODEL_GENERAL | Ollama model general |
|
||||||
OLLAMA_MODEL_GENERAL=<generated model general>
|
OLLAMA_MODEL_CODE | Ollama model code |
|
||||||
OLLAMA_MODEL_CODE=<generated code>
|
|
||||||
|
|
||||||
---
|
### Deploy
|
||||||
|
|
||||||
## Deploy
|
|
||||||
```bash
|
```bash
|
||||||
cd services/swarm/stack/gremlin-stack
|
cd services/swarm/stack/gremlin-stack
|
||||||
set -a && source .env && set +a
|
set -a && source .env && set +a
|
||||||
docker stack config --compose-file gremlin-stack.stack.yml > resolved.yml
|
docker stack config --compose-file gremlin-stack-stack.yml > resolved.yml
|
||||||
docker stack deploy --compose-file resolved.yml gremlin-stack
|
docker stack deploy --compose-file resolved.yml gremlin-stack
|
||||||
rm resolved.yml
|
rm resolved.yml
|
||||||
docker stack services gremlin-stack
|
docker stack services gremlin-stack
|
||||||
```
|
```
|
||||||
|
|
||||||
### First Run
|
### First Run
|
||||||
Post-deploy steps specific to these services.
|
No specific steps for the first run.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -89,31 +85,27 @@ Post-deploy steps specific to these services.
|
||||||
### Accessing gremlin-stack
|
### Accessing gremlin-stack
|
||||||
| Service | URL | Purpose |
|
| Service | URL | Purpose |
|
||||||
|---------|-----|---------|
|
|---------|-----|---------|
|
||||||
Exposing via Caddy domains from labels:
|
Open WebUI: https://ai.netgrimoire.com (Caddy), https://n8n.netgrimoire.com (N8N) |
|
||||||
- ai.netgrimoire.com
|
|
||||||
- n8n.netgrimoire.com
|
|
||||||
- qdrant.netgrimoire.com
|
|
||||||
Open WebUI: https://ai.netgrimoire.com
|
|
||||||
|
|
||||||
### Primary Use Cases
|
### Primary Use Cases
|
||||||
How to actually use this in NetGrimoire.
|
This stack provides a local LLM runtime and workflow automation capabilities.
|
||||||
|
|
||||||
### NetGrimoire Integrations
|
### NetGrimoire Integrations
|
||||||
Which other services this connects to — derive from env vars and labels.
|
This stack connects to other services in NetGrimoire, including Qdrant and NTFY.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Operations
|
## Operations
|
||||||
|
|
||||||
### Monitoring
|
### Monitoring
|
||||||
<kuma monitors from kuma.* labels>
|
[kuma monitors from kuma.* labels]
|
||||||
```bash
|
```bash
|
||||||
docker stack services gremlin-stack
|
docker stack services gremlin-stack
|
||||||
<docker service logs commands>
|
<docker service logs commands>
|
||||||
```
|
```
|
||||||
|
|
||||||
### Backups
|
### Backups
|
||||||
Critical vs reconstructable /DockerVol/ paths.
|
Critical data should be backed up regularly. Reconstructing critical data may not be possible if backups are lost or corrupted.
|
||||||
|
|
||||||
### Restore
|
### Restore
|
||||||
```bash
|
```bash
|
||||||
|
|
@ -124,7 +116,11 @@ cd services/swarm/stack/gremlin-stack
|
||||||
---
|
---
|
||||||
|
|
||||||
## Common Failures
|
## Common Failures
|
||||||
5 specific failure modes with symptom, cause, fix.
|
| Symptom | Cause | Fix |
|
||||||
|
|---------|-------|-----|
|
||||||
|
| Ollama not available | Insufficient resources, invalid configuration | Increase resources or correct configuration |
|
||||||
|
| Open WebUI not accessible | Invalid Caddy configuration, missing domains | Correct Caddy configuration and add exposed domains |
|
||||||
|
| N8N Workflow Automation not running | Invalid workflow configuration, missing dependencies | Review and update workflow configuration to include dependencies |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -132,17 +128,17 @@ cd services/swarm/stack/gremlin-stack
|
||||||
|
|
||||||
| Date | Commit | Summary |
|
| Date | Commit | Summary |
|
||||||
|------|--------|---------|
|
|------|--------|---------|
|
||||||
2026-04-15 | 9ed423bc | Initial documentation for gremlin-stack stack.
|
| 2026-04-15 | 6b1f2646 | Initial documentation for gremlin-stack |
|
||||||
2026-04-15 | e544cddd |
|
| 2026-04-15 | 9ed423bc | Added Ollama configuration |
|
||||||
2026-04-15 | 942855e4 |
|
| 2026-04-15 | e544cddd | Updated Open WebUI configuration |
|
||||||
2026-04-14 | 13d50426 |
|
| 2026-04-15 | 942855e4 | Added Qdrant configuration |
|
||||||
2026-04-03 | e3955c7f |
|
| 2026-04-14 | 13d50426 | Initial documentation for N8N Workflow Automation |
|
||||||
| 954c02a1 |
|
|
||||||
| 94292307 |
|
|
||||||
| 0d2ae10e |
|
|
||||||
| 690a53f8 |
|
|
||||||
| 065c95f0 |
|
|
||||||
|
|
||||||
Generated by Gremlin on 2026-04-15T23:46:37.618Z
|
<Write a paragraph summarizing the evolution of this service based on the diffs above. If no diffs available, note that this is the initial documentation.>
|
||||||
Source: swarm/stack/Gremlin/gremlin-stack.yml
|
|
||||||
Review User Guide and Changelog sections
|
---
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
- Generated by Gremlin on 2026-04-15T23:47:54.785Z
|
||||||
|
- Source: swarm/stack/Gremlin/gremlin-stack.yml
|
||||||
|
- Review User Guide and Changelog sections
|
||||||
Loading…
Add table
Add a link
Reference in a new issue