ComfyUI / Dockerfile
dieumercimvemba's picture
Update Dockerfile
8dfbc29 verified
Raw
History Blame Contribute Delete
1.98 kB
FROM nousresearch/hermes-agent:latest
# 1. Installation de Node.js, npm, git, ffmpeg et pnpm
USER root
RUN apt-get update && \
apt-get install -y nodejs npm git curl ffmpeg && \
npm install -g pnpm && \
rm -rf /var/lib/apt/lists/*
# 2. Installation de Hermes Workspace
RUN git clone https://github.com/NousResearch/hermes-workspace.git /opt/hermes-workspace
WORKDIR /opt/hermes-workspace
RUN pnpm install
# 3. Préparation du répertoire de données
RUN mkdir -p /opt/data/logs && chmod -R 777 /opt/data
# 4. Script d'initialisation au boot (nettoyage des verrous + permissions)
RUN mkdir -p /etc/cont-init.d && \
cat << 'EOF' > /etc/cont-init.d/99-fix-perms.sh
#!/bin/sh
rm -f /opt/data/*.lock /opt/data/*.db.init.lock
mkdir -p /opt/data/logs
chown -hR 10000:10000 /opt/data 2>/dev/null || true
chmod -R 777 /opt/data 2>/dev/null || true
EOF
RUN chmod +x /etc/cont-init.d/99-fix-perms.sh
# 5. Script de démarrage
RUN cat << 'EOF' > /usr/local/bin/start-hermes.sh
#!/bin/bash
set -e
echo "Starting Hermes Gateway..."
gateway run &
echo "Starting Hermes Workspace..."
cd /opt/hermes-workspace
pnpm dev
EOF
RUN chmod +x /usr/local/bin/start-hermes.sh
# 6. Configuration Gateway & Dashboard
ENV HERMES_HOME=/opt/data \
HOME=/opt/data \
HERMES_DASHBOARD=1 \
HERMES_DASHBOARD_HOST=0.0.0.0 \
HERMES_DASHBOARD_PORT=7860 \
API_SERVER_ENABLED=true \
API_SERVER_HOST=0.0.0.0 \
API_SERVER_PORT=8642
# 7. Activation des messageries
ENV TELEGRAM_ENABLED=true \
WHATSAPP_ENABLED=false \
DISCORD_ENABLED=false \
SLACK_ENABLED=false \
MATRIX_ENABLED=false
# Telegram
# ENV TELEGRAM_BOT_TOKEN="xxxxxxxx"
# ENV TELEGRAM_ALLOWED_USERS="xxxxxxxx"
# 8. Sécurité
ENV HERMES_TOOL_LOOP_HARD_STOP_ENABLED=true \
HERMES_TOOL_LOOP_EXACT_FAILURE_LIMIT=5 \
HERMES_TOOL_LOOP_IDEMPOTENT_LIMIT=5 \
HERMES_LOG_LEVEL=INFO
EXPOSE 7860
EXPOSE 8642
EXPOSE 3000
WORKDIR /opt/data
CMD ["/usr/local/bin/start-hermes.sh"]