From 26701675f2f7e6841c8a4903c7481bc7b4b0cccd Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 22 Mar 2026 07:38:40 +0000 Subject: [PATCH] Use XDG_RUNTIME_DIR or /tmp fallback for Podman socket dir /run/user/ is created by PAM/logind and doesn't exist in non-login shells. Fall back to /tmp/podman- when XDG_RUNTIME_DIR is unset so mkdir always succeeds. https://claude.ai/code/session_01FKCW3FDjNFj6jve4niMFXH --- infra/start.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/infra/start.sh b/infra/start.sh index 3d25713..9dd3df3 100755 --- a/infra/start.sh +++ b/infra/start.sh @@ -62,12 +62,15 @@ echo "[hiy] Generated proxy/caddy.json for ${DOMAIN_SUFFIX}" # ── Ensure Podman socket is active ──────────────────────────────────────────── # systemctl --user requires a D-Bus session (not available in non-interactive # shells). Use podman system service directly instead. -PODMAN_SOCK="/run/user/$(id -u)/podman/podman.sock" +# /run/user/ is only created by PAM/logind during a real login session. +# Fall back to /tmp when XDG_RUNTIME_DIR is not set. +_SOCK_DIR="${XDG_RUNTIME_DIR:-/tmp/podman-$(id -u)}" +PODMAN_SOCK="${_SOCK_DIR}/podman.sock" export PODMAN_SOCK export DOCKER_HOST="unix://${PODMAN_SOCK}" if [ ! -S "$PODMAN_SOCK" ]; then echo "[hiy] Starting Podman socket via podman system service…" - mkdir -p "$(dirname "$PODMAN_SOCK")" + mkdir -p "$_SOCK_DIR" podman system service --time=0 "unix://${PODMAN_SOCK}" & # Wait up to 5 s for the socket to appear for i in 1 2 3 4 5; do