Start your development easily, locally, and with your preferred IDE. Install signageOS CLI, develop your Applet (HTML5 player) and deploy first devices.
Info
In this tutorial we will cover parts 1. and 2. on the image below. The next steps - 3. and 4. - are described in the "Build and Deploy your Applet" guide.

What you will need
You need the following stack to get started with your development:
-
signageOS Account
-
having at least one Organization in the Box (create one here)
-
Node.js >= 10.15.0 with NPM included in the file package. The latest stable Node version you can find on the following site: https://nodejs.org/en/download/
If necessary, the previous Node releases can be found on the site: https://nodejs.org/en/download/releases/ -
Shell, Gitbash, Powershell, Windows Terminal, or Cmder.
TIP: Windows Terminal and Cmder allows open more than one console window which can be helpful in the daily development work.
Start with signageOS CLI
signageOS CLI is a command-line tool for rapid local development that brings you the ability to easily start developing on top of the signageOS framework from your favorite IDE.
Video-guide
Install the CLI
npm install @signageos/cli -g
sos --help
It may happen that the 'sos' command won't be recognized
In this situation please reinstall the Node with the NPM package on your system. If necessary, please install the older version of the package but not older than v.10.15.0
The full documentation can be found on the signageOS Github.
Once installed, you can use sos --help
for quick help within the CLI.
Log in using the CLI
sos login
Set default Organization
In order to continue, it's necessary to set your default Organization. If you have none, (create one inside Box here. Then continue with the following command:
sos organization set-default
Create your first Applet
Applet includes your application code along with the signageOS JS API and creates a standardized environment for your code to run on numerous devices.
Create your Applet project with the interactive wizard:
sos applet generate
If there won't be any response in the console you will need to restart the local machine. It should solve the issue.
Once Applet project is successfully created, switch to the project folder and start the project via npm start
.
Applet <name of the applet> created!
use: cd <name of the applet> and npm start
cd 'your-applet-name'
npm start
Your project is now successfully created and running on http://your.pc.ip.address:8090
. Open the URL in your browser (preferably Chrome) and start your coding.
If you created your Applet in the Box before using the CLI, use the Applet UID from Box to replace the one in your package.json
file.
// package.json
"sos": {
"appletUid": "Applet UID from Box"
}
Run your application using the CLI
If you already have an application where you implemented signageOS JS API you can start the project using sos applet start
.
npm run build # or your build command
sos applet start
Your project is now running on http://your.pc.ip.address:8090
. There is no hot reload at the moment. You can stop the applet by ctrl + c
.
The full documentation can be found on the signageOS Github.
npm i @signageos/front-applet@version --save
inside your project.If you would like to test some of our Applet Examples always use the pre-made project from cli-applet
folder:
Once you copy the example, run:
npm run build # or your build command
sos applet start
Next steps
NEXT: Build and deploy your applet
DEV: Send Applet to the device directly from CLI
FAQ
Will local development be possible? I do not like the web IDE.
Yes, you will be able to use VSCode or Webstorm for local development thanks to signageOS CLI.
Is the Emulator working offline?
Yes, Emulator supports offline mode and comes with built-in features for debugging and quick Applet development.
What is the difference between npm start and sos applet start?
The npm start
will run our prepared compilation pipeline and emulator with hot reloaded enabled. This works only for projects generated by our CLI Tool.
The sos applet start
will only run the emulator without hot reload and compilation. It just runs your application. It works with projects generated by our CLI Tools. But its main purpose is to run the already existing applications that use different technologies and project structures.
Code: 51501 - InternalVideoError: Couldn't play the video.
If you are getting this error in the Emulator it means that your Chrome is blocking the video playback. Kindly read more here: Emulator Limitations in CLI and Box. The quick fix is to click into the window and then refresh the page (F5).