Reboot handling
What happens on reboot
Section titled “What happens on reboot”Workspace containers are not automatically restarted after a host reboot.
When LabPod starts after a reboot, the reconciler detects that the host boot ID has changed and:
- Marks every workspace that was
runningbefore the reboot asstopped. - Records a
host_rebootedevent in the audit log. - Users see their workspaces listed as stopped and can click Start to bring them back.
In-memory state is lost: Jupyter kernels, running training processes, and terminal sessions
do not survive a reboot. However, any work saved to /work (the bind mount to ~/work) persists.
Post-reboot verification
Section titled “Post-reboot verification”# 1. Confirm the service is runningsudo systemctl status labpod
# 2. Check the API is respondingcurl -s http://127.0.0.1:24680/api/version
# 3. In the UI: verify that previously-running workspaces show "stopped"# with a host_rebooted audit entry.# Run these as root# 1. Confirm the service is runningsystemctl status labpod
# 2. Check the API is respondingcurl -s http://127.0.0.1:24680/api/version
# 3. In the UI: verify that previously-running workspaces show "stopped"# with a host_rebooted audit entry.If Start fails after reboot
Section titled “If Start fails after reboot”Check that rootless Podman is still configured correctly for the workspace owner:
# 1. Verify user linger is enabledsudo loginctl show-user <username> | grep Linger# Should show: Linger=yes
# 2. List the user's containerssudo runuser -u <username> -- podman ps -a --filter name=labpod-ws-<id>
# 3. Check container logs for the failed startsudo runuser -u <username> -- podman logs labpod-ws-<id># Run these as root# 1. Verify user linger is enabledloginctl show-user <username> | grep Linger# Should show: Linger=yes
# 2. List the user's containersrunuser -u <username> -- podman ps -a --filter name=labpod-ws-<id>
# 3. Check container logs for the failed startrunuser -u <username> -- podman logs labpod-ws-<id>Common post-reboot causes:
- Linger not set - run
sudo loginctl enable-linger <username>and try again. - Image was pruned - Podman couldn’t find the image; the workspace will fail until it’s pulled again. The error shows in the workspace detail page.
- Port conflict - rare, since LabPod allocates ports from a managed pool.
Run sudo labpod admin doctor for a general health check after any reboot.