| networks: |
| ai-network: |
| driver: bridge |
| services: |
| tabbyapi: |
| image: local/tabbyapi:exl3-fixed |
| container_name: tabby-tavern-tabbyapi-1 |
| restart: unless-stopped |
| ports: |
| - 5000:5000 |
| volumes: |
| - ./tabby_models:/app/models |
| - ./tabby_config/config.yml:/app/config.yml |
| - ./tabby_config/api_tokens.yml:/app/api_tokens.yml |
| environment: |
| - CUDA_VISIBLE_DEVICES=0 |
| - CUDA_DEVICE_ORDER=PCI_BUS_ID |
| - NVIDIA_VISIBLE_DEVICES=all |
| - PYTORCH_CUDA_ALLOC_CONF=max_split_size_mb:128 |
| - OMP_NUM_THREADS=8 |
| - EXLLAMA_GPU_LAYERS=999 |
| - EXLLAMA_KV_CACHE=q8_0 |
| - EXLLAMA_FLASH_ATTENTION=1 |
| deploy: |
| resources: |
| reservations: |
| devices: |
| - driver: nvidia |
| count: all |
| capabilities: |
| - gpu |
| - compute |
| - utility |
| shm_size: 16g |
| networks: |
| - ai-network |
| sillytavern: |
| image: ghcr.io/sillytavern/sillytavern:latest |
| container_name: tabby-tavern-sillytavern-1 |
| restart: unless-stopped |
| ports: |
| - 8000:8000 |
| volumes: |
| - ./sillytavern_config:/home/node/app/config |
| - ./sillytavern_data:/home/node/app/data |
| environment: |
| - WHITELIST_MODE=false |
| networks: |
| - ai-network |
| ollama: |
| image: ollama/ollama:latest |
| container_name: tabby-tavern-ollama-1 |
| restart: unless-stopped |
| ports: |
| - 11434:11434 |
| volumes: |
| - ./ollama_data:/root/.ollama |
| environment: |
| - CUDA_VISIBLE_DEVICES=0 |
| - CUDA_DEVICE_ORDER=PCI_BUS_ID |
| - NVIDIA_VISIBLE_DEVICES=all |
| - OMP_NUM_THREADS=8 |
| - OLLAMA_FLASH_ATTENTION=1 |
| - OLLAMA_KV_CACHE_TYPE=q8_0 |
| - OLLAMA_NUM_PARALLEL=1 |
| deploy: |
| resources: |
| reservations: |
| devices: |
| - driver: nvidia |
| count: all |
| capabilities: |
| - gpu |
| - compute |
| - utility |
| shm_size: 16g |
| networks: |
| - ai-network |
| open-webui: |
| image: ghcr.io/open-webui/open-webui:main |
| container_name: tabby-tavern-open-webui-1 |
| restart: unless-stopped |
| ports: |
| - 3000:8080 |
| volumes: |
| - ./openwebui_data:/app/backend/data |
| environment: |
| - OLLAMA_BASE_URL=http://ollama:11434 |
| networks: |
| - ai-network |
| searxng: |
| container_name: tabby-tavern-searxng-1 |
| image: docker.io/searxng/searxng:latest |
| restart: unless-stopped |
| ports: |
| - 8080:8080 |
| volumes: |
| - ./searxng_config:/etc/searxng |
| environment: |
| - SEARXNG_BASE_URL=http://localhost:8080/ |
| - INSTANCE_NAME=Tabby-Tavern-Search |
| - UWSGI_WORKERS=4 |
| - UWSGI_THREADS=4 |
| cap_drop: |
| - ALL |
| cap_add: |
| - CHOWN |
| - SETGID |
| - SETUID |
| networks: |
| - ai-network |
| depends_on: |
| - searxng-redis |
| searxng-redis: |
| container_name: tabby-tavern-searxng-redis-1 |
| image: docker.io/library/redis:alpine |
| command: redis-server --save "" --appendonly "no" |
| restart: unless-stopped |
| networks: |
| - ai-network |
|
|