fix: Docker uv pre-install at build time + workspace permissions (#365)
* fix: pre-install uv in Docker image + fix workspace dir permissions (#357) Two fixes for Docker startup reliability: 1. Install uv at build time in the Dockerfile so the container works without internet access at runtime. The init script now skips the download when uv is already on PATH. 2. Use sudo mkdir/chown for the workspace directory, matching the pattern used for /app. Docker auto-creates bind-mount directories as root, leaving them unwritable by the hermeswebui user. Fixes #357 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix: Docker uv pre-install as root to /usr/local/bin + tests + CHANGELOG Dockerfile: install uv as root with UV_INSTALL_DIR=/usr/local/bin so it lands in /usr/local/bin (system PATH) rather than /home/hermeswebuitoo/.local/bin which the hermeswebui runtime user can't see. tests/test_issue357.py: 15 structural tests covering Dockerfile uv build-time install (system-wide, as root, before COPY), init script skip-if-present logic, and workspace sudo mkdir/chown. CHANGELOG.md: v0.50.17 entry; 915 tests (up from 900) --------- Co-authored-by: Nathan Esquenazi <nesquena@gmail.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -67,6 +67,13 @@ RUN touch /.within_container
|
||||
RUN rm -rf /var/lib/apt/lists/* /etc/apt/apt.conf.d/01proxy \
|
||||
&& apt-get clean
|
||||
|
||||
USER root
|
||||
|
||||
# Pre-install uv system-wide so the container doesn't need internet access at runtime.
|
||||
# Installing as root places uv in /usr/local/bin, available to all users.
|
||||
# The init script will skip the download when uv is already on PATH.
|
||||
RUN curl -LsSf https://astral.sh/uv/install.sh | env UV_INSTALL_DIR=/usr/local/bin sh
|
||||
|
||||
USER hermeswebuitoo
|
||||
|
||||
COPY . /apptoo
|
||||
|
||||
Reference in New Issue
Block a user