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