Spaces:
Running
Running
fix: resolve Docker build failures by handling library renaming, pinning JupyterLab dependencies, and using explicit binary paths
Browse files- CHANGELOG.md +9 -0
- 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 |
-
&&
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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
|