Operating System: macOS 26.2 Tahoe
Docker Desktop Version: 4.56.0 (214940)
Docker Compose: v5.0.0-desktop.1
Running ./setup.sh -a -n results in:
======================================
Open WebUI CTF Complete Setup Script
======================================
[INFO] Detected macOS 26.2 (arm64)
[INFO] Installing system prerequisites...
[INFO] Installing macOS prerequisites...
[SUCCESS] Homebrew present
==> Updating Homebrew...
Already up-to-date.
[SUCCESS] Docker Desktop already installed
Warning: git 2.52.0_1 is already installed and up-to-date.
To reinstall 2.52.0_1, run:
brew reinstall git
Warning: wget 1.25.0 is already installed and up-to-date.
To reinstall 1.25.0, run:
brew reinstall wget
[SUCCESS] macOS prerequisites installed
[INFO] Ensuring Docker Desktop is installed (macOS)...
[SUCCESS] Homebrew present
[SUCCESS] Docker Desktop present
[INFO] If Docker CLI fails, open Docker Desktop once to finish setup.
[INFO] Verifying installations...
[SUCCESS] Docker: Docker version 29.1.3, build f52814d
[SUCCESS] Docker Compose: Docker Compose version v5.0.0-desktop.1
[INFO] macOS detected: NVIDIA verification not applicable.
[INFO] System prerequisites installation complete (macOS)!
🏁 Initializing Open WebUI CTF Environment
==========================================
[INFO] macOS detected; NVIDIA GPU path not applicable. Running CPU-only by default.
📋 Loading environment variables from .env
🔨 Building Docker images...
[+] Building 1.2s (29/35)
=> [internal] load local bake definitions 0.0s
=> => reading from stdin 1.84kB 0.0s
=> [open-webui internal] load build definition from Dockerfile.openwebui 0.0s
=> => transferring dockerfile: 1.46kB 0.0s
=> [ollama internal] load build definition from Dockerfile.ollama 0.0s
=> => transferring dockerfile: 1.06kB 0.0s
=> [jupyter internal] load build definition from Dockerfile.jupyter 0.0s
=> => transferring dockerfile: 1.13kB 0.0s
=> [ctf-setup internal] load build definition from Dockerfile.ctfsetup 0.0s
=> => transferring dockerfile: 688B 0.0s
=> [ctf-setup internal] load metadata for docker.io/library/python:3.11-slim 0.3s
=> [open-webui internal] load metadata for ghcr.io/open-webui/open-webui:main 0.9s
=> [jupyter internal] load metadata for docker.io/jupyter/tensorflow-notebook:latest 0.3s
=> [ollama internal] load metadata for docker.io/ollama/ollama:latest 0.4s
=> [open-webui internal] load .dockerignore 0.0s
=> => transferring context: 2B 0.0s
=> [ctf-setup 1/6] FROM docker.io/library/python:3.11-slim@sha256:5be45dbade29bebd6886af 0.0s
=> => resolve docker.io/library/python:3.11-slim@sha256:5be45dbade29bebd6886af6b438fd7e0 0.0s
=> [ctf-setup internal] load build context 0.0s
=> => transferring context: 933B 0.0s
=> [jupyter 1/3] FROM docker.io/jupyter/tensorflow-notebook:latest@sha256:173f124f638efe 0.0s
=> => resolve docker.io/jupyter/tensorflow-notebook:latest@sha256:173f124f638efe870bb2b5 0.0s
=> CACHED [jupyter 2/3] RUN mkdir -p /usr/local/bin && cat > /usr/local/bin/startup- 0.0s
=> CACHED [jupyter 3/3] RUN chmod +x /usr/local/bin/startup-hook.sh 0.0s
=> [jupyter] exporting to image 0.5s
=> => exporting layers 0.0s
=> => exporting manifest sha256:14e93b2cb75aef0879e66eba99ca524c0a93db218c587f0c33bc4056 0.0s
=> => exporting config sha256:89aaa6367bfe73cb52b161f46f6e2134baa0994579178031c4656b12bf 0.0s
=> => exporting attestation manifest sha256:b0d49f58532515ab864f2d2b7a9642efed2879fb756f 0.0s
=> => exporting manifest list sha256:06b68c2ca52843de506feeac808d3ecea4739f8ea8ab9d28838 0.0s
=> => naming to docker.io/library/ai-ctf-jupyter:latest 0.0s
=> => unpacking to docker.io/library/ai-ctf-jupyter:latest 0.5s
=> CACHED [ctf-setup 2/6] RUN apt-get update && apt-get install -y curl gettext- 0.0s
=> CACHED [ctf-setup 3/6] RUN pip install --no-cache-dir requests pydantic l 0.0s
=> CACHED [ctf-setup 4/6] WORKDIR /app 0.0s
=> CACHED [ctf-setup 5/6] COPY ./openwebui/. /app/ 0.0s
=> CACHED [ctf-setup 6/6] RUN chmod +x /app/run_setup.sh 0.0s
=> [ctf-setup] exporting to image 0.0s
=> => exporting layers 0.0s
=> => exporting manifest sha256:389a3904f08b047fb37f77d95263d9a788b9133c7ba233b3416e4b80 0.0s
=> => exporting config sha256:9aa5ffc0d3bda51aa85a9eb9be80434e747b0ae24154c8fbddeb24727f 0.0s
=> => exporting attestation manifest sha256:a03fff1ea1197c3e68d98ce31503c9395f288dca9680 0.0s
=> => exporting manifest list sha256:4d0cfaf7c7f8e288265f776b6aff2bfabce30c6fd7c563e8393 0.0s
=> => naming to docker.io/library/ai-ctf-ctf-setup:latest 0.0s
=> => unpacking to docker.io/library/ai-ctf-ctf-setup:latest 0.0s
=> [ollama 1/4] FROM docker.io/ollama/ollama:latest@sha256:44893537fcc6f100b70ceb7f5c9fd 0.6s
=> => resolve docker.io/ollama/ollama:latest@sha256:44893537fcc6f100b70ceb7f5c9fd8f787ba 0.0s
=> => sha256:6c69ae9cc2076a12eac4a7aa4a7484297e1baf984a66be6f8e3d3a354a9 1.15GB / 3.00GB 0.1s
=> CACHED [ollama internal] preparing inline document 0.0s
=> CACHED [open-webui 1/6] FROM ghcr.io/open-webui/open-webui:main@sha256:000b87a6ae726a 0.0s
=> => resolve ghcr.io/open-webui/open-webui:main@sha256:000b87a6ae726aa7f6611a0064ba528b 0.0s
=> ERROR [open-webui 2/6] RUN mkdir -p /docker-entrypoint-init.d 0.1s
=> [ctf-setup] resolving provenance for metadata file 0.0s
=> [jupyter] resolving provenance for metadata file 0.0s
=> CANCELED [ollama 2/4] RUN mkdir -p /scripts 0.0s
------
> [open-webui 2/6] RUN mkdir -p /docker-entrypoint-init.d:
0.067 exec /bin/sh: exec format error
------
[+] build 0/4
⠙ Image ai-ctf-open-webui Building 1.2s
⠙ Image ai-ctf-jupyter Building 1.2s
⠙ Image ai-ctf-ctf-setup Building 1.2s
⠙ Image ai-ctf-ollama Building 1.2s
Dockerfile.openwebui:7
--------------------
5 | # So we need to handle this differently - we'll create an init script
6 |
7 | >>> RUN mkdir -p /docker-entrypoint-init.d
8 |
9 | RUN cat > /docker-entrypoint-init.d/01-create-ctf-flag.sh << 'EOF'
--------------------
target open-webui: failed to solve: process "/bin/sh -c mkdir -p /docker-entrypoint-init.d" did not complete successfully: exit code: 255
Operating System: macOS 26.2 Tahoe
Docker Desktop Version: 4.56.0 (214940)
Docker Compose: v5.0.0-desktop.1
Running
./setup.sh -a -nresults in: