Developing on Sandstorm

Sandstorm can run any web app that can run on Linux so long as the code and all the dependencies have been bundled into an SPK file. Anyone can make a Sandstorm package (SPK), such as the author of a program or someone wants to run the app on their own Sandstorm server.

If you haven't yet, now is a good time to try the Sandstorm demo! Work through the guided tour.

Creating an app package


Sandstorm for systems engineers

You might enjoy learning how Sandstorm is put together.


Network access

By default, Sandstorm runs each app instance with no network access. Read these documents to configure an app to get access to services on the Internet or to each other.

  • Supported protocol: SMTP (email)
  • Other protocols: Work in progress.
  • Inter-app communication: Work in progress.

App sharing, publishing, & permission levels

Each app instance (aka "grain") is private by default to the user who created it. Read these documents to learn how access control works.


Integrating various languages & libraries into raw Sandstorm

If you are curious how to integrate various languages & libraries with Sandstorm's raw APIs and raw SPK packaging, read these documents.

Note that most app developers will have an easier time using vagrant-spk. This is intended


Further reference documentation

We call Sandstorm a platform because it provides concepts, capabilities, and APIs that apps can use. The documentation about further concepts may be found on our GitHub wiki.