summaryrefslogtreecommitdiff
path: root/docker-compose.yml
blob: d196127aaf629a97117690b3330d5ee08546b9b0 (plain)
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
services:

  comfyui:
    build:
      dockerfile: Dockerfile.comfyui
    image: comfyui:0.43.0
    pull_policy: never
    container_name: comfyui
    restart: always
    command: >
      --listen 0.0.0.0
      --enable-manager
      --enable-dynamic-vram
      --use-split-cross-attention
      --multi-user
    environment:
      ROCR_VISIBLE_DEVICES: 1
      TZ: Europe/Zurich
      PYOPENGL_PLATFORM: egl
      PYRENDER_PLATFORM: egl
      EGL_PLATFORM: surfaceless
    volumes:
      - type: bind
        source: ./comfyui/custom_nodes
        target: /app/ComfyUI/custom_nodes
        read_only: false
      - type: bind
        source: ./comfyui/input
        target: /app/ComfyUI/input
        read_only: false
      - type: bind
        source: ./comfyui/models
        target: /app/ComfyUI/models
        read_only: false
      - type: bind
        source: ./comfyui/output/
        target: /app/ComfyUI/output/
        read_only: false
      - type: bind
        source: ./comfyui/user
        target: /app/ComfyUI/user
        read_only: false
    ports:
      - 8188:8188
    group_add:
      - video
      - 985
      - 989
    ipc: host
    cap_add:
      - SYS_PTRACE
    security_opt:
      - seccomp=unconfined
    devices:
      - /dev/kfd:/dev/kfd
      - /dev/dri:/dev/dri

  docling:
    image: quay.io/docling-project/docling-serve:latest
    container_name: docling
    pull_policy: always
    restart: always
    mem_limit: 8g
    environment:
      TZ: Europe/Zurich
      DOCLING_SERVE_API_KEY: ${DOCLING_API_KEY}
      DOCLING_SERVE_ENABLE_UI: "true"
      DOCLING_SERVE_MAX_SYNC_WAIT: 600
      DOCLING_SERVE_ENG_LOC_NUM_WORKERS: 2
      UVICORN_WORKERS: 1
      OMP_NUM_THREADS: 8
      MKL_NUM_THREADS: 8
    ports:
      - 5001:5001

  ollama:
    image: ollama/ollama:rocm
    container_name: ollama
    pull_policy: always
    restart: always
    working_dir: /root
    environment:
      OLLAMA_FLASH_ATTENTION: 1
      OLLAMA_KV_CACHE_TYPE: q8_0
      OLLAMA_KEEP_ALIVE: 15m
      OLLAMA_MAX_LOADED_MODELS: 1
      OLLAMA_MAX_QUEUE: 512
      OLLAMA_NUM_PARALLEL: 2
      OLLAMA_NO_CLOUD: 1
      ROCR_VISIBLE_DEVICES: 0
      TZ: Europe/Zurich
    volumes:
      - type: bind
        source: ./ollama/data
        target: /root/.ollama
        read_only: false
      - type: bind
        source: ./ollama/modelfiles
        target: /root/modelfiles
        read_only: false
    ports:
      - 11434:11434
    devices:
      - /dev/kfd:/dev/kfd
      - /dev/dri:/dev/dri

  open-terminal-teachos:
    image: open-terminal/teachos:16.2.0
    build:
      dockerfile: Dockerfile.terminal-teachos
    pull_policy: never
    command: >
      open-terminal
      run
      --host 0.0.0.0
      --port 8000
      --cors-allowed-origins https://ai.arknet.ch
      --cwd /home/ubuntu/workspaces
    restart: always
    container_name: open-terminal-teachos
    environment:
      OPEN_TERMINAL_API_KEY: ${OPEN_TERMINAL_API_KEY}
      TZ: Europe/Zurich
    volumes:
      - type: bind
        source: ./open-terminal/teachos
        target: /home/ubuntu/workspaces
    ports:
      - 8000:8000