satellite

command module
v1.16.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 20, 2026 License: MIT Imports: 3 Imported by: 0

README

Satellite

Badges

Build Status

Features

  • CPU - overall and per-process CPU usage charts
  • Memory - overall and per-process memory usage charts
  • Load - system load averages (1, 5, 15 min) charts
  • Disk - per-partition disk usage charts with path selector
  • Log Viewer - browse log tail entries collected by Probe
  • Dark Mode - full dark mode support
  • Heartbeat - webhook notifications when a probe goes offline
  • Series Filtering - configurable time range buttons (5 min to 30 days)

Getting Started

Follow the steps below to install and configure Satellite.

Prerequisites

  • Redis: Version >= 5.0 for data reading

Run with Docker

Image can be found at the package page on GitHub.

docker run --rm \
-e APP_URL=http://127.0.0.1:4000 \
-e REDIS_URL=redis://192.168.0.200:6379/0 \
-p 4000:4000 \
ghcr.io/petaki/satellite

Install from Binary

Download the latest release for your platform from the GitHub Releases page.


Install from Source

Prerequisites
  • Go: Version >= 1.26
  • Node.js: Version >= 22.0
  • Yarn or NPM
Steps
  1. Clone the repository:
git clone git@github.com:petaki/satellite.git
  1. Install UI dependencies and build:
cd satellite
yarn install
yarn build
  1. Build the binary:
go build
  1. Copy and edit the configuration:
cp .env.example .env

Configuration

All configuration is done through environment variables in the .env file.

General

Application Name
APP_NAME=
Application Address
APP_ADDR=:4000
Application URL
APP_URL=http://127.0.0.1:4000
Application Series Buttons
  • Maximum 4 items.
  • The first item is the default.
  • The order does not matter from the second item.
APP_SERIES_BUTTONS=last_5_minutes,last_1_hour,last_24_hours,last_7_days

Available options:

Option Description
last_5_minutes Last 5 minutes
last_15_minutes Last 15 minutes
last_30_minutes Last 30 minutes
last_1_hour Last 1 hour
last_3_hours Last 3 hours
last_6_hours Last 6 hours
last_12_hours Last 12 hours
last_24_hours Last 24 hours
last_2_days Last 2 days
last_7_days Last 7 days
last_30_days Last 30 days

Redis

Redis URL
REDIS_URL=redis://127.0.0.1:6379/0

Heartbeat

Sends webhook notifications when a probe stops reporting. Requires Redis to be configured.

Heartbeat Enabled
HEARTBEAT_ENABLED=false
Heartbeat Wait (in minutes before first notification)
HEARTBEAT_WAIT=5
Heartbeat Sleep (in seconds between notifications)

Set to 0 to disable.

HEARTBEAT_SLEEP=300

Heartbeat Webhook

Heartbeat Webhook Method
HEARTBEAT_WEBHOOK_METHOD=POST
Heartbeat Webhook URL
HEARTBEAT_WEBHOOK_URL=http://127.0.0.1:4000/heartbeat
Heartbeat Webhook Header
HEARTBEAT_WEBHOOK_HEADER='{"Authorization": "Bearer TOKEN", "Accept": "application/json"}'
Heartbeat Webhook Body

The body supports the following placeholders:

Placeholder Description
%p Probe name
%t Timestamp (RFC3339)
%x Timestamp (Unix)
%l Satellite link (relative)
HEARTBEAT_WEBHOOK_BODY='{"probe": "%p", "timestamp_rfc3339": "%t", "timestamp_unix": %x, "link": "%l"}'

Usage

./satellite web serve

Data Collection

Collected data is provided by Probe.

Contributors

  • @dyipon - development ideas, bug reports and testing

Reporting Issues

If you are facing a problem with this package or found any bug, please open an issue on GitHub.

License

The MIT License (MIT). Please see License File for more information.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
internal
cmd
web
resources

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL