Files
docker-compose/large-language-models/docker-compose.yml

99 lines
3.2 KiB
YAML

services:
ollama:
image: ollama/ollama:latest
container_name: ollama
tty: true
ports:
- "11434:11434" # Ollama API
environment:
- OLLAMA_KEEP_ALIVE=24h
- NVIDIA_VISIBLE_DEVICES=all
volumes:
- /mnt/user/appdata/ollama:/root/.ollama
runtime: nvidia
labels:
net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/ollama.png"
net.unraid.docker.shell: bash
folder.view2: "Services"
open-webui:
image: ghcr.io/open-webui/open-webui:main-slim
container_name: open-webui
depends_on:
- ollama
ports:
- "3045:8080" # WebUI
environment:
- OLLAMA_BASE_URLS=http://ollama:11434
- WEBUI_AUTH=True
- WEBUI_NAME=${WEBUI_NAME}
- WEBUI_URL=${WEBUI_URL}
- WEBUI_SECRET_KEY=${WEBUI_SECRET_KEY}
volumes:
- /mnt/user/appdata/openwebui:/app/backend/data
labels:
net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/open-webui.png"
net.unraid.docker.webui: "https://ai.homecube.org/"
folder.view2: "Services"
blinko-db:
image: postgres:15-alpine
container_name: blinko-db
environment:
POSTGRES_USER: blinko
POSTGRES_PASSWORD: blinko
POSTGRES_DB: blinko
volumes:
- /mnt/user/appdata/blinko/db:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U blinko"]
interval: 10s
timeout: 5s
retries: 5
labels:
net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/postgresql.png"
folder.view2: "Databases"
blinko:
image: blinkospace/blinko:latest
container_name: blinko
networks:
- default
- pangolin
depends_on:
blinko-db:
condition: service_healthy
ollama:
condition: service_started
environment:
- DATABASE_URL=postgresql://blinko:blinko@blinko-db:5432/blinko
- NEXTAUTH_SECRET=${BLINKO_AUTH_SECRET}
- NEXTAUTH_URL=https://${BLINKO_URL}
labels:
net.unraid.docker.icon: "https://cdn.jsdelivr.net/gh/selfhst/icons@main/png/blinko.png"
net.unraid.docker.webui: "https://${BLINKO_URL}"
folder.view2: "Services"
pangolin.public-resources.blinko.name: ${BLINKO_RESOURCE_NAME}
pangolin.public-resources.blinko.full-domain: ${BLINKO_URL}
pangolin.public-resources.blinko.protocol: http
pangolin.public-resources.blinko.auth.sso-enabled: true
pangolin.public-resources.blinko.auth.sso-roles[0]: Member
pangolin.public-resources.blinko.targets[0].method: http
pangolin.public-resources.blinko.targets[0].healthcheck.enabled: true
pangolin.public-resources.blinko.targets[0].healthcheck.hostname: blinko
pangolin.public-resources.blinko.targets[0].healthcheck.port: 1111
pangolin.public-resources.blinko.targets[0].healthcheck.path: /
pangolin.public-resources.blinko.targets[0].healthcheck.method: GET
pangolin.public-resources.blinko.targets[0].healthcheck.status: 200
pangolin.public-resources.blinko.targets[0].healthcheck.interval: 30
pangolin.public-resources.blinko.targets[0].healthcheck.timeout: 5
networks:
pangolin:
name: pangolin_net
external: true