Synpse
🤖 Devices⚡ ApplicationsTry Synpse!
  • Intro to Synpse
  • Start here
    • Quick Start (web user)
    • Quick Start (CLI)
  • Agent
    • Install
      • Raspberry Pi
      • Linux (Docker)
      • MacOS
      • NVIDIA Jetson
      • Headless (Ubuntu)
      • BeagleBoard AI
      • Bulk Provisioning
      • 🪄Beta - Universal Synpse image
      • Containerized agent
      • Configuration
    • Uninstall
  • CLI
    • Install & Usage
  • synpse core
    • Devices
      • Device Provisioning
      • HTTPS Tunnel Access
      • SSH Access
      • Device Labels
      • Environment Variables
      • Proxy Application Ports
      • OS & Architectures
      • Operations
      • Device API
    • Applications
      • Deploy
      • Secrets
      • Environment variables
      • Substitution (dynamic templates)
      • Volumes
      • Networking
      • Scheduling
      • Registry authentication
      • Using GPUs
      • Tips & Tricks
      • Logs and status
      • Application specification (API reference)
    • Account
      • Personal Access Tokens
      • Service (Robot) Accounts
      • Teams (Share Devices)
    • Monitoring (beta)
      • Device Monitoring
      • Application Monitoring
  • Manage
    • Projects
    • Namespaces
    • Quotas
  • Examples
    • 🏠Home Automation
      • Gladys Assistant
      • Home Assistant
    • 🛠️Preparing OS Images
      • Synpse CLI Builder
      • Build a custom Raspberry Pi image
      • Cloud-init (advanced)
    • 💡Dynamic Templates
    • ☁️Public Cloud IoT
      • AWS IoT Core
      • Azure IoT Hub
      • GCP IoT Core
    • 🚀Device management
      • VNC to remove devices
      • Ansible
  • On-prem Deployment
    • 🐳Docker Compose
    • 🌤️kubernetes
  • Resources
    • API Documentation
    • Deployment patterns
    • Security & Tech
Powered by GitBook
On this page
  • Step 1: Install CLI
  • Preparing devices
  • Step 2: Get device registration token
  • Step 3: Install device agent
  • Deployment and management
  • Step 3: Deploy an application
  • Step 3: Monitor deployment

Was this helpful?

  1. Start here

Quick Start (CLI)

A short intro in using Synpse through a command-line client

PreviousQuick Start (web user)NextInstall

Last updated 3 years ago

Was this helpful?

In this short quick-start tutorial we will prepare devices using the dashboard (as it generates a helpful command).

Step 1: Install CLI

First, you will need to install the CLI and get your access token using the dashboard. Follow instructions .

Preparing devices

Step 2: Get device registration token

Create a new device token from the Provisioning section

Step 3: Install device agent

Once you have your account, install synpse agent on the 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.

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 terminal with synpse devices command:

$ synpse devices
  NAME          STATUS  IP              OS      LABELS          LAST SEEN      CREATED       
  nuc           online  192.168.178.86  Ubuntu  arch:amd64      3 seconds ago  16 weeks ago  
                                                type:controller                               

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

Deployment and management

Step 3: Deploy an application

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

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
synpse deploy -f nodered-synpse.yaml

Step 3: Monitor deployment

You can view running applications by using ps command:

synpse ps

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 :

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

You can modify this manifest as you wish, for example setting different ports, volumes, etc. Let's expose on a different port by modifying ports section to 1900:1880 in a file named nodered-synpse.yaml and run application create command:

samples
multi-arch
Node-RED
here