Skip to main content

What comes back after a resume or fork

boat stop makes a snapshot of the file system. boat resume restores that file system. boat fork makes a new sandbox from the latest snapshot. A resume takes a few seconds, for any amount of data in the sandbox. For what a snapshot saves, restore behavior, retention, and how to look at or download a snapshot, see Snapshots. A stop and resume is the same as a server reboot:

Run an always-on service

To make a process come back after stop, resume and fork with no action from you, run it as an enabled systemd service. The unit file is under /etc, which is in the snapshot. Thus a resumed or forked sandbox starts the service by itself.
  • Restart=always also starts the process again if it crashes.
  • To check the service, run systemctl status my-app.
  • To read its logs, run journalctl -u my-app.
Run these commands inside the sandbox. Use boat ssh, the command endpoint, or the command method of the SDKs. If the service serves HTTP, expose it with host <port>. After a resume, host on the same port gives the same URL and token. Thus links that you gave out continue to work. See Hosting.

Resume or fork

To continue earlier work, resume the sandbox. To branch earlier work, fork it. Both use the latest snapshot.

Repeatable setup

For repeatable workflows, make your setup and start commands idempotent:
For command timeouts and retries, see Background commands.