Snap documentation

Snaps are self-contained application packages that work across different Linux distributions on many different platforms, from embedded devices and desktops, to servers and the cloud.

The snap daemon, snapd, handles installation, confinement, and updates, allowing developers to focus on their applications while users get a consistent experience across platforms.

Snap packages and snapd solve the problem of inconsistent application packaging and deployment by providing a unified system that works the same way regardless of the underlying Linux distribution or hardware.

Snaps are useful for application developers seeking a universal packaging solution, system administrators managing diverse Linux environments, IoT and embedded device makers, and organizations where security and consistent deployments are priorities.

For guidance on building snaps, see the Snapcraft build-tool documentation.

In this documentation

First steps

Get snap running and take a tour of its core features before diving deeper.

Managing snaps

Install, configure, and maintain snaps day-to-day. Control updates, interfaces, services, and data.

Security and confinement

Understand how snaps use Linux security technologies to isolate applications and protect your system.

Snap development

For guidance on building snaps, see the Snapcraft build-tool documentation.

Extend snap functionality using the REST API, internal tooling, and in-development features.

System internals

Understand how the snap system works: updates, channels, confinement, storage, and performance.

How this documentation is organised

This documentation uses the Diátaxis documentation structure.

  • Tutorials take you step-by-step through building and deploying your first Ubuntu Core image.

  • How-to guides provide instructions for specific tasks like customizing snaps, deploying to platforms, and managing devices.

  • Reference provides technical specifications, formats, and details you need while working.

  • Explanation provides conceptual context about architecture, security, storage, and update mechanisms.

Project and community

Snap and Snapcraft are members of the Ubuntu family. They’re both open source projects that welcome community involvement, contributions, suggestions, fixes and constructive feedback.

Thinking about using snap for your next project? Get in touch!