You are not reading the latest stable version of this documentation. If you want up-to-date information, please have a look at master.

Environment Setup

To get started packaging a service for EmbassyOS, some basic knowledge of software development is required. Don’t worry if you are inexperienced, we will provide enough context to get you started, and you can always reach out with questions.

If you are already an experienced developer, jump ahead.

The only system requirements are Docker and Cargo (Rust package manager).

Of course, there are additional recommendations that would streamline your development experience, but they are not required.

Code Editor

A code editor is recommended since you will, after all, be writing code! We are fans of Visual Studio Code . Visual Studio Code is a free, batteries-included text editor made by Microsoft.

Terminal / CLI

We recommend using your computer’s built-in terminal as a command line interface (CLI) for your operating system. For Windows users, we recommend the built-in command line (cmd) Command Prompt or the Powershell CLI, running in Administrator mode. For macOS and Linux, the native Terminal is recommended, but virtually any terminal will work.

If you are new to the command line, Ionic has published this awesome guide to get you started.


Although not required, the version control system Git is highly recommended.

Git is often accompanied by a Git Host, such as GitHub, in which case additional setup is required. Follow the tutorial from the GitHub here to set up your environment.

To verify the installation, open a new terminal window and run:

git --version


Docker must be installed on your computer. It is needed to build an image for your package, which will be used to create the running instance of your package on EmbassyOS. In essence, it declares the necessary environment and building stages for your package to run.

We also recommend installing and using Docker buildx, as this adds desirable new features to the Docker build experience. It is included by default with Docker Desktop for Windows and macOS.


Cargo is the package management solution for the Rust programming language. It will install Rust to your system, and provide the required environment to build the Embassy SDK for packaging your service into the required format needed by EmbassyOS.

Installation instructions for Cargo can be found here.

To verify the installation, open a terminal window and run:

cargo --version


EmbassyOS provides a software development kit embedded in its environment. You do not need a running instance of EmbassyOS to use this component, it can be installed on any computer platform.

To install the SDK:

git clone --recursive && cd embassy-os/backend && ./

To verify the installation, open a terminal window and run:

embassy-sdk --version


While not strictly necessary, having a running instance of EmbassyOS is recommended to test installing, running, configuring, and using your package. Without this component, you will have to coordinate with Start9’s internal development team to test.

Quick Start Environment Setup