somratpro commited on
Commit
ddafed3
·
1 Parent(s): 4488348

fix: resolve Docker build failures by handling library renaming, pinning JupyterLab dependencies, and using explicit binary paths

Browse files
Files changed (2) hide show
  1. CHANGELOG.md +9 -0
  2. Dockerfile +10 -3
CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
  # Changelog
2
 
 
 
 
 
 
 
 
 
 
3
  ## 0.2.0 - 2026-05-19
4
 
5
  ### Features
 
1
  # Changelog
2
 
3
+ ## 0.2.1 - 2026-05-20
4
+
5
+ ### Fixes
6
+
7
+ - **Build fails after update** — `libasound2` renamed to `libasound2t64` in Debian bookworm. Dockerfile now tries both names, falling back gracefully so builds succeed on all base image variants.
8
+ - **Unpinned jupyterlab breaks venv** — `uv pip install jupyterlab` without a version constraint could pull a release incompatible with existing Hermes venv packages. Pinned to `>=4.0,<5` range to bound resolution.
9
+ - **`uv` not in PATH during Docker build** — switched from bare `uv` to explicit `/opt/hermes/.venv/bin/uv` so the install works regardless of base image PATH configuration.
10
+ - **`visudo` not in PATH during Docker build** — switched to explicit `/usr/sbin/visudo` path.
11
+
12
  ## 0.2.0 - 2026-05-19
13
 
14
  ### Features
Dockerfile CHANGED
@@ -26,15 +26,22 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
26
  libx11-6 \
27
  libxext6 \
28
  libxfixes3 \
29
- libasound2 \
30
  fonts-dejavu-core \
31
  fonts-liberation \
32
  fonts-noto-color-emoji \
 
 
 
33
  && rm -rf /var/lib/apt/lists/* \
34
- && uv pip install --python /opt/hermes/.venv/bin/python --no-cache-dir huggingface_hub hf_transfer jupyterlab \
 
 
 
 
 
35
  && printf 'hermes ALL=(ALL) NOPASSWD: ALL\n' > /etc/sudoers.d/hermes \
36
  && chmod 0440 /etc/sudoers.d/hermes \
37
- && visudo -cf /etc/sudoers.d/hermes
38
 
39
  COPY --chown=hermes:hermes start.sh /opt/huggingmes/start.sh
40
  COPY --chown=hermes:hermes health-server.js /opt/huggingmes/health-server.js
 
26
  libx11-6 \
27
  libxext6 \
28
  libxfixes3 \
 
29
  fonts-dejavu-core \
30
  fonts-liberation \
31
  fonts-noto-color-emoji \
32
+ && (apt-get install -y --no-install-recommends libasound2 2>/dev/null \
33
+ || apt-get install -y --no-install-recommends libasound2t64 2>/dev/null \
34
+ || true) \
35
  && rm -rf /var/lib/apt/lists/* \
36
+ && /opt/hermes/.venv/bin/uv pip install --no-cache-dir \
37
+ huggingface_hub \
38
+ hf_transfer \
39
+ "jupyterlab>=4.0,<5" \
40
+ "tornado>=6.4" \
41
+ "ipywidgets>=8.1" \
42
  && printf 'hermes ALL=(ALL) NOPASSWD: ALL\n' > /etc/sudoers.d/hermes \
43
  && chmod 0440 /etc/sudoers.d/hermes \
44
+ && /usr/sbin/visudo -cf /etc/sudoers.d/hermes
45
 
46
  COPY --chown=hermes:hermes start.sh /opt/huggingmes/start.sh
47
  COPY --chown=hermes:hermes health-server.js /opt/huggingmes/health-server.js