Skip to content

cagelab/cogmoteGO

Repository files navigation

cogmoteGO

"air traffic control" for remote neuroexperiments

Introduction

cogmoteGO is the "air traffic control" for remote neuroexperiments: a lightweight Go system coordinating distributed data streams, commands, and full experiment lifecycle management - from deployment to data collection.

Bindings

Installation

For Linux & macOS

By install script

curl -sS https://raw.githubusercontent.com/cagelab/cogmoteGO/main/install.sh | sh

For Windows

By install script

irm -Uri 'https://raw.githubusercontent.com/cagelab/cogmoteGO/main/install.ps1' | iex

By winget

The winget version is relatively outdated; currently, we recommend installing via a script.

winget install ccccraz.cogmoteGO

Getting started

Run as service

For Linux & macOS

restart the service as user

We recommend that you register cogmoteGO as a user service on Linux

cogmoteGO service -u

start the service as user

cogmoteGO service start -u

register the service

sudo cogmoteGO service

start the service

sudo cogmoteGO service start

For Windows

register the service

note: you need to run the command as administrator

cogmoteGO service

start the service

cogmoteGO service start

restart the service as user

note: the password is required for running the service as user

cogmoteGO service -u -p <your_password>

start the service as user

cogmoteGO service start -u

For all platforms

for more info about the service, run

cogmoteGO service --help

Test

curl --location --request GET 'http://localhost:9012/api/device'

Email Configuration

cogmoteGO supports sending email notifications. Credentials are securely stored in the system keyring.

Set email credentials

Interactive setup (prompts for email and password):

cogmoteGO email set

With SMTP server options:

cogmoteGO email set --host smtp.example.com --port 587

Show current configuration

cogmoteGO email show

Example output:

Email Configuration:
  Email address : [email protected]
  SMTP host     : smtp.example.com
  SMTP port     : 587
  Recipients    : [email protected], [email protected]
  Credentials   : configured

Delete email configuration

cogmoteGO email delete

For more info

cogmoteGO email --help

Configuration

Manage application settings via CLI.

Show configuration

Show all configuration:

cogmoteGO config show

Show specific key:

cogmoteGO config show port

Set configuration

cogmoteGO config set port 8080
cogmoteGO config set proxy.max_retries 5

Reset configuration

Reset specific key to default:

cogmoteGO config reset port

Reset all configuration (email settings not affected):

cogmoteGO config reset

Available settings

Key Default Description
port 9012 Server listening port
instance_id auto Unique instance identifier
proxy.handshake_timeout 5000 WebSocket handshake timeout (ms)
proxy.msg_timeout 5000 Message timeout (ms)
proxy.max_retries 3 Maximum retry attempts
proxy.retry_interval 200 Retry interval (ms)

For more info

cogmoteGO config --help

About

"air traffic control" for remote neuroexperiments

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors