LocalAIChat/docker-compose.yml

103 lines
3.2 KiB
YAML

services:
ollama:
volumes:
- ./files/ollama:/root/.ollama
container_name: ollama
pull_policy: always
tty: true
restart: unless-stopped
image: ollama/ollama:latest
ports:
- '11434:11434'
open-webui:
image: 'ghcr.io/open-webui/open-webui:main'
restart: always
container_name: open-webui
volumes:
- './files/open-webui:/app/backend/data'
depends_on:
- ollama
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- WEBUI_NAME=BioGPT
- ENABLE_CODE_INTERPRETER=True
- CODE_INTERPRETER_ENGINE=jupyter
- CODE_INTERPRETER_JUPYTER_URL=http://jupyer:8888
- CODE_INTERPRETER_JUPYTER_AUTH=token
- CODE_INTERPRETER_JUPYTER_AUTH_TOKEN=${JUPYTER_TOKEN}
ports:
- '8080:8080'
# open-webui-pipelines:
# image: 'ghcr.io/open-webui/pipelines:main'
# restart: always
# container_name: pipelines
# volumes:
# - './files/pipelines:/app/pipelines'
# extra_hosts:
# - 'host.docker.internal:host-gateway'
# ports:
# - '9099:9099'
mcposerver:
command: ["--config", "/app/conf/config.json"]
#env_file: env/mcposerver.env
image: ghcr.io/open-webui/mcpo:latest
restart: unless-stopped
volumes:
- ./config/mcpo:/app/conf:ro
extra_hosts:
- 'host.docker.internal:host-gateway'
ports:
- '8000:8000'
depends_on:
- n8n
postgres:
image: postgres:16
restart: always
environment:
- POSTGRES_USER
- POSTGRES_PASSWORD
- POSTGRES_DB
- POSTGRES_NON_ROOT_USER
- POSTGRES_NON_ROOT_PASSWORD
volumes:
- ./files/postgres_storage:/var/lib/postgresql/data
- ./files/init-data.sh:/docker-entrypoint-initdb.d/init-data.sh
ports:
- 5434:5432
healthcheck:
test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
interval: 5s
timeout: 5s
retries: 10
n8n:
image: docker.n8n.io/n8nio/n8n
restart: always
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=${POSTGRES_DB}
- DB_POSTGRESDB_USER=${POSTGRES_USER}
- DB_POSTGRESDB_PASSWORD=${POSTGRES_PASSWORD}
- WEBHOOK_URL=http://n8n
- GENERIC_TIMEZONE=${TIMEZONE}
ports:
- 5678:5678
links:
- postgres
volumes:
- ./files/n8n_storage:/home/node/.n8n
- ./files/n8n_data:/data
depends_on:
postgres:
condition: service_healthy
jupyter:
image: jupyter/datascience-notebook:latest
ports:
- "8910:8888"
volumes:
- ./files/notebooks:/home/jovyan/work
environment:
- JUPYTER_TOKEN=${JUPYTER_TOKEN}