Skip to content

CLI Command Reference

The Call Telemetry CLI provides comprehensive management capabilities for your appliance. All commands use the standard pattern:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- [command] [options]

Quick Reference

CommandDescription
update [version] [options]Upgrade to specified version (default: latest)
rollbackRestore previous docker-compose configuration
backupCreate database backup
restore [file]Restore from backup file
migration_statusCheck migration progress
migration_runExecute pending migrations
compactCleanup Docker and PostgreSQL
purgeRemove unused Docker resources
resetFactory reset (deletes all data)
cli_updateUpdate the CLI script itself

Upgrade & Rollback

Update to Latest Version

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- update

Update to Specific Version

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- update 0.8.4-rc172

Update Options

OptionDescription
--force-upgradeSkip validation checks (RAM, disk, Docker version)
--no-cleanupKeep old images for troubleshooting

Examples:

bash
# Force upgrade bypassing checks
sudo curl https://get.calltelemetry.com | sudo sh -s -- update --force-upgrade

# Upgrade without cleanup
sudo curl https://get.calltelemetry.com | sudo sh -s -- update --no-cleanup

# Combine options
sudo curl https://get.calltelemetry.com | sudo sh -s -- update 0.8.4 --no-cleanup

System Requirements

The update command validates these requirements before proceeding:

  • RAM: Minimum 7GB (8GB for v0.8.4+)
  • Disk: Minimum 10% free space
  • Docker: Version 26 or higher

Rollback

Restore the previous docker-compose configuration from the most recent backup:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- rollback

Backups are automatically created before each upgrade in /home/calltelemetry/backups/.

Update CLI Script

The CLI script itself can be updated independently:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- cli_update

Database Operations

Backup

Create a timestamped SQL dump of the database:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- backup

Automatic Backup Retention

Only the 5 most recent backups are retained. Download critical backups before they are automatically purged.

Backups are stored in /home/calltelemetry/backups/ with format: calltelemetry_prod_YYYYMMDD_HHMMSS.sql

Restore

Restore database from a backup file:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- restore /home/calltelemetry/backups/calltelemetry_prod_20250119_143022.sql

Migration Status

Monitor migration progress:

bash
# Check current status
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_status

# Watch continuously (refresh every 5 seconds)
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_status --watch --interval 5

# Limit iterations
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_status --watch --iterations 10

Watch Mode Options:

OptionShortDescriptionDefault
--watch-wContinuously refresh statusOff
--interval-iSeconds between refreshes3
--iterations-nMax refresh cyclesUnlimited

SQL Migration Status

View last 10 applied migrations directly from database:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- sql_migration_status

Run Migrations

Execute all pending migrations:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_run

Rollback Migrations

Rollback a specified number of migrations:

bash
# Rollback last migration
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_rollback 1

# Rollback last 3 migrations
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_rollback 3

System Maintenance

Compact

Comprehensive cleanup including Docker system prune and PostgreSQL VACUUM FULL:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- compact

This command:

  • Removes stopped containers
  • Removes unused networks and volumes
  • Removes dangling images
  • Runs PostgreSQL VACUUM FULL on all tables

When to Compact

Run this monthly or when disk space is low. The operation requires database connectivity and may take several minutes.

Purge

Remove unused Docker resources only (lighter than compact):

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- purge

Removes:

  • Stopped containers
  • Unused networks
  • Unused volumes
  • Dangling images (retains images from last 24 hours)

Reset

Factory reset - stops services and deletes all data:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- reset

Data Loss Warning

This command permanently deletes:

  • SFTP data
  • PostgreSQL database
  • All backups

The application restarts in factory state. This cannot be undone.

Reset Certificates

Delete and regenerate self-signed SSL certificates:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- reset_certs

Database Troubleshooting

Table Sizes

View row counts and disk usage:

bash
# All tables
sudo curl https://get.calltelemetry.com | sudo sh -s -- sql_table_size

# Specific tables
sudo curl https://get.calltelemetry.com | sudo sh -s -- sql_table_size cdr_records,call_logs,e911_events

Purge Old Records

Delete records older than specified days (requires inserted_at timestamp column):

bash
# Delete CDR records older than 90 days
sudo curl https://get.calltelemetry.com | sudo sh -s -- sql_purge_table cdr_records 90

# Delete call logs older than 30 days
sudo curl https://get.calltelemetry.com | sudo sh -s -- sql_purge_table call_logs 30

Confirmation Required

The command prompts for confirmation before deleting records. Review the count carefully before proceeding.

Configuration

Logging Level

Modify the logging level in docker-compose.yml and restart services:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- set_logging debug

Available levels:

  • debug - Verbose logging for troubleshooting
  • info - Normal operational logging (default)
  • warning - Warnings and errors only
  • error - Errors only

Advanced Operations

Build Appliance

Download and execute appliance initialization script:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- build-appliance

Prepare Cluster Node

Configure node for Kubernetes deployment:

bash
sudo curl https://get.calltelemetry.com | sudo sh -s -- prep-cluster-node

This command:

  • Disables firewall and SELinux
  • Installs kubectl, helm, and K9s
  • Installs Git

Common Workflows

Upgrading with Safety Checks

bash
# 1. Create backup before upgrade
sudo curl https://get.calltelemetry.com | sudo sh -s -- backup

# 2. Run upgrade
sudo curl https://get.calltelemetry.com | sudo sh -s -- update

# 3. Monitor migration progress
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_status --watch

# 4. If issues occur, rollback
sudo curl https://get.calltelemetry.com | sudo sh -s -- rollback

Troubleshooting Disk Space

bash
# 1. Check table sizes
sudo curl https://get.calltelemetry.com | sudo sh -s -- sql_table_size

# 2. Purge old records
sudo curl https://get.calltelemetry.com | sudo sh -s -- sql_purge_table cdr_records 90

# 3. Run cleanup
sudo curl https://get.calltelemetry.com | sudo sh -s -- compact

Investigating Migration Failures

bash
# 1. Check migration status
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_status

# 2. View recent migrations from database
sudo curl https://get.calltelemetry.com | sudo sh -s -- sql_migration_status

# 3. Check application logs
sudo docker logs calltelemetry-web -f

# 4. Manually run migrations if needed
sudo curl https://get.calltelemetry.com | sudo sh -s -- migration_run

See Also