The activate command activates a drone with a token. This connects the drone to the SkyHub network so it can start receiving commands.

Usage

sudo skycore activate --token <Drone Token> [options]

Parameters

  • --token, -t <token>: The activation token for the drone (required)
  • --services, -s <list>: Comma-separated list of services to start (default: drone-mavros,mavproxy)
Available services:
ServicePurpose
drone-mavrosROS2 bridge for the flight controller
camera-proxyVideo streaming service
mavproxyMAVLink proxy for the flight controller
ws_proxyWebSocket proxy for telemetry

Examples

Basic activation with default services (drone-mavros and mavproxy):
sudo skycore activate --token 1234567890
Recommended approach with explicit service selection:
sudo skycore activate --token 1234567890 --services drone-mavros,mavproxy
Start all available services:
sudo skycore activate --token 1234567890 --services drone-mavros,camera-proxy,mavproxy,ws_proxy
Start only specific services:
sudo skycore activate --token 1234567890 --services camera-proxy,ws_proxy

How It Works

The activation process:
  1. Contacts the activation server with the provided token
  2. Downloads and configures the VPN connection
  3. Sets up Docker credentials for accessing the container registry
  4. Downloads the Docker Compose configuration
  5. Starts the selected services (defaults to drone-mavros and mavproxy)
  6. Creates a configuration file at ~/skycore.conf
  7. Grants Docker permissions to the current user
After successful activation the drone is connected to the SkyHub network and ready to receive commands.

Configuration File

During activation, SkyCore creates /home/skycore/skycore.conf containing:
  • activated: Current activation status (true/false)
  • token: The token used for activation
  • services: Comma-separated list of activated services
  • activation_date: Timestamp of when the drone was activated
Example skycore.conf:
activated: true
token: 4773854478
services: drone-mavros,mavproxy
activation_date: 2025-04-10 15:39:05
This file is used by the up command to restart the same services after a reboot.
The configuration file is created automatically during activation, but you can edit the services line later to change which services the up command starts — or rerun activation with a different service selection.

Service Management: up and down

SkyCore manages the drone’s Docker services after activation with two commands.

up

Starts the Docker services listed in the configuration file:
skycore up
How it works:
  1. Reads the services entry from /home/skycore/skycore.conf
  2. Starts only the services that were specified during activation
  3. Prints which services were started
Useful after a reboot or if the services were stopped.

down

Stops all Docker services:
skycore down
This completely shuts down all running containers and releases resources.

Typical Workflow

# Activate with specific services
sudo skycore activate --token 1234567890 --services drone-mavros,mavproxy

# Later, after a reboot
skycore up      # starts only drone-mavros and mavproxy

# When finished
skycore down    # stops all services

Environment Variables

  • STAGE: Sets the environment to connect to (default: prod)
To use a different environment:
STAGE=dev sudo skycore activate --token <Drone Token>

Troubleshooting

  • Connection Error: Ensure the drone has internet connectivity
  • Authentication Failure: Verify the token is correct and hasn’t expired
  • VPN Connection Failure: Check that WireGuard is installed and properly configured
  • Docker Issues: Ensure Docker and Docker Compose are installed and running
  • Permission Denied (up/down): Ensure your user is in the docker group or use sudo
  • Missing Configuration File: Run skycore activate first to create the configuration
  • No Services Started: Check that services are correctly listed in skycore.conf