File size: 1,414 Bytes
53023f4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
services:
  ollama:
    image: ollama/ollama:latest
    container_name: qwen3-router-ollama
    restart: unless-stopped
    ports:
      - "127.0.0.1:11435:11434"
    volumes:
      - qwen3_router_ollama:/root/.ollama
      - ./Modelfile:/models/Modelfile:ro
    environment:
      - OLLAMA_HOST=0.0.0.0:11434
    gpus: all

  router-api:
    image: python:3.12-slim
    container_name: qwen3-router-api
    restart: unless-stopped
    depends_on:
      - ollama
    ports:
      - "127.0.0.1:8011:8011"
    volumes:
      - ./router_api/router_api.py:/app/router_api.py:ro
      - ./policies:/app/policies:ro
    environment:
      - OLLAMA_URL=http://ollama:11434
      - OLLAMA_MODEL=qwen3-8b-korean-coding-router:latest
      - ROUTER_MODEL_ID=qwen3-8b-korean-coding-router
    command: ["python", "/app/router_api.py"]

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: qwen3-router-openwebui
    restart: unless-stopped
    depends_on:
      - ollama
      - router-api
    ports:
      - "127.0.0.1:3001:8080"
    volumes:
      - qwen3_router_openwebui:/app/backend/data
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
      - OLLAMA_BASE_URLS=http://ollama:11434
      - OPENAI_API_BASE_URL=http://router-api:8011/v1
      - OPENAI_API_KEY=local
      - WEBUI_AUTH=False
      - USE_OLLAMA_DOCKER=false

volumes:
  qwen3_router_ollama:
  qwen3_router_openwebui: