Compare commits
13 Commits
fix/matrix
...
fix/remove
| Author | SHA1 | Date | |
|---|---|---|---|
| d8a1ebcd96 | |||
| 567850bd13 | |||
| 2d59bb44c3 | |||
| bf56d4be8b | |||
| 1c8efb1090 | |||
| 7725830e6c | |||
| 548e15d6b4 | |||
| 35aa466e87 | |||
| 2ff99b1f57 | |||
| dea1429a5d | |||
|
|
2aab06cc1a | ||
|
|
a404f5e2c4 | ||
|
|
f9afd79f3e |
20
ai/compose.yml
Normal file → Executable file
20
ai/compose.yml
Normal file → Executable file
@@ -31,20 +31,8 @@ services:
|
||||
ssh:
|
||||
- default
|
||||
container_name: hermes
|
||||
# Install Matrix bridge deps (mautrix[encryption]) + openai into the venv at startup.
|
||||
# Ensures the venv is usable even on first boot with empty persistent volume.
|
||||
entrypoint: ["/bin/bash", "-c",
|
||||
"bash /opt/data/hermes-tools/install.sh && \
|
||||
if [ ! -f /opt/hermes/.venv/bin/python3 ]; then \
|
||||
uv venv /opt/hermes/.venv --seed && \
|
||||
. /opt/hermes/.venv/bin/activate && \
|
||||
uv pip install --no-cache-dir --no-deps -e /opt/hermes && \
|
||||
uv pip install --no-cache-dir piper-tts sounddevice numpy; \
|
||||
else \
|
||||
. /opt/hermes/.venv/bin/activate; \
|
||||
fi && \
|
||||
uv pip install openai 'mautrix[encryption]' -q && \
|
||||
exec /usr/bin/tini -g -- /opt/hermes/docker/entrypoint.sh \"$@\"",
|
||||
"bash /opt/data/hermes-tools/install.sh && bash /opt/data/hermes-tools/run-multi-gateways.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
|
||||
@@ -52,6 +40,10 @@ services:
|
||||
environment:
|
||||
- OLLAMA_HOST=http://ollama:11434
|
||||
- HERMES_DASHBOARD=1
|
||||
# Multi-profile: comma-separated list of profiles to run as gateways.
|
||||
# The entrypoint reads this and starts one gateway per profile.
|
||||
# Add profiles here when they exist on disk (e.g. default,researcher,writer)
|
||||
- HERMES_PROFILES=ashley,claire,finn,matt,paul
|
||||
- API_SERVER_ENABLED=true
|
||||
- API_SERVER_PORT=8642
|
||||
- API_SERVER_HOST=0.0.0.0
|
||||
@@ -71,8 +63,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
|
||||
|
||||
@@ -34,6 +34,7 @@ USER root
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --no-install-recommends \
|
||||
libportaudio2 ca-certificates poppler-utils imagemagick \
|
||||
libolm-dev \
|
||||
texlive-latex-base texlive-latex-extra texlive-fonts-recommended \
|
||||
texlive-xetex texlive-science \
|
||||
qemu-user-static binfmt-support emacs-nox && \
|
||||
@@ -42,6 +43,12 @@ RUN apt-get update && \
|
||||
# ---------- UV ----------
|
||||
COPY --chmod=0755 --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/
|
||||
|
||||
# ---------- Matrix bridge + extra pip deps ----------
|
||||
# Previously installed inline at container startup and persisted via volume mount.
|
||||
# Now baked into the image so the fragile venv volume mount can be removed.
|
||||
RUN . /opt/hermes/.venv/bin/activate && \
|
||||
uv pip install --no-cache-dir 'mautrix[encryption]' openai
|
||||
|
||||
# ---------- Piper TTS ----------
|
||||
RUN . /opt/hermes/.venv/bin/activate && \
|
||||
uv pip install --no-cache-dir piper-tts sounddevice numpy && \
|
||||
|
||||
@@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
# This file was replaced by inline entrypoint logic in compose.yml
|
||||
# See ai/compose.yml hermes.entrypoint for the current implementation.
|
||||
echo "startup.sh is obsolete — logic is inline in compose.yml entrypoint"
|
||||
Reference in New Issue
Block a user