-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.hermes
More file actions
45 lines (33 loc) · 1.88 KB
/
Dockerfile.hermes
File metadata and controls
45 lines (33 loc) · 1.88 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
FROM ubuntu:22.04
# System packages
RUN apt-get update && apt-get install -y --no-install-recommends \
curl git ripgrep ffmpeg ca-certificates build-essential \
python3-dev libffi-dev && rm -rf /var/lib/apt/lists/*
# uv (fast Python package manager)
RUN curl -LsSf https://astral.sh/uv/install.sh | sh
# Python 3.11 via uv
RUN /root/.local/bin/uv python install 3.11
# Node.js 22 LTS
RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \
&& apt-get install -y nodejs && rm -rf /var/lib/apt/lists/*
# Hermes Agent + all optional deps
RUN git clone --depth 1 https://github.com/NousResearch/hermes-agent.git /opt/hermes-agent
RUN cd /opt/hermes-agent \
&& /root/.local/bin/uv venv venv --python 3.11 \
&& VIRTUAL_ENV=/opt/hermes-agent/venv /root/.local/bin/uv pip install -e ".[all]" \
|| VIRTUAL_ENV=/opt/hermes-agent/venv /root/.local/bin/uv pip install -e "."
RUN ln -sf /opt/hermes-agent/venv/bin/hermes /usr/local/bin/hermes
# Node deps for browser tooling
RUN cd /opt/hermes-agent && npm install --silent 2>/dev/null || true
# Playwright Chromium for browser-based skills
RUN cd /opt/hermes-agent && npx playwright install --with-deps chromium 2>/dev/null || true
# TUI dependencies (if present)
RUN cd /opt/hermes-agent && if [ -f ui-tui/package.json ]; then cd ui-tui && npm install --silent 2>/dev/null; fi || true
# WhatsApp bridge dependencies (if present)
RUN cd /opt/hermes-agent && if [ -f scripts/whatsapp-bridge/package.json ]; then cd scripts/whatsapp-bridge && npm install --silent 2>/dev/null; fi || true
# Pre-create hermes home directory
RUN mkdir -p /home/daytona/.hermes/skills /home/daytona/.hermes/logs
# Ensure daytona user can access everything
RUN chmod -R a+rX /opt/hermes-agent && chmod -R a+rw /home/daytona/.hermes
# Cleanup caches to reduce image size (preserve Playwright browsers)
RUN rm -rf /root/.cache/pip /root/.cache/uv /tmp/* /var/tmp/*