diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2026-10-27 18:44:28 +0100 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2026-10-27 18:45:13 +0100 |
| commit | 6fb3a546861cd4dcb69d78bbc0d7d33f4a712372 (patch) | |
| tree | 98b5c24bfc22b6ac14206aa09920c833ef9efb39 | |
| parent | f172f10023652c14c4a95462e63f1d2830236cfc (diff) | |
| download | local-ai-6fb3a546861cd4dcb69d78bbc0d7d33f4a712372.tar.xz local-ai-6fb3a546861cd4dcb69d78bbc0d7d33f4a712372.zip | |
terminal: set up TeachOS development terminal
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | Dockerfile.comfyui | 21 | ||||
| -rw-r--r-- | Dockerfile.terminal-teachos | 60 | ||||
| -rw-r--r-- | docker-compose.yml | 32 |
4 files changed, 103 insertions, 11 deletions
@@ -1,3 +1,4 @@ /comfyui /ollama /open-terminal +/extracted diff --git a/Dockerfile.comfyui b/Dockerfile.comfyui index 3512bd4..128dab9 100644 --- a/Dockerfile.comfyui +++ b/Dockerfile.comfyui @@ -1,15 +1,32 @@ -FROM docker.io/ubuntu:resolute +FROM docker.io/ubuntu:noble RUN apt update && \ apt full-upgrade --auto-remove --purge --yes && \ apt install --no-install-recommends --yes \ + build-essential \ git \ libatomic1 \ + libegl-dev \ + libegl1 \ + libgbm1 \ + libgl1 \ + libgl1-mesa-dev \ + libgl1-mesa-dri \ + libgles2 \ + libglvnd0 \ + libglx0 \ + libnuma-dev \ libopengl0 \ + mesa-utils \ + mesa-utils-extra \ python3 \ + python3-dev \ python3-venv && \ rm -rf /var/lib/apt/lists/* +ENV PYTHONDONTWRITEBYTECODE=1 +ENV PYTHONUNBUFFERED=1 + RUN mkdir -p /app/ComfyUI && chown -R ubuntu: /app USER ubuntu @@ -25,7 +42,7 @@ RUN /app/venv/bin/pip3 install \ WORKDIR /app/ComfyUI RUN git clone https://github.com/Comfy-Org/ComfyUI.git . && \ - git checkout v0.41.1 + git checkout v0.43.0 RUN /app/venv/bin/pip install \ --pre \ diff --git a/Dockerfile.terminal-teachos b/Dockerfile.terminal-teachos new file mode 100644 index 0000000..2046825 --- /dev/null +++ b/Dockerfile.terminal-teachos @@ -0,0 +1,60 @@ +FROM registry.gitlab.ost.ch:45023/teachos/devcontainers/x86-64:16.2.0-1-py3.14 + +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install --yes --no-install-recommends \ + acpica-tools \ + ca-certificates \ + clangd-22 \ + clang-tidy-22 \ + cmake \ + curl \ + g++-16 \ + gcc-16 \ + gdb \ + git \ + git-lfs \ + grub2-common \ + grub-pc \ + locales \ + make \ + mtools \ + ninja-build \ + python3-poetry \ + python3-pip \ + qemu-system-x86 \ + ssh \ + wget \ + xorriso \ + && rm -rf /var/lib/apt/lists/* + +RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \ + dpkg-reconfigure --frontend=noninteractive locales && \ + update-locale LANG=en_US.UTF-8 + +RUN update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-16 100 && \ + update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-16 100 && \ + update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-16 100 && \ + update-alternatives --install /usr/bin/gcc-ar gcc-ar /usr/bin/gcc-ar-16 100 && \ + update-alternatives --install /usr/bin/gcc-nm gcc-nm /usr/bin/gcc-nm-16 100 && \ + update-alternatives --install /usr/bin/gcc-ranlib gcc-ranlib /usr/bin/gcc-ranlib-16 100 && \ + update-alternatives --install /usr/bin/gcov gcov /usr/bin/gcov-16 100 && \ + update-alternatives --install /usr/bin/clangd clangd /usr/bin/clangd-22 100 && \ + update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-22 100 + +RUN curl -LO https://github.com/catchorg/Catch2/archive/refs/tags/v3.15.3.tar.gz && \ + tar xf v3.15.3.tar.gz && \ + cd Catch2-3.15.3 && \ + cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/usr -DBUILD_TESTING=OFF && \ + cmake --build build --target install --parallel && \ + cd .. && \ + rm -rf Catch2-3.15.3 v3.15.3.tar.gz + +USER ubuntu + +ENV PYTHONUNBUFFERED=1 \ + PATH=/home/ubuntu/.local/bin:$PATH \ + SHELL=/bin/bash \ + HOME=/home/ubuntu + +RUN curl -LsSf https://astral.sh/uv/install.sh | sh + +ENTRYPOINT ["uvx"] diff --git a/docker-compose.yml b/docker-compose.yml index 8732b1c..8df2366 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: comfyui: build: dockerfile: Dockerfile.comfyui - image: comfyui:0.41.1 + image: comfyui:0.43.0 pull_policy: never container_name: comfyui restart: always @@ -15,6 +15,10 @@ services: --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 @@ -39,6 +43,7 @@ services: ports: - 8188:8188 group_add: + - video - 985 - 989 ipc: host @@ -60,11 +65,12 @@ services: OLLAMA_FLASH_ATTENTION: 1 OLLAMA_KV_CACHE_TYPE: q8_0 OLLAMA_KEEP_ALIVE: 15m - OLLAMA_MAX_LOADED_MODELS: 2 + 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 @@ -80,17 +86,25 @@ services: - /dev/kfd:/dev/kfd - /dev/dri:/dev/dri - open-terminal: - image: ghcr.io/open-webui/open-terminal + open-terminal-teachos: + image: open-terminal/teachos:16.2.0 + build: + dockerfile: Dockerfile.terminal-teachos + 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 + container_name: open-terminal-teachos environment: - OPEN_TERMINAL_MULTI_USER: true - OPEN_TERMINAL_PACKAGES: git-lfs cmake g++ libstdc++-14-dev ninja-build OPEN_TERMINAL_API_KEY: wt-656cfbcda04de70926016fb5f7a82529d97650ce4512ae70a70ab26c49fafce7 + TZ: Europe/Zurich volumes: - type: bind - source: ./open-terminal/base - target: /home + source: ./open-terminal/teachos + target: /home/ubuntu/workspaces ports: - 8000:8000 |
