From 9d8289e9e8832e00fd51c9de392d071971491331 Mon Sep 17 00:00:00 2001 From: Jacob Curley Date: Wed, 13 May 2026 16:06:56 -0500 Subject: [PATCH] Fix file upload/download --- Dockerfile | 10 +++++++--- docker/start.sh | 9 ++++----- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index a2b1235..c6f7b2f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -158,11 +158,15 @@ LABEL org.opencontainers.image.source="https://github.com/fermi-ad/ap-python-tem LABEL org.opencontainers.image.description="Python application template (Xpra GUI runtime)" LABEL org.opencontainers.image.title="ap-python-template-xpra" +# Copy built venv from xpra-builder stage COPY --from=xpra-builder /usr/local /usr/local -COPY docker/start.sh /usr/local/bin/start.sh -RUN chmod +x /usr/local/bin/start.sh -WORKDIR /app +# Copy Xpra startup script with execute permissions +COPY --chmod=755 docker/start.sh /usr/local/bin/start.sh + +# Run from user's home dir so Xpra's file upload/download dialog opens to the +# same dir as the app's generated files +WORKDIR /home/pyuser # Switch to non-root user for runtime security USER pyuser:pygroup diff --git a/docker/start.sh b/docker/start.sh index 88a798b..69fdde6 100644 --- a/docker/start.sh +++ b/docker/start.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -Eeuo pipefail +APP_NAME="${APP_NAME:-ap-python-starter-kit}" XPRA_DISPLAY="${XPRA_DISPLAY:-:100}" XPRA_BIND_HOST="${XPRA_BIND_HOST:-0.0.0.0}" XPRA_BIND_PORT="${XPRA_BIND_PORT:-14500}" @@ -52,14 +53,12 @@ xpra start "${XPRA_DISPLAY}" \ --pulseaudio=no \ --notifications=no \ --bell=no \ - --xsettings=no \ + --headerbar=force \ --mdns=no \ --dbus-launch=no \ --dbus-control=no \ - --lock=yes \ - --sharing=no \ - --start-new-commands=no \ - --shell=no \ + --session-name="${APP_NAME}" \ + --dpi=0 \ >>"${XPRA_LOG_FILE}" 2>&1 & READY_HOST="127.0.0.1"