Skip to main content

Lineserve CLI

The Lineserve Command Line Interface (CLI) provides a powerful way to manage your cloud infrastructure and messaging services from the terminal.

Installationโ€‹

macOS and Linuxโ€‹

curl -sSL https://cli.lineserve.com/install.sh | bash

Windows (PowerShell)โ€‹

iwr https://cli.lineserve.com/install.ps1 | iex

Manual Installationโ€‹

Download the latest release from GitHub releases and add to your PATH.

Authenticationโ€‹

Login with API Keyโ€‹

lineserve auth login
# Enter your API key when prompted

Set API Key via Environmentโ€‹

export LINESERVE_API_KEY="your-api-key"

Verify Authenticationโ€‹

lineserve auth whoami

VPS Managementโ€‹

List VPS Instancesโ€‹

lineserve vps list
lineserve vps list --region nairobi
lineserve vps list --status running

Create VPS Instanceโ€‹

lineserve vps create \
--name my-server \
--region nairobi \
--image ubuntu-22.04 \
--size starter \
--ssh-key ~/.ssh/id_rsa.pub

Manage VPSโ€‹

# Get instance details
lineserve vps show my-server

# Start/stop/restart instance
lineserve vps start my-server
lineserve vps stop my-server
lineserve vps restart my-server

# Delete instance
lineserve vps delete my-server

VPS Actionsโ€‹

# Create snapshot
lineserve vps snapshot my-server --name backup-2024

# Resize instance
lineserve vps resize my-server --size professional

# Rebuild instance
lineserve vps rebuild my-server --image ubuntu-22.04

SMS Managementโ€‹

Send SMSโ€‹

lineserve sms send \
--to +254700123456 \
--message "Hello from Lineserve!" \
--from YourBrand

Bulk SMSโ€‹

# From file
lineserve sms send-bulk \
--file contacts.csv \
--message "Bulk message" \
--from YourBrand

# Multiple recipients
lineserve sms send \
--to +254700123456,+254700123457 \
--message "Group message" \
--from YourBrand

SMS Status and Historyโ€‹

# Check message status
lineserve sms status {message-id}

# List sent messages
lineserve sms list
lineserve sms list --status delivered
lineserve sms list --from YourBrand

Database Managementโ€‹

List Databasesโ€‹

lineserve db list
lineserve db list --engine mysql
lineserve db list --region nairobi

Create Databaseโ€‹

lineserve db create \
--name my-database \
--engine mysql \
--version 8.0 \
--size starter \
--region nairobi

Database Operationsโ€‹

# Show database details
lineserve db show my-database

# Create backup
lineserve db backup my-database --name manual-backup

# Restore from backup
lineserve db restore my-database --backup backup-id

# Scale database
lineserve db scale my-database --size professional

Kubernetes Managementโ€‹

Cluster Operationsโ€‹

# List clusters
lineserve k8s list

# Create cluster
lineserve k8s create \
--name my-cluster \
--region nairobi \
--node-count 3 \
--node-size standard

# Get kubeconfig
lineserve k8s kubeconfig my-cluster > ~/.kube/config

Node Pool Managementโ€‹

# List node pools
lineserve k8s nodes my-cluster

# Add node pool
lineserve k8s add-nodes my-cluster \
--count 2 \
--size large

# Scale node pool
lineserve k8s scale-nodes my-cluster --count 5

Storage Managementโ€‹

Object Storageโ€‹

# List buckets
lineserve storage buckets

# Create bucket
lineserve storage create-bucket my-bucket --region nairobi

# Upload file
lineserve storage upload my-bucket local-file.txt remote-file.txt

# Download file
lineserve storage download my-bucket remote-file.txt local-file.txt

# List objects
lineserve storage list my-bucket

Block Storageโ€‹

# List volumes
lineserve volumes list

# Create volume
lineserve volumes create \
--name my-volume \
--size 100GB \
--region nairobi

# Attach volume
lineserve volumes attach my-volume my-server

# Detach volume
lineserve volumes detach my-volume

Networkingโ€‹

Floating IPsโ€‹

# List floating IPs
lineserve network ips

# Reserve floating IP
lineserve network reserve-ip --region nairobi

# Assign IP to instance
lineserve network assign-ip {ip-address} my-server

# Release IP
lineserve network release-ip {ip-address}

Load Balancersโ€‹

# List load balancers
lineserve network lb list

# Create load balancer
lineserve network lb create \
--name my-lb \
--region nairobi \
--algorithm round-robin

# Add backend
lineserve network lb add-backend my-lb my-server:80

Account Managementโ€‹

Account Informationโ€‹

# Show account details
lineserve account info

# Show usage statistics
lineserve account usage

# Show billing information
lineserve account billing

API Key Managementโ€‹

# List API keys
lineserve account keys

# Create new API key
lineserve account create-key --name "CI/CD Key"

# Delete API key
lineserve account delete-key {key-id}

Configurationโ€‹

CLI Configurationโ€‹

# Show current configuration
lineserve config show

# Set default region
lineserve config set region nairobi

# Set output format
lineserve config set output json

Output Formatsโ€‹

# JSON output
lineserve vps list --output json

# YAML output
lineserve vps list --output yaml

# Table output (default)
lineserve vps list --output table

Automation and Scriptingโ€‹

Bash Completionโ€‹

# Add to ~/.bashrc
source <(lineserve completion bash)

# Or install globally
lineserve completion bash > /etc/bash_completion.d/lineserve

Scripting Examplesโ€‹

#!/bin/bash
# Deploy application stack

# Create VPS
VPS_ID=$(lineserve vps create \
--name app-server \
--region nairobi \
--image ubuntu-22.04 \
--size professional \
--output json | jq -r '.id')

# Wait for VPS to be ready
while [ "$(lineserve vps show $VPS_ID --output json | jq -r '.status')" != "running" ]; do
echo "Waiting for VPS to be ready..."
sleep 10
done

# Create database
DB_ID=$(lineserve db create \
--name app-db \
--engine mysql \
--version 8.0 \
--size starter \
--region nairobi \
--output json | jq -r '.id')

echo "Stack deployed successfully!"
echo "VPS ID: $VPS_ID"
echo "Database ID: $DB_ID"

Troubleshootingโ€‹

Common Issuesโ€‹

Authentication Errorsโ€‹

# Check if authenticated
lineserve auth whoami

# Re-authenticate
lineserve auth login

Network Timeoutsโ€‹

# Increase timeout
lineserve --timeout 300 vps list

# Check API status
curl -I https://api.lineserve.com/health

Debug Modeโ€‹

# Enable debug output
lineserve --debug vps list

# Verbose output
lineserve --verbose vps create ...

Getting Helpโ€‹

# General help
lineserve help

# Command-specific help
lineserve vps help
lineserve sms send --help

# Show version
lineserve version

Advanced Featuresโ€‹

Profilesโ€‹

# Create profile for different environments
lineserve config profile create production
lineserve config profile create staging

# Switch profiles
lineserve config profile use production

# List profiles
lineserve config profile list

Aliasesโ€‹

# Create command aliases
lineserve config alias create ls "vps list"
lineserve config alias create deploy "vps create --region nairobi --image ubuntu-22.04"

# Use aliases
lineserve ls
lineserve deploy --name my-server --size starter

Pluginsโ€‹

# List available plugins
lineserve plugin list

# Install plugin
lineserve plugin install terraform

# Use plugin
lineserve terraform plan

Next Stepsโ€‹