Commit History

  1. fix: chown /home/tao-shen after restore (old uid mapping)⁠

    tao-shen +1: Claude Opus 4.6
    444d40a
  2. feat: sync /var/log for system log persistence⁠

    tao-shen +1: Claude Opus 4.6
    a0dcc38
  3. feat: upload huggingrun.log to dataset for debugging⁠

    tao-shen +1: Claude Opus 4.6
    d111a78
  4. feat: tao-shen user with sudo, hostname=huggingrun, ttyd login⁠

    tao-shen +1: Claude Opus 4.6
    ca96613
  5. feat: sync /etc with proper excludes + pip package persistence⁠

    tao-shen +1: Claude Opus 4.6
    0cdf7b0
  6. fix: chmod SSH host keys after restore (HF loses permissions)⁠

    tao-shen +1: Claude Opus 4.6
    03209c8
  7. fix: use Popen for sshd restart, match original start_sshd() pattern⁠

    tao-shen +1: Claude Opus 4.6
    9a274e2
  8. fix: use apt --reinstall to handle restored dpkg state⁠

    tao-shen +1: Claude Opus 4.6
    b56f91e
  9. fix: sync /etc/ssh only, not all of /etc/⁠

    tao-shen +1: Claude Opus 4.6
    0db5b04
  10. v2: complete rewrite — sync only user data, not system dirs⁠

    tao-shen +1: Claude Opus 4.6
    269f150
  11. fix: exclude /etc/alternatives from restore (symlinks not preserved by HF)⁠

    tao-shen +1: Claude Opus 4.6
    4314e7c
  12. fix: replace hanging upload_large_folder with per-dir upload + rate limiting⁠

    tao-shen +1: Claude Opus 4.6
    5c0994f
  13. fix: use upload_large_folder for entire /data/ directory⁠

    tao-shen +1: Claude Opus 4.6
    b97023a
  14. fix: remove --delete from restore rsync to prevent /bin/sh deletion⁠

    tao-shen +1: Claude Opus 4.6
    63934c3
  15. fix: skip system dirs during restore to prevent /bin/sh permission loss⁠

    tao-shen +1: Claude Opus 4.6
    8bddfd6
  16. fix: use upload_large_folder for big dirs + retry with backoff⁠

    tao-shen +1: Claude Opus 4.6
    9f98401
  17. fix: sync thread waits for restore to finish before starting⁠

    tao-shen +1: Claude Opus 4.6
    54cbddc
  18. fix: start nginx first, restore in background⁠

    tao-shen +1: Claude Opus 4.6
    80c4d9b
  19. fix: auto-split large dirs + exclude huggingrun.env from upload⁠

    tao-shen +1: Claude Opus 4.6
    980afb9
  20. fix: upload per top-level directory to avoid 504 timeout⁠

    tao-shen +1: Claude Opus 4.6
    7f87cb0
  21. feat: direct file sync — dataset root = filesystem root⁠

    tao-shen +1: Claude Opus 4.6
    501b164
  22. feat: full-disk persistence — tar entire / filesystem every 60s⁠

    tao-shen +1: Claude Opus 4.6
    20de61f
  23. feat: full filesystem persistence (not just /home + /root)⁠

    tao-shen +1: Claude Opus 4.6
    acafb8d
  24. fix: run nginx as subprocess (not exec) to keep sync threads alive⁠

    tao-shen +1: Claude Opus 4.6
    d09e48b
  25. fix: split Dockerfile apt-get calls (match proven build pattern)⁠

    tao-shen +1: Claude Opus 4.6
    8e73dda
  26. v2: complete redesign — single entrypoint, tar.zst persistence⁠

    tao-shen +1: Claude Opus 4.6
    52013b5
  27. fix: remove .cache dirs from rootfs before upload (HF API rejects them)⁠

    tao-shen +1: Claude Opus 4.6
    7098b1b
  28. fix: exclude .cache from rsync save (HF API rejects .cache/ paths)⁠

    tao-shen +1: Claude Opus 4.6
    9f8f146
  29. fix: restore original logging pattern + fix sync hanging⁠

    tao-shen +1: Claude Opus 4.6
    ea03e2a

  1. fix: replace awk with cut/grep (awk permission denied) + fix restore permissions⁠

    tao-shen +1: Claude Opus 4.6
    bfc7c5f
  2. fix: output logs to stderr (HF captures stderr for Docker SDK spaces)⁠

    tao-shen +1: Claude Opus 4.6
    291e860
  3. fix: remove /proc/1/fd/1 redirect (infinite loop when entrypoint IS PID 1)⁠

    tao-shen +1: Claude Opus 4.6
    8d64fb2
  4. feat: redirect all output through /proc/1/fd/1 for HF log capture⁠

    tao-shen +1: Claude Opus 4.6
    01c6e53
  5. fix: move ALL app scripts to /scripts/ (outside PERSIST_DIRS)⁠

    tao-shen +1: Claude Opus 4.6
    6adea9c
  6. fix: use nginx -c /scripts/nginx.conf to bypass /etc/nginx restore⁠

    tao-shen +1: Claude Opus 4.6
    7152d8b
  7. fix: copy nginx.conf to /scripts/ AFTER COPY scripts (dir replace)⁠

    tao-shen +1: Claude Opus 4.6
    bdc0fe0
  8. fix: store nginx.conf outside PERSIST_DIRS, restore before nginx start⁠

    tao-shen +1: Claude Opus 4.6
    e081bc5
  9. fix: exclude /etc/nginx from persist to prevent config overwrite⁠

    tao-shen +1: Claude Opus 4.6
    4233ced
  10. fix: use /runlog endpoints (HF intercepts /logs and /api/*)⁠

    tao-shen +1: Claude Opus 4.6
    3dc8487
  11. test: add 30s delay before nginx to verify HF SSE during STARTING⁠

    tao-shen +1: Claude Opus 4.6
    baf6f79
  12. fix: start nginx LAST so startup logs appear in HF SSE⁠

    tao-shen +1: Claude Opus 4.6
    f18461b
  13. fix: use Python PID 1 wrapper to capture all output for HF SSE⁠

    tao-shen +1: Claude Opus 4.6
    9c66a5d
  14. diag: remove exec, add 10s stdout ping to test HF SSE capture⁠

    tao-shen +1: Claude Opus 4.6
    faf2454
  15. fix: use direct stdout (not stderr) for HF runtime log capture⁠

    tao-shen +1: Claude Opus 4.6
    0c16381
  16. fix: switch all log output from tee (pipe-buffered) to direct stderr⁠

    tao-shen +1: Claude Opus 4.6
    59be1b8
  17. fix: targeted restore — only sync user dirs, not system dirs⁠

    tao-shen +1: Claude Opus 4.6
    9161deb
  18. fix: use --no-perms --chmod=D755,F644 in rsync restore⁠

    tao-shen +1: Claude Opus 4.6
    c44ae59
  19. fix: remove ACL/xattr flags from rsync, fix permissions after restore⁠

    tao-shen +1: Claude Opus 4.6
    0278b97
  20. fix: exclude system binaries from rsync to prevent /bin/sh permission crash⁠

    tao-shen +1: Claude Opus 4.6
    17404b5
  21. fix: restore foreground sync + stdout logging for HF runtime log API⁠

    tao-shen +1: Claude Opus 4.6
    9c623ef