Skip to content
Dashboard

Storage and lifecycle

SnapVM machines are useful because their filesystem remains durable while compute can stop or hibernate.

The persistent filesystem keeps:

  • Source code and Git repositories
  • Installed packages and language runtimes
  • Generated files
  • Local configuration
  • Databases stored on disk
  • Service definitions

This means a machine can feel like a long-lived development computer even when its compute runtime sleeps between sessions.

The following should be treated as ephemeral:

  • Running processes that are not services
  • In-memory caches
  • Unsaved editor buffers
  • Temporary sockets
  • Runtime-local network connections

If a process matters after wake-up, define it as a service. If data matters, write it to disk or a remote backing service.

A stopped or hibernating machine can wake when:

  • A user opens the terminal in the console
  • A browser requests the machine HTTPS URL
  • The API receives a start request
  • A deployment-specific scheduler or worker starts the machine

Wake time depends on runtime type, region, image size, and service startup cost.

Use this pattern for low-friction development:

  1. Keep project files under a predictable workspace directory.
  2. Commit source code to Git before deleting machines.
  3. Use services for long-running processes.
  4. Stop or hibernate when the machine is idle.
  5. Treat deletion as final.
SymptomCheck
Files are present but server is downThe server was probably an interactive process; define a service
Machine URL wakes but returns an errorConfirm the service port and logs
Terminal cannot connectCheck machine state, agent health, and gateway logs
Wake-up feels slowInspect service startup cost and image/runtime size