snapcraft.io
Open in
urlscan Pro
2620:2d:4000:1::26
Public Scan
Submitted URL: http://snapcraft.io/
Effective URL: https://snapcraft.io/
Submission: On December 13 via manual from SK — Scanned from GB
Effective URL: https://snapcraft.io/
Submission: On December 13 via manual from SK — Scanned from GB
Form analysis
1 forms found in the DOM/search
<form class="p-search-box" action="/search">
<label class="u-off-screen" for="search">Search</label>
<input type="search" id="search" class="p-search-box__input" name="q" placeholder="Search thousands of snaps" required="" autocomplete="on">
<button type="reset" class="p-search-box__reset"><i class="p-icon--close">Close</i></button>
<button type="submit" class="p-search-box__button"><i class="p-icon--search">Search</i></button>
</form>
Text Content
Skip to main content Canonical Snapcraft Menu Close menu * Snap Store * About Snapcraft * Learn * Blog * Build * Docs * Tutorials * IoT * Forum * * Products * Canonical * Ubuntu * Ubuntu Pro * Snapcraft * LXD * MAAS * OpenStack * Ceph * Kubernetes * Juju * Also from Canonical * Anbox Cloud * Launchpad * Ubuntu on public clouds * Multipass * Cloud-init * Landscape * Netplan * Charmed Kubeflow * MicroCloud * About * Canonical * Press centre * Careers * Blog * Documentation * Resources * Partners * Contact us * All Canonical * My account * My published snaps * My stores * Account details * Sign out * Sign in THE APP STORE FOR LINUX Search Close Search -------------------------------------------------------------------------------- SNAPS YOU MAY LIKE * Featured * Development * Games * Server * Featured * Development * Games * Server -------------------------------------------------------------------------------- ADGUARD HOME AdGuard Network-wide ads & trackers blocking DNS server -------------------------------------------------------------------------------- DRAW.IO draw.io draw.io -------------------------------------------------------------------------------- SPOTIFY Spotify Music for everyone -------------------------------------------------------------------------------- * View all featured snaps * View all snaps -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- OFFICIAL SNAPS FROM MAJOR PUBLISHERS -------------------------------------------------------------------------------- LATEST NEWS FROM OUR BLOG › -------------------------------------------------------------------------------- SNAPCRAFT.IO RELOADED: CHECK OUT THE NEW LOOK AND FEEL 30 June 2023 Holly Hall -------------------------------------------------------------------------------- IMPROVING SNAP MAINTENANCE WITH AUTOMATION 27 June 2023 Heather Ellsworth -------------------------------------------------------------------------------- SNAPCRAFT 8.0 AND THE RESPECTABLE END OF CORE18 16 June 2023 Igor Ljubuncic -------------------------------------------------------------------------------- LEARN HOW TO SNAP AN APP IN 30 MINUTES -------------------------------------------------------------------------------- Choose your language: Python Pre-built apps C/C++ Go Java Node.js Electron Flutter Ruby Rust MOOS ROS ROS 2 CHOOSE YOUR LANGUAGE: * Python * Pre-built apps * C/C++ * Go * Java * Node.js * Electron * Flutter * Ruby * Rust * MOOS * ROS * ROS 2 -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR C/C++ PROJECTS? * Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line. * Snaps install and run the same across Linux. They bundle the exact versions of your app’s dependencies. * Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background. * Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background. * Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision. In just a few steps, you’ll have an example C/C++ app in the Snap Store. -------------------------------------------------------------------------------- HERE'S HOW DOSBOX DEFINES SNAPCRAFT.YAML: name: dosbox version: "0.74-svn" summary: DOS emulator description: | DOSBox is a x86 emulator with Tandy/Hercules/[…] confinement: devmode base: core18 parts: dosbox: plugin: autotools source-type: tar source: http://source.dosbox.com/dosboxsvn.tgz build-packages: - g++ - make - libsdl1.2-dev […] - libasound2-dev stage-packages: - libsdl-sound1.2 - libsdl-net1.2 - libxcursor1 […] - zlib1g apps: dosbox: command: dosbox environment: "LD_LIBRARY_PATH": "$SNAP/usr/lib/ $SNAPCRAFT_ARCH_TRIPLET/pulseaudio" "DISABLE_WAYLAND": "1" Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR ELECTRON PROJECTS? * Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line. * Snaps install and run the same across Linux. They bundle Electron and all of your app’s dependencies, be they Node modules or system libraries. * Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background. * Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background. * Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision. In just a few steps, you’ll have an example Electron app in the Snap Store. -------------------------------------------------------------------------------- HERE'S HOW TO USE IT WITH ELECTRON-QUICK-START: { "name": "electron-quick-start", "version": "1.0.0", "description": "A minimal Electron application", "main": "main.js", "scripts": { "start": "electron .", "dist": "build --linux snap" }, "repository": "https://github.com/electron/electron-quick-start", "keywords": [ "Electron", "quick", "start", "tutorial", "demo" ], "author": "GitHub", "license": "CC0-1.0", "devDependencies": { "electron": "^2.0.0", "electron-builder": "^20.27.1" } } Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR FLUTTER PROJECTS? * Snaps are easy to discover and install. Millions of users can browse and install snaps graphically in the Snap Store or from the command-line. * Snaps install and run the same across Linux. They bundle the exact versions of your app’s dependencies. * Snaps automatically update to the latest version. Four times a day, users’ systems will check for new versions and upgrade in the background. * Upgrades are not disruptive. Because upgrades are not in-place, users can keep your app open as it’s upgraded in the background. * Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision. In just a few steps, you’ll have an example Flutter app in the Snap Store. -------------------------------------------------------------------------------- HERE'S HOW SUPER-COOL-APP DEFINES SNAPCRAFT.YAML: name: super-cool-app version: "1.0" summary: Super Cool App description: | Super Cool App that does everything! […] confinement: strict base: core18 parts: super-cool-app: plugin: flutter source: https://github.com/kenvandine/super-cool-app.git flutter-target: lib/main.dart apps: super-cool-app: command: super_cool_app extensions: [flutter-dev] Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR GO PROJECTS? * Easy to discover and install by millions using the Snap Store or command-line every day * Automatically updated to the latest stable version of your app * Revert to the previous version if an update fails, preserving data Programming in Go makes it easy to create a zip of your app that runs across Linux, without dependencies. However, end user discovery and update management remain a challenge. Snaps fill this gap, letting you distribute a Go app in an app store experience for end users. In just a few steps, you’ll have an example Go app in the Snap Store. -------------------------------------------------------------------------------- HERE’S HOW HTTPLAB DEFINES SNAPCRAFT.YAML: name: httplab version: '1.0' summary: An interactive web server. description: | HTTPLab let you inspect HTTP requests […] confinement: devmode base: core18 parts: httplab: plugin: go go-importpath: github.com/gchaincl/httplab source: https://github.com/gchaincl/httplab source-type: git build-packages: - gcc apps: httplab: command: bin/httplab Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR JAVA PROJECTS? * Simplify installation instructions, regardless of distribution, to snap install myjavaapp. * Directly control the delivery of automatic application updates. Distributing a Java application for Linux and reaching the widest possible audience is complicated. Typically, the user has to make sure the JRE/SDK version and their environment are configured correctly. When a Linux distribution changes the delivered JRE, this can be problematic for applications. Snapcraft ensures the correct JRE is shipped alongside the application at all times. In just a few steps, you’ll have an example Java app in the Snap Store. -------------------------------------------------------------------------------- HERE'S HOW FREEPLANE DEFINES SNAPCRAFT.YAML: name: freeplane version: '1.8.1' summary: Application for Mind Mapping […] description: | Freeplane is a free and open source software […] confinement: devmode base: core18 parts: freeplane: plugin: gradle source: https://github.com/freeplane/freeplane.git source-tag: release-$SNAPCRAFT_PROJECT_VERSION gradle-version: '5.1.1' gradle-output-dir: BIN gradle-options: [binZip, -xtest, -xcreateGitTag] override-build: | snapcraftctl build unzip -o DIST/freeplane_bin-*.zip -d $SNAPCRAFT_PART_INSTALL/ build-packages: - unzip apps: freeplane: extensions: - gnome-3-28 command: freeplane-$SNAPCRAFT_PROJECT_VERSION/freeplane.sh environment: JAVA_HOME: $SNAP/usr/lib/jvm/java-11-openjdk-amd64 PATH: $JAVA_HOME/jre/bin:$PATH plugs: - home - network - cups-control Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR MOOS PROJECTS? * Bundle all the runtime requirements, including the exact version of MOOS/MOOS-IvP and system libraries you need. * Directly and reliably control the delivery of application updates using existing infrastructure. * Upgrades are safe. If your app fails to upgrade, users automatically roll back to the previous revision. * Extremely simple creation of daemons. In just a few steps, you’ll have an example MOOS app in the Snap Store. -------------------------------------------------------------------------------- HERE'S AN EXAMPLE SNAPCRAFT.YAML THAT USES MOOS: name: moos version: '0.1' summary: MOOS Example description: | This example includes MOOSDB, the main […] confinement: devmode base: core18 parts: moos: source: https://github.com/themoos/core-moos/archive/v10.4.0.tar.gz plugin: cmake build-packages: [g++] apps: MOOSDB: command: bin/MOOSDB Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR NODE.JS PROJECTS? * Easy to discover and install by millions using the Snap Store or command-line every day. * Automatically updated to the latest stable version of your app. * Revert to the previous version if an update fails, preserving data. With npm you can distribute apps to other developers, but it’s not tailored to end users. Snaps let you distribute your Node app in an app store experience. In just a few steps, you’ll have an example Node.js app in the Snap Store. -------------------------------------------------------------------------------- HERE'S HOW WETHR DEFINES SNAPCRAFT.YAML: name: wethr version: '1.0' summary: Command line weather tool. description: | Get current weather […] confinement: devmode base: core18 parts: wethr: plugin: nodejs source: https://github.com/twobucks/wethr.git apps: wethr: command: wethr Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR PRE-BUILT APPS? * Easy to discover and install by millions using the Snap Store or command-line every day * Automatically updated to the latest stable version of your app * Revert to the previous version if an update fails, preserving data * Isolation ensures no conflicts between applications * Identical behaviour across Linux distributions, even with library dependencies Distributing the Linux build of your app as a zip lets you provide one download and set of instructions for all of Linux. However, end user discovery and update management remain a challenge. Snaps fill this gap, letting you wrap your existing Linux build in an app store experience for end users. In just a few steps, you’ll have an example pre-built app in the Snap Store. -------------------------------------------------------------------------------- HOW GEEKBENCH4 DEFINES SNAPCRAFT.YAML name: geekbench4 version: 4.2.0 summary: Cross-Platform Benchmark description: | Geekbench 4 measures your system's power […] confinement: devmode base: core18 parts: geekbench4: plugin: dump source: http://cdn.geekbench.com/Geekbench-$SNAPCRAFT_PROJECT_VERSION-Linux.tar.gz apps: geekbench4: command: geekbench4 Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR PYTHON PROJECTS? * Easy to discover and install by millions using the Snap Store or command-line every day * Automatically updated to the latest stable version of your app * Revert to the previous version if an update fails, preserving data * Isolation ensures no conflicts between applications * Identical behaviour across Linux distributions, even with library dependencies With PyPI you can distribute apps to other developers, but it’s not tailored to end users. Virtualenv lets you install an app’s dependencies in isolation, but it’s not automatically used for installs from PyPI. Snaps let you distribute a dependency-isolated Python app in an app store experience for end users. In just a few steps, you’ll have an example Python app in the Snap Store. -------------------------------------------------------------------------------- HERE'S HOW OFFLINEIMAP DEFINES SNAPCRAFT.YAML: name: offlineimap version: '1.0' summary: OfflineIMAP description: | OfflineIMAP is software that downloads […] confinement: devmode base: core18 parts: offlineimap: plugin: python python-version: python2 source: https://github.com/snapcraft-docs/offlineimap.git stage-packages: - python-six apps: offlineimap: command: bin/offlineimap Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR ROS PROJECTS? * Bundle all the runtime requirements, including the exact version of ROS and system libraries you need. * Expand the distributions supported beyond just Ubuntu. * Directly and reliably control the delivery of application updates using existing infrastructure. * Extremely simple creation of daemons. In just a few steps, you’ll have an example ROS app in the Snap Store. -------------------------------------------------------------------------------- HERE'S AN EXAMPLE SNAPCRAFT.YAML THAT USES ROS: name: ros-talker-listener version: '0.1' summary: ROS Talker/Listener Example description: | This example launches a ROS talker and listener. base: core18 confinement: devmode parts: ros-tutorials: plugin: catkin source: https://github.com/ros/ros_tutorials.git source-branch: melodic-devel source-space: roscpp_tutorials/ apps: ros-talker-listener: command: roslaunch roscpp_tutorials talker_listener.launch Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR ROS2 PROJECTS? * Bundle all the runtime requirements, including the exact version of ROS and system libraries you need. * Expand the distributions supported beyond just Ubuntu. * Directly and reliably control the delivery of application updates using existing infrastructure. * Extremely simple creation of daemons. In just a few steps, you’ll have an example ROS2 app in the Snap Store. -------------------------------------------------------------------------------- HERE'S AN EXAMPLE SNAPCRAFT.YAML THAT USES ROS2: name: ros2-talker-listener version: '0.1' summary: ROS2 Talker/Listener Example description: | This example launches a ROS2 talker and listener. confinement: devmode base: core18 parts: ros-demos: plugin: colcon source: https://github.com/ros2/demos.git source-branch: dashing colcon-rosdistro: dashing colcon-source-space: demo_nodes_cpp stage-packages: [ros-dashing-ros2launch] apps: ros2-talker-listener: command: opt/ros/dashing/bin/ros2 launch demo_nodes_cpp talker_listener.launch.py Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR RUBY PROJECTS? * Bundle all the runtime requirements. * Simplify installation instructions, regardless of distribution, to snap install myrubyapp. * Directly control the delivery of automatic application updates. * Extremely simple creation of services. Linux install instructions for Ruby applications often get complicated. To prevent modules from different Ruby applications clashing with each other, developer tools like rvm or rbenv must be used. With snapcraft, it’s one command to produce a bundle that works anywhere. In just a few steps, you’ll have an example Ruby app in the Snap Store. -------------------------------------------------------------------------------- HERE’S HOW MDL USES IT: name: mdl version: "0.5.0" summary: Markdown lint tool description: | Style checker/lint tool for markdown files confinement: devmode base: core18 parts: mdl: source: https://github.com/snapcraft-docs/mdl.git plugin: ruby gems: - rake - bundler override-build: | snapcraftctl build rake install build-packages: - git apps: mdl: command: bin/mdl Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- WHY ARE SNAPS GOOD FOR RUST PROJECTS? * Easy to discover and install by millions using the Snap Store or command-line every day. * Automatically updated to the latest stable version of your app. * Revert to the previous version if an update fails, preserving data. You can distribute your apps across Linux using a musl-enabled version of Rust, with all the dependencies satisfied. However, end user discovery and update management remain a challenge. Snaps fill this gap, letting you distribute a Rust app in an app store experience for end users. In just a few steps, you’ll have an example Rust app in the Snap Store. -------------------------------------------------------------------------------- HERE'S HOW XSV DEFINES SNAPCRAFT.YAML: name: xsv version: '1.0' summary: A fast CSV command line toolkit written in Rust description: | xsv is a command line program for indexing […] confinement: devmode base: core18 parts: xsv: plugin: rust source: https://github.com/snapcraft-docs/xsv.git apps: xsv: command: bin/xsv Show more -------------------------------------------------------------------------------- Continue › -------------------------------------------------------------------------------- TESTIMONIALS “THE AUTO-UPDATING FEATURE IS HUGE” > Due to the nature of our platform, we release updates more than daily which > admittedly can be annoying for our users to constantly update. > > Therefore, having them done seamlessly in the background makes life for our > users so much easier. It’s great to see snaps as the first serious attempt to > try and unify the community. > > Jeff Dickey > CLI engineer, Heroku -------------------------------------------------------------------------------- “STARTING WITH SNAPS IS EASY” > We definitely find Snapcraft easier as it is yaml based and provides details > of what artifacts are needed. Debian packaging has things that need to be > followed which can be distribution specific, which creates complication. > > The modular containment is what appealed about snaps and [we] can see it will > be a lot more flexible. Starting with snaps is easy and the resources that are > provided are clean and structured which aids adoption. > > Lee Coward and Rakesh Singh > .NET (Microsoft) -------------------------------------------------------------------------------- “A MAJOR SOFTWARE DISCOVERY TOOL” > The Snap store provides additional exposure to our tools for many of our > existing and potential users. The decision to use it came quite naturally. We > believe the store will be a major software discovery tool on Linux, so the > more people find out about our tools naturally and install them more easily, > the better for everyone. > > Aleksey Rostovskiy > Engineer, JetBrains -------------------------------------------------------------------------------- SHOWCASE TO MILLIONS Reach beyond your existing audience with a listing on the Snap Store, the front page for app discovery on Ubuntu and other popular distros. Browse the Snap Store -------------------------------------------------------------------------------- MEASURE USER GROWTH Make data-driven decisions with active install metrics. Watch as automatic updates migrate users to your latest release. Understand your audience with geographic and version breakdowns. Back to top © 2023 Canonical Ltd. Ubuntu and Canonical are registered trademarks of Canonical Ltd. Powered by Charmed Kubernetes Join the forum, contribute to or report problems with, snapd, Snapcraft, or this site. * Share on Twitter * Share on Facebook * Share on YouTube * Terms of Service * Data privacy * Manage your tracker settings * Service status * Other functions * Canonical Get to know Canonical, the company behind the products. * Ubuntu The world's favourite Linux OS for servers, desktops and IoT. * Ubuntu Pro One subscription for security maintenance, support, FIPS and other compliance certifications. * Snapcraft The app store for Linux: secure packages and ultra-reliable updates. * LXD A pure-container hypervisor. Run system containers and VMs at scale. * MAAS Build a bare metal cloud with super fast server provisioning. * OpenStack Upgrades, maintenance, support, and fully managed options for long-term, low-cost infra. * Ceph Software-defined storage that lowers your total cost of ownership. * Kubernetes App portability for K8s on VMware, Amazon, Azure, Google, Oracle, IBM and bare metal. * Juju Deploy, integrate and manage applications at any scale, on any infrastructure. -------------------------------------------------------------------------------- Also from Canonical Anbox Cloud Stream Android applications to any device. Launchpad The software collaboration platform behind Ubuntu. Ubuntu on public clouds Optimised Ubuntu for public clouds. Multipass Spin up Ubuntu VMs on Windows, Mac and Linux. Cloud-init Control and customise your cloud instances. Landscape Systems management and security patching for Ubuntu. Netplan Simplify and standardise complex network configuration. Charmed Kubeflow AI and MLOps at any scale, on any cloud. MicroCloud Deploy a fully functional cloud in minutes. -------------------------------------------------------------------------------- About * Canonical * Press centre * Careers * Blog * Documentation * Resources * Partners * Contact us YOUR TRACKER SETTINGS We use cookies and similar methods to recognise visitors and remember preferences. We also use them to measure campaign effectiveness and analyse site traffic. By selecting ‘Accept‘, you consent to the use of these methods by us and trusted third parties. For further details or to change your consent choices at any time see our cookie policy. Accept all and visit site Manage your tracker settings