- Ontario, Canada
- https://zakscode.com
- Joined on
2023-07-26
Block a user
ai-harness (0.5.8)
Published 2026-09-26 09:37:44 -04:00 by ztimson
Installation
docker pull git.zakscode.com/ztimson/ai-harness:0.5.8sha256:9ed2ece250e91d1a76e3e047feb4366f65353bf6b9a8bd32e3d52b59421d9b49
Images
| Digest | OS / Arch | Size |
|---|---|---|
| 91f350bfbb | linux/amd64 | 1.7 GiB |
Image Layers ( linux/amd64)
| # debian.sh --arch 'amd64' out/ 'trixie' '@1789689600' |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends ca-certificates curl gnupg netbase sq wget ; apt-get dist-clean # buildkit |
| RUN /bin/sh -c set -eux; apt-get update; apt-get install -y --no-install-recommends git mercurial openssh-client subversion procps ; apt-get dist-clean # buildkit |
| RUN /bin/sh -c set -ex; apt-get update; apt-get install -y --no-install-recommends autoconf automake bzip2 default-libmysqlclient-dev dpkg-dev file g++ gcc imagemagick libbz2-dev libc6-dev libcurl4-openssl-dev libdb-dev libevent-dev libffi-dev libgdbm-dev libglib2.0-dev libgmp-dev libjpeg-dev libkrb5-dev liblzma-dev libmagickcore-dev libmagickwand-dev libmaxminddb-dev libncurses5-dev libncursesw5-dev libpng-dev libpq-dev libreadline-dev libsqlite3-dev libssl-dev libtool libwebp-dev libxml2-dev libxslt-dev libyaml-dev make patch unzip xz-utils zlib1g-dev ; apt-get dist-clean # buildkit |
| RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit |
| ENV NODE_VERSION=26.10.0 |
| RUN /bin/sh -c ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64';; ppc64el) ARCH='ppc64le';; s390x) ARCH='s390x';; arm64) ARCH='arm64';; *) echo "unsupported architecture"; exit 1 ;; esac && export GNUPGHOME="$(mktemp -d)" && set -ex && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A 655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD A363A499291CBBC940DD62E41F10027AF002F8B0 ; do { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } || { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ; done && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc && gpgconf --kill all && rm -rf "$GNUPGHOME" && grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit |
| COPY docker-entrypoint.sh /usr/local/bin/ # buildkit |
| ENTRYPOINT ["docker-entrypoint.sh"] |
| CMD ["node"] |
| ENV AI_HOME=/AI FILES_ROOT=/mnt NODE_ENV=prod MODELS_DIR=/models PORT=80 PUID=1000 PGID=1000 |
| RUN /bin/sh -c apt-get update && apt-get install -y gosu && rm -rf /var/lib/apt/lists/* # buildkit |
| WORKDIR /src |
| COPY package*.json ./ # buildkit |
| RUN /bin/sh -c npm ci # buildkit |
| COPY . . # buildkit |
| RUN /bin/sh -c npm run build && npm prune --omit=dev && npm link # buildkit |
| WORKDIR /AI |
| VOLUME [/AI] |
| RUN /bin/sh -c mkdir /models # buildkit |
| RUN /bin/sh -c cat <<'EOF' > /entrypoint.sh #!/bin/sh set -e PUID=${PUID:-1000} PGID=${PGID:-1000} KIWIX_BIN="$(npm root -g)/@ztimson/ai-harness/node_modules/@ztimson/zim-utils/bin" groupmod -o -g "$PGID" node 2>/dev/null || addgroup -g "$PGID" node usermod -o -u "$PUID" node 2>/dev/null || adduser -u "$PUID" -G node -D node [ -d "$KIWIX_BIN" ] && chown -R "$PUID:$PGID" "$KIWIX_BIN" chown -R "$PUID:$PGID" /AI chmod -R 770 /AI find /AI -type f \( -name '*.md' -o -name '*.js' -o -name '*.json' \) 2>/dev/null -exec sed -i 's/\r$//' {} + exec gosu "$PUID:$PGID" "$@" EOF # buildkit |
| RUN /bin/sh -c chmod +x /entrypoint.sh # buildkit |
| ENTRYPOINT ["/entrypoint.sh"] |
| CMD ["sh" "-c" "npx ai --port $PORT --no-cli"] |