Initial commit: all TrueNAS docker compose stacks

This commit is contained in:
Paccoco
2026-04-15 18:19:24 -05:00
commit 462edb32b1
25 changed files with 1242 additions and 0 deletions

10
ai/.env.example Normal file
View File

@@ -0,0 +1,10 @@
TZ=America/Chicago
# OpenWebUI
OPENWEBUI_SECRET_KEY=changeme
# OpenWebUI postgres — must match databases initdb/01-create-databases.sql
OPENWEBUI_DB_PASS=changeme
# Scriberr — Hugging Face token for model downloads
HF_TOKEN=changeme

96
ai/docker-compose.yaml Normal file
View File

@@ -0,0 +1,96 @@
networks:
ai-net:
driver: bridge
ix-databases_shared-databases:
external: true
pangolin:
external: true
services:
ollama:
container_name: ollama
image: ollama/ollama:latest
restart: unless-stopped
networks:
- ai-net
ports:
- "11434:11434"
environment:
TZ: ${TZ}
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DRIVER_CAPABILITIES: compute,utility
volumes:
- /mnt/docker-ssd/docker/appdata/ollama:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:11434/ >/dev/null 2>&1 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
openwebui:
container_name: openwebui
image: ghcr.io/open-webui/open-webui:main
restart: unless-stopped
networks:
- ai-net
- ix-databases_shared-databases
- pangolin
ports:
- "8282:8080"
environment:
TZ: ${TZ}
OLLAMA_BASE_URL: http://ollama:11434
WEBUI_SECRET_KEY: ${OPENWEBUI_SECRET_KEY}
DATABASE_URL: postgresql://openwebui:${OPENWEBUI_DB_PASS}@shared-postgres:5432/openwebui
ENABLE_SIGNUP: "true"
ENABLE_LOGIN_FORM: "true"
volumes:
- /mnt/docker-ssd/docker/appdata/openwebui:/app/backend/data
depends_on:
ollama:
condition: service_healthy
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/ >/dev/null 2>&1 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
scriberr:
container_name: scriberr
image: ghcr.io/rishikanthc/scriberr-cuda:v1.2.0
restart: unless-stopped
networks:
- ai-net
- pangolin
ports:
- "8032:8080"
environment:
TZ: ${TZ}
HF_TOKEN: ${HF_TOKEN}
NVIDIA_VISIBLE_DEVICES: all
NVIDIA_DRIVER_CAPABILITIES: compute,utility
volumes:
- /mnt/docker-ssd/docker/appdata/scriberr:/app/data
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8080/ >/dev/null 2>&1 || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s

2
ai/truenas-app.yaml Normal file
View File

@@ -0,0 +1,2 @@
include:
- /mnt/docker-ssd/docker/compose/ai/docker-compose.yaml