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