ClientApp Tools Documentation
Loading...
Searching...
No Matches
Client Application Tools Guide

Overview

This guide provides instructions for configuring and deploying client applications on the Signalytic Platform using Docker Compose.

It also covers how to build and package application images for deployment on supported devices (e.g., DevKit).

Docker Compose Setup

Clients should structure their Docker Compose setup as shown below. All service-related configuration files and resources must be placed under the /resources/service/ directory and properly referenced in the docker-compose.yml file.

service:
image: image:tag
container_name: service-name
restart: unless-stopped
volumes:
- ./resources/service/app.conf:/etc/app.conf
env_file:
- ./resources/service/[/path/to/env]
healthcheck:
test: ["CMD", "path/to/healthcheck-script"]
interval: 30s
timeout: 10s
retries: 3

Notes:

  • Use meaningful service names that match your application components.
  • Ensure environment variables and configuration files are included in your project resources.
  • The healthcheck ensures that each container is monitored and
    restarted automatically if it becomes unresponsive.

Scripts Usage

The following scripts are provided to simplify image building and package creation processes:

Script Description
build-image Builds and pushes Docker images to the Signalytic Image Registry.
package Pulls all Docker images (defined in docker-compose.yml) and related resources into an installable build for a target platform (arm64 or amd64).

1. Building images

Use the build-image script to build and push your application images to the Signalytic registry.

$ build-image -v <VERSION> -f <DOCKERFFILE> -p

Example:

$ build-image -v 1.0.0 -f Dockerfile.frontend.arm64 -p

All specified images will be pushed to: registry.gitlab.com/signalytic/client-external/<PROJECT> Flags:

  • -v : Specify image version tag
  • -f: Path to Dockerfile
  • p: Push image to remote registry.

2. Packaging

The package script creates an installable package for your application. This package contains:

  • All Docker images required by your project
  • Configuration and resource files
  • Installation and management scripts

To generate a build package, run:

$ package

The output package will be saved under the build-packages/ directory.

Installing on Devkit / Target Hardware

Once the package is generated, transfer it to the target edge device (e.g., DevKit).
Then, extract and install it using the provided installation script:

$ tar xvf client-package-aarch64.tar.bz2
$ cd client-package-aarch64
$ ./install.sh

This will automatically deploy all services defined in your Docker Compose setup.

Staging Updates

Project updates and commits can be staged under: /var/signalytic/repo/<PROJECT>/

Developers with access to the VM can:

  • Push commits to this repository
  • Create merge requests for integration and testing before deployment

This ensures version control, consistency, and smooth delivery of updates to edge devices.

Summary

Task Script Description
Build and push Docker images build-image -v <VERSION> -f <DOCKERFILE> -p Uploads images to the registry
Create installable package package Builds an edge installation package
Install on device ./install.sh Deploys the client application
Stage updates /var/signalytic/repo/<PROJECT>/ Manage source updates and MR