Compare commits

..

2 Commits

Author SHA1 Message Date
Thierry Pouplier
ba8634b770 feat(hermes): build from local Dockerfile with voice support
- Change hermes service from image: to build:
- Enables custom image with libportaudio2 and voice Python packages
2026-04-30 15:11:46 +00:00
Thierry Pouplier
278e4f7ffc feat(hermes): add ROCm env vars for GPU-accelerated STT 2026-04-30 15:09:44 +00:00
2 changed files with 9 additions and 44 deletions

View File

@@ -1,43 +0,0 @@
FROM ghcr.io/astral-sh/uv:0.11.6-python3.13-trixie@sha256:b3c543b6c4f23a5f2df22866bd7857e5d304b67a564f4feab6ac22044dde719b AS uv_source
FROM tianon/gosu:1.19-trixie@sha256:3b176695959c71e123eb390d427efc665eeb561b1540e82679c15e992006b8b9 AS gosu_source
FROM debian:13.4
ENV PYTHONUNBUFFERED=1
ENV PLAYWRIGHT_BROWSERS_PATH=/opt/hermes/.playwright
RUN apt-get update && \
apt-get install -y --no-install-recommends \
build-essential nodejs npm python3 ripgrep ffmpeg gcc python3-dev libffi-dev procps git openssh-client docker-cli tini \
curl poppler-utils imagemagick && \
rm -rf /var/lib/apt/lists/*
RUN useradd -u 10000 -m -d /opt/data hermes
COPY --chmod=0755 --from=gosu_source /gosu /usr/local/bin/
COPY --chmod=0755 --from=uv_source /usr/local/bin/uv /usr/local/bin/uvx /usr/local/bin/
WORKDIR /opt/hermes
COPY package.json package-lock.json ./
COPY web/package.json web/package-lock.json web/
RUN npm install --prefer-offline --no-audit && \
npx playwright install --with-deps chromium --only-shell && \
(cd web && npm install --prefer-offline --no-audit) && \
npm cache clean --force
COPY --chown=hermes:hermes . .
RUN cd web && npm run build
USER root
RUN chmod -R a+rX /opt/hermes
RUN uv venv && \
uv pip install --no-cache-dir -e ".[all]"
ENV HERMES_WEB_DIST=/opt/hermes/hermes_cli/web_dist
ENV HERMES_HOME=/opt/data
ENV PATH="/opt/data/.local/bin:${PATH}"
VOLUME [ "/opt/data" ]
ENTRYPOINT [ "/usr/bin/tini", "-g", "--", "/opt/hermes/docker/entrypoint.sh" ]

View File

@@ -26,7 +26,9 @@ services:
- "traefik.http.routers.webui-https.tls.certresolver=njalla"
hermes:
image: nousresearch/hermes-agent:latest
build:
context: ./hermes
dockerfile: Dockerfile
container_name: hermes
restart: always
# Gateway run enables the internal API server on port 8642
@@ -39,6 +41,12 @@ services:
- API_SERVER_KEY=hermes_local_key
- GATEWAY_ALLOW_ALL_USERS=true
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
# ROCm for GPU-accelerated faster-whisper STT
- HSA_OVERRIDE_GFX_VERSION=9.0.6
- HCC_AMDGPU_TARGET=gfx906
- HIP_VISIBLE_DEVICES=0,1
- ROCR_VISIBLE_DEVICES=0,1
- HSA_ENABLE_SDMA=0
volumes:
- /mnt/HoardingCow_docker_data/Hermes/data:/opt/data
devices: