Quick Start (web user)

A short intro in using Synpse via web browser

Preparing a devices

Step 1: Get device registration token

Create a new device token from the Provisioning section

Step 2: Install device agent

Once you have your account, install synpse agent on your device. To do that, you will first need to provision the device registration token. These tokens allow for a limited (or unlimited) amount of devices to register to the system. In addition, they can have configuration bound to them too.

Go to your device provisioning page and click on a "provision device" button. It should show you a command that already has your project and registration token prepared:

$ curl https://downloads.synpse.net/install.sh | \
    AGENT_PROJECT=<YOUR PROJECT> \
    AGENT_REGISTRATION_TOKEN=<YOUR TOKEN> \
    bash

After a few seconds, you should be able to see the device in your dashboard:

You can repeat this process for as many devices as you have.

Deployment and management

Step 3: Deploy an application

Applications in Synpse are a set of containers. If you are coming from a Kubernetes background, think of an applications as a Pod, if you used Docker Compose before - it's a very similar concept.

To create an application, go to your default namespace and click on a New Application button:

We provide a helper form to start your applications, however, we do suggest opting for a declarative yaml manifest. In this tutorial we will use one from our samples:

name: NodeRed
description: Low-code programming for event-driven applications
type: container
scheduling:
  type: AllDevices
  # Uncomment to use a specific device
  # selectors:
  #   nodered: master
spec:
  containers:
  - name: nodered
    image: nodered/node-red:latest-minimal
    user: root
    ports:
      - "1880:1880"
    volumes:
      - /data/nodered:/data
      - /etc/localtime:/etc/localtime
      - /root/.ssh:/root/.ssh

When choosing an image, make sure that you have selected the correct architecture. Some images do support multi-arch but it's not very common.

You can modify this manifest as you wish, for example setting different ports, volumes, etc. Let's expose Node-RED on a different port:

Once you click deploy, you should be able to see deployment status on the right side:

Step 4: Monitor deployment

Once the application is deployed, you can see the status either by viewing the "Allocations" page (you can reach it either through the applications page or application details page) or on device details page:

If you click on the link next to the container name, you should be taken to your device_ip:port URL and (assuming your device is on the network that you can reach) you should be able to view it:

Updating applications

You can update your application at any point. Synpse will recreate containers and ensure that it's running.

Learning points

Here are a few things that you should pay attention to:

  • First, prepare some devices that you will want to use.

  • Use the scheduling section of the yaml config to specify where you want your application to run.

  • Ensure you choose the correct CPU architecture for your Docker image, otherwise, you will encounter cryptic Docker errors that aren't easy to debug.

  • You can update the application config as many times as you wish.

Last updated