# Build-time compose file for the Spyder IDE stack with Wayland-native and X11 fallback frontends. services: spyder-wayland: # Preferred Wayland session; shares GPU via /dev/dri. build: context: . dockerfile: Dockerfile image: ${LOCAL_IMAGE_NAME:-spyder-conda} environment: UID: "${UID}" GID: "${GID}" HOST_USER: "${HOST_USER}" HOST_GROUP: "${HOST_GROUP}" SPYDER_HOME: "${SPYDER_HOME}" SPYDER_WORKSPACE: "${SPYDER_WORKSPACE}" HOME: "${SPYDER_HOME}" WAYLAND_DISPLAY: "${WAYLAND_DISPLAY}" XDG_RUNTIME_DIR: "${XDG_RUNTIME_DIR}" QT_QPA_PLATFORM: "wayland" QTWEBENGINE_DISABLE_SANDBOX: "1" QTWEBENGINE_CHROMIUM_FLAGS: "--no-sandbox" TZ: "Europe/Berlin" volumes: - ${SPYDER_HOME_VOLUME}:${SPYDER_HOME} - ${SPYDER_WORKSPACE_VOLUME}:${SPYDER_WORKSPACE} - ${XDG_RUNTIME_DIR}:${XDG_RUNTIME_DIR} working_dir: ${SPYDER_WORKSPACE} devices: - "/dev/dri:/dev/dri" shm_size: "1gb" restart: "no" spyder-x11: # Optional X11 fallback; enable via `--profile x11`. profiles: - "x11" build: context: . dockerfile: Dockerfile image: ${LOCAL_IMAGE_NAME:-spyder-conda} environment: UID: "${UID}" GID: "${GID}" HOST_USER: "${HOST_USER}" HOST_GROUP: "${HOST_GROUP}" SPYDER_HOME: "${SPYDER_HOME}" SPYDER_WORKSPACE: "${SPYDER_WORKSPACE}" HOME: "${SPYDER_HOME}" DISPLAY: "${DISPLAY}" QT_QPA_PLATFORM: "xcb" QT_X11_NO_MITSHM: "1" QTWEBENGINE_DISABLE_SANDBOX: "1" QTWEBENGINE_CHROMIUM_FLAGS: "--no-sandbox" TZ: "Europe/Berlin" volumes: - ${SPYDER_HOME_VOLUME}:${SPYDER_HOME} - ${SPYDER_WORKSPACE_VOLUME}:${SPYDER_WORKSPACE} - /tmp/.X11-unix:/tmp/.X11-unix:ro working_dir: ${SPYDER_WORKSPACE} devices: - "/dev/dri:/dev/dri" shm_size: "1gb" restart: "no"