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
  • Prerequisites
  • Getting started
  • Build using config file

Was this helpful?

  1. Agent
  2. Install

Headless (Ubuntu)

Headless install allows to create single SD card and replicate it to multiple devices, without a need to manually configure the devices. This is great when you don't have a spare monitor!

PreviousNVIDIA JetsonNextBeagleBoard AI

Last updated 3 years ago

Was this helpful?

Prerequisites

  • Linux based machine (WSL on Windows or MacOS does not work)

  • Synpse CLI installed and logged in to

  • sudo permissions as synpse build command uses mount to prepare the image

  • SD card burner such as or

Getting started

Chose the base image you want to use for your build. If you don't find the base images you would like, let us know in Discord to see what we can do about this!

synpse machine-images list-base
OS      IMAGE                                               NAME                               ARCHITECTURE  
ubuntu  ubuntu-20.04.2-preinstalled-server-arm64+raspi.img  Ubuntu Server 20.04.2 LTS (ARM64)  arm64         
ubuntu  ubuntu-20.04.2-preinstalled-server-armhf+raspi.img  Ubuntu Server 20.04.2 LTS (ARM32)  arm32         

Run build command with build parameters:

sudo synpse build \
  --hostname "synpse-edge" \
  --image ubuntu-20.04.2-preinstalled-server-arm64+raspi.img \
  --image-output $(pwd)/images \
  --wifi-name WIFI_SSID_NAME \
  --wifi-password $WIFI_PASSWORD

If --project-id or--registration-token is not provided CLI attempt to get default provisioning token for the project configured in CLI.

After building the image startup might take 10-15 minutes for updates and install of the latest binaries. Time might wary based on your internet speed.

Build using config file

You can also build an image using configuration file

synpse build --config-file config.yaml

Where config.yaml is an example bellow:

builderConfig:
  image: ubuntu-20.04.2-preinstalled-server-arm64+raspi.img
  outputDir: /home/user/images
synpseConfig:
  controllerURI: https://cloud.synpse.net/api
  projectID: prj_1qtJj73NFMHm0QoRj2uPWxxxxxx
  registrationToken: drt_1qtJj55aIhGiMrXs5BDAvxxxxx
hostConfig:
  hostname: synpse-edge
  unixUser: synpse
  sshKey: ssh-rsa ABCD
  #locale: en_US.UTF-8
  #timezone: Europe/Vilnius
  networks:
    - wifiAccessPointName: WIFI_SSID
      wifiAccessPointPassword: Wifi_Password

This will output the image into images/ directory. Now, use either or to burn this image into an SD card.

Synpse Cloud
Etcher
Raspberry Pi Imager
Etcher
Raspberry Pi Imager