Block a user
service/hermes (v2)
Published 2026-05-25 23:35:34 +07:00 by freetale
Installation
docker pull gitea.thz.freetale.me/freetale/service/hermes:v2sha256:46f4b0edbdd435eaf9c5b2d8410da91b391e19a86be74df98b1081d5b00c8564
Image Layers
| # debian.sh --arch 'amd64' out/ 'trixie' '@1776729600' |
| ENV PYTHONUNBUFFERED=1 |
| ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/.playwright |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends build-essential curl nodejs npm python3 ripgrep ffmpeg gcc python3-dev libffi-dev procps git openssh-client docker-cli tini && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c useradd -u 10000 -m -d /opt/data hermes # buildkit |
| COPY --chmod=0755 /gosu /usr/local/bin/ # buildkit |
| COPY --chmod=0755 /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/ # buildkit |
| WORKDIR /opt/hermes |
| COPY package.json package-lock.json ./ # buildkit |
| COPY web/package.json web/package-lock.json web/ # buildkit |
| COPY ui-tui/package.json ui-tui/package-lock.json ui-tui/ # buildkit |
| COPY ui-tui/packages/hermes-ink/package.json ui-tui/packages/hermes-ink/package-lock.json ui-tui/packages/hermes-ink/ # buildkit |
| RUN /bin/sh -c npm install --prefer-offline --no-audit && npx playwright install --with-deps chromium --only-shell && (cd web && npm install --prefer-offline --no-audit) && (cd ui-tui && npm install --prefer-offline --no-audit) && npm cache clean --force # buildkit |
| COPY --chown=hermes:hermes . . # buildkit |
| RUN /bin/sh -c cd web && npm run build && cd ../ui-tui && npm run build && rm -rf node_modules/@hermes/ink && rm -rf packages/hermes-ink/node_modules && cp -R packages/hermes-ink node_modules/@hermes/ink && npm install --omit=dev --prefer-offline --no-audit --prefix node_modules/@hermes/ink && rm -rf node_modules/@hermes/ink/node_modules/react && node --input-type=module -e "await import('@hermes/ink')" # buildkit |
| USER root |
| RUN /bin/sh -c chmod -R a+rX /opt/hermes # buildkit |
| RUN /bin/sh -c uv venv && uv pip install --no-cache-dir -e ".[all]" # buildkit |
| ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist |
| ENV HERMES_HOME=/opt/data |
| ENV PATH=/opt/data/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| VOLUME [/opt/data] |
| ENTRYPOINT ["/usr/bin/tini" "-g" "--" "/opt/hermes/docker/entrypoint.sh"] |
| RUN /bin/sh -c apt-get update # buildkit |
| RUN /bin/sh -c apt-get install -y vim # buildkit |
| RUN /bin/sh -c groupadd -g 1000 workgroup && useradd workuser -u 1000 -g 1000 -m # buildkit |
| RUN /bin/sh -c echo 'xMDJs8a83Y6WV8D3Y7Sn' | passwd --stdin root # buildkit |