services: webui: image: ghcr.io/open-webui/open-webui:main volumes: - /mnt/HoardingCow_docker_data/Ollama/open-webui:/app/backend/data environment: - OLLAMA_API_BASE_URL=http://ollama:11434/api networks: - traefik-net labels: - "traefik.enable=true" # Router for HTTP + redirection to HTTPS - "traefik.http.routers.webui-http.rule=Host(`ai.lazyworkhorse.net`)" - "traefik.http.routers.webui-http.entrypoints=web" - "traefik.http.routers.webui-http.middlewares=redirect-to-https" # Router for HTTPS with TLS - "traefik.http.routers.webui-https.rule=Host(`ai.lazyworkhorse.net`)" - "traefik.http.routers.webui-https.entrypoints=websecure" - "traefik.http.routers.webui-https.tls=true" - "traefik.http.routers.webui-https.tls.certresolver=njalla" # llama_cpp_devstral: # image: ghcr.io/ggml-org/llama.cpp:server-rocm # container_name: llama_cpp_devstral # restart: unless-stopped # ports: # - "8300:8080" # ipc: host # devices: # - "/dev/kfd:/dev/kfd" # - "/dev/dri:/dev/dri" # group_add: # - "303" # video # - "26" # render # environment: # HSA_OVERRIDE_GFX_VERSION: 9.0.6 # HIP_VISIBLE_DEVICES: 0,1 # LLAMA_CACHE: /models # volumes: # - /mnt/HoardingCow_docker_data/Llama_cpp/models:/models # - /mnt/HoardingCow_docker_data/Llama_cpp/devstral-agent.jinja:/template.jinja # command: > # -hf unsloth/Devstral-Small-2-24B-Instruct-2512-GGUF:Devstral-Small-2-24B-Instruct-2512-Q8_0.gguf # -a devstral-2-small-llama_cpp # --chat-template-file /template.jinja # --host 0.0.0.0 # --port 8080 # --n-gpu-layers 99 # --ctx-size 163840 # --batch-size 4096 # --ubatch-size 4096 # --cache-type-k f16 # --cache-type-v f16 # --cache-reuse 256 # --flash-attn on # --context-shift # --split-mode layer # --no-mmap # --n-predict -1 # --parallel 2 # vllm: # image: nalanzeyu/vllm-gfx906:v0.9.0-rocm6.3 # container_name: vllm # # Required for multi-GPU communication (NCCL) # ipc: host # init: true # shm_size: '2g' # networks: # - traefik-net # ports: # - "8300:8000" # devices: # - "/dev/kfd:/dev/kfd" # - "/dev/dri:/dev/dri" # group_add: # - "303" # - "26" # environment: # HSA_OVERRIDE_GFX_VERSION: 9.0.6 # HSA_ENABLE_SDMA: 0 # HIP_VISIBLE_DEVICES: 0,1 # NCCL_P2P_DISABLE: 1 # VLLM_WORKER_MULTIPROC_METHOD: spawn # VLLM_USE_TRITON_FLASH_ATTN: 0 # VLLM_USE_ROCM_CUSTOM_PAGED_ATTN: 0 # VLLM_ATTENTION_BACKEND: ROPE_NAIVE # VLLM_SKIP_WARMUP: 1 # VLLM_USE_V1: 0 # HF_TOKEN: ${HF_TOKEN} # command: > # vllm serve "mistralai/Devstral-Small-2-24B-Instruct-2512" # --tensor-parallel-size 2 # --max-model-len 8192 # --gpu-memory-utilization 0.90 # --tokenizer_mode mistral # --config_format auto # --load-format auto # --enforce-eager # --disable-custom-all-reduce # --trust-remote-code # --task generate # --block-size 16 # volumes: # - /mnt/HoardingCow_docker_data/vllm/models:/root/.cache/huggingface # restart: unless-stopped ollama: image: ollama/ollama:latest container_name: ollama privileged: true tty: true restart: unless-stopped ports: - "127.0.0.1:11434:11434" networks: - traefik-net volumes: - /mnt/HoardingCow_docker_data/Ollama/ollama:/root/.ollama environment: - OLLAMA_VULKAN=0 - HSA_OVERRIDE_GFX_VERSION=9.0.6 - HCC_AMDGPU_TARGET=gfx906 - HIP_VISIBLE_DEVICES=0,1 - ROCR_VISIBLE_DEVICES=0,1 - HSA_ENABLE_SDMA=0 - OLLAMA_HOST=0.0.0.0 - OLLAMA_DEBUG=1 - OLLAMA_FLASH_ATTENTION=0 - OLLAMA_NUM_PARALLEL=2 devices: # Map the render nodes and KFD for ROCm to work inside the container - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri group_add: - "303" - "26" n8n: image: n8nio/n8n:latest container_name: n8n restart: unless-stopped networks: - traefik-net environment: - N8N_HOST=n8n.lazyworkhorse.net - N8N_PORT=5678 - N8N_PROTOCOL=https - NODE_ENV=production - N8N_ENCRYPTION_KEY=${N8N_ENCRYPTION_KEY} - WEBHOOK_URL=https://n8n.lazyworkhorse.net/ - GENERIC_TIMEZONE=America/New_York # Adjust to your timezone - N8N_BLOCK_EXTERNAL_STORAGE_ACCESS=false - N8N_NODES_PYTHON_CAN_IMPORT_MODULES=true - N8N_NATIVE_PYTHON_RUNNER=true - N8N_PYTHON_ALLOW_STDLIB=uuid,re,os,json - N8N_PYTHON_ALLOW_EXTERNAL=requests,pandas - NODE_FUNCTION_ALLOW_EXTERNAL=uuid,requests volumes: - /mnt/HoardingCow_docker_data/n8n:/home/node/.n8n labels: - "traefik.enable=true" # Router for HTTP + redirection to HTTPS - "traefik.http.routers.n8n-http.rule=Host(`n8n.lazyworkhorse.net`)" - "traefik.http.routers.n8n-http.entrypoints=web" - "traefik.http.routers.n8n-http.middlewares=redirect-to-https" # Router for HTTPS with TLS - "traefik.http.routers.n8n-https.rule=Host(`n8n.lazyworkhorse.net`)" - "traefik.http.routers.n8n-https.entrypoints=websecure" - "traefik.http.routers.n8n-https.tls=true" - "traefik.http.routers.n8n-https.tls.certresolver=njalla" # Service Loadbalancer (n8n default port) - "traefik.http.services.n8n.loadbalancer.server.port=5678" networks: traefik-net: external: true