Compare commits
2 Commits
35aa466e87
...
feat/ai-ch
| Author | SHA1 | Date | |
|---|---|---|---|
| 501f2d0f92 | |||
| 6e1c991bb7 |
33
ai/Dockerfile
Normal file
33
ai/Dockerfile
Normal file
@@ -0,0 +1,33 @@
|
||||
FROM debian:13.4
|
||||
|
||||
# Install system dependencies for Hermes agent with headless browser automation
|
||||
# Single RUN layer to minimize image size.
|
||||
# PR #7 base: curl, poppler-utils, imagemagick for document processing
|
||||
# New: chromium + xvfb for headless browser automation
|
||||
# New: fonts for comprehensive Unicode/CJK/emoji coverage
|
||||
# New: runtime libs required by Chromium
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
curl \
|
||||
poppler-utils \
|
||||
imagemagick \
|
||||
chromium \
|
||||
xvfb \
|
||||
fonts-noto-color-emoji fonts-unifont fonts-liberation fonts-ipafont-gothic fonts-wqy-zenhei fonts-tlwg-loma-otf fonts-freefont-ttf \
|
||||
libasound2t64 libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libcairo2 libcups2t64 libdbus-1-3 libdrm2 libgbm1 libglib2.0-0t64 libnspr4 libnss3 libpango-1.0-0 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install uv (Python package manager)
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /usr/local/bin/uv /usr/local/bin/uv
|
||||
RUN uv --version
|
||||
|
||||
# Verify all expected tools are available
|
||||
RUN curl --version && \
|
||||
pdftotext -v 2>&1 | head -1 && \
|
||||
pdfinfo -v 2>&1 | head -1 && \
|
||||
pdftoppm -v 2>&1 | head -1 && \
|
||||
convert --version | head -1 && \
|
||||
identify --version | head -1 && \
|
||||
chromium --version
|
||||
|
||||
CMD ["/bin/bash"]
|
||||
6
ai/compose.yml
Executable file → Normal file
6
ai/compose.yml
Executable file → Normal file
@@ -32,9 +32,11 @@ services:
|
||||
- default
|
||||
container_name: hermes
|
||||
entrypoint: ["/bin/bash", "-c",
|
||||
"bash /opt/data/hermes-tools/install.sh && . /opt/hermes/.venv/bin/activate && uv pip install openai 'mautrix[encryption]' -q && exec /usr/bin/tini -g -- /opt/hermes/docker/entrypoint.sh \"$@\"",
|
||||
"bash /opt/data/hermes-tools/install.sh && exec /usr/bin/tini -g -- /opt/hermes/docker/entrypoint.sh \"$@\"",
|
||||
"hermes-entrypoint"]
|
||||
restart: always
|
||||
# Gateway run enables the internal API server on port 8642
|
||||
command: gateway run
|
||||
environment:
|
||||
- OLLAMA_HOST=http://ollama:11434
|
||||
- API_SERVER_ENABLED=true
|
||||
@@ -56,8 +58,6 @@ services:
|
||||
- /mnt/HoardingCow_docker_data/Syncthing/telos-ro:/opt/data/telos-ro:ro
|
||||
# Syncthing-shared inbox — write tasks here, they sync to user's laptop
|
||||
- /mnt/HoardingCow_docker_data/Syncthing/telos-rw:/opt/data/telos-rw:rw
|
||||
# Persist Python venv across container recreation (Matrix bridge deps, etc.)
|
||||
- /mnt/HoardingCow_docker_data/Hermes/venv:/opt/hermes/.venv
|
||||
devices:
|
||||
- /dev/kfd:/dev/kfd
|
||||
- /dev/dri:/dev/dri
|
||||
|
||||
Reference in New Issue
Block a user