fix: restore HAPPY_HOME_DIR to PVC to preserve settings across restarts (#19)

Moving it to /workspace (emptyDir) wiped Happy Coder's auth, config,
and state on every pod restart. The daemon also failed to start on boot
because the settings were gone.

Keep HAPPY_HOME_DIR on the home PVC (/home/user/.happy) for persistence.
The stale lock cleanup in init-repo.sh already handles the daemon.state.json.lock
problem that motivated the workspace move.

Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit was merged in pull request #19.
This commit is contained in:
2026-02-20 13:22:33 -05:00
committed by GitHub
parent b5820cfc7f
commit b0d4b98bb4
2 changed files with 4 additions and 5 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ githubRepo: ""
# Happy Coder endpoints
happyServerUrl: "https://happy.farh.net"
happyWebappUrl: "https://happy-coder.farh.net"
happyHomeDir: "/workspace/.happy"
happyHomeDir: "/home/user/.happy"
happyExperimental: "true"
# VNC display
+3 -4
View File
@@ -63,10 +63,9 @@ chown "$RUN_UID:$RUN_GID" "$HOME"
# so no sudo needed — Happy/Claude Code will find credentials in the correct home dir.
echo "Starting Happy Coder..."
# HAPPY_HOME_DIR is in /workspace (emptyDir), so it is always fresh on pod start.
# Remove the lock file as a safety net in case daemon start is called more than
# once within the same container lifetime.
rm -f "${HAPPY_HOME_DIR:-/workspace/.happy}/daemon.state.json.lock"
# Remove stale lock file. HAPPY_HOME_DIR lives on the home PVC so it survives
# pod restarts — without this cleanup the daemon refuses to start after a crash.
rm -f "${HAPPY_HOME_DIR:-$HOME/.happy}/daemon.state.json.lock"
cd "$WORKSPACE_DIR"
happy daemon start || echo "Happy Coder daemon failed to start, continuing anyway..."