Edge CLI Command Reference
Complete command-line tool reference for Edge server
📋 Overview
The Edge binary (edge) provides a set of command-line tools for managing server lifecycle, tunnels, channels, and WireGuard networks.
Basic Usage
edge <command> [subcommand] [flags]Global Parameters
The following parameters apply to all commands:
| Parameter | Default | Description |
|---|---|---|
--data | Platform default | Data directory path (Linux: /var/lib/edge, macOS: ~/.edge) |
--log-level | info | Log level: debug / info / warn / error |
Command Overview
edge
├── version # View version info
├── server # Server management
│ ├── start # Start server
│ ├── stop # Stop server
│ ├── restart # Restart server
│ ├── status # View running status
│ ├── online # Register to control center (go online)
│ └── offline # Unregister from control center (go offline)
├── tunnel # Tunnel management
│ ├── list # List tunnels
│ ├── info <id> # View tunnel details
│ ├── remove <id> # Delete tunnel
│ └── clean # Clean deleted tunnels
├── channel # Channel management
│ ├── list # List active channels
│ └── info <id> # View channel details
└── networks # WireGuard network management
├── list # List networks
├── info <id> # View network details
├── members <id> # List network members
├── remove <id> # Delete network
└── rate-limit <id> ... # Manage peer rate limitingVersion Info
edge version
Display Edge version number, build time, Git commit, and runtime info.
edge versionExample output:
Version: 1.2.0
Build: 2026-09-20T10:30:00Z
Commit: abc1234
Runtime: go1.22.0 linux/amd64Server Management
edge server start
Start the Edge server.
edge server start [flags]Parameters:
| Parameter | Short | Default | Description |
|---|---|---|---|
--config | -c | ~/.yat/config.yml | Config file path |
--daemon | -d | false | Run in background daemon mode |
--pid-file | ~/.edge/RUNNING | PID file path | |
--sock-file | ~/.edge/.edge.sock | IPC socket file path |
📖 For complete startup parameters, see Startup Parameters Reference
Examples:
# Start in foreground (dev/debug)
edge server start -c config.yaml
# Start in background (production)
sudo edge server start -d -c /etc/yat/edge.yaml
# Specify data directory
edge server start --data /var/lib/edgeedge server stop
Stop a running Edge server.
edge server stop [flags]Parameters:
| Parameter | Default | Description |
|---|---|---|
--pid-file | ~/.edge/RUNNING | PID file path |
Example:
# Stop service
sudo edge server stop
# Specify PID file
edge server stop --pid-file ./edge.pidBehavior:
- Sends SIGTERM to the running process
- Waits for graceful shutdown (up to 30 seconds)
- Automatically cleans up PID file
edge server restart
Restart the Edge server (stop, wait 1 second, then start).
edge server restart [flags]Parameters:
| Parameter | Default | Description |
|---|---|---|
--config | ~/.yat/config.yml | Config file path |
--pid-file | ~/.edge/RUNNING | PID file path |
Example:
sudo edge server restart -c /etc/yat/edge.yamledge server status
View Edge server running status.
edge server status [flags]Example output:
Edge server is running
PID: 12345
PID file: /var/run/edge.pidOr:
Edge server is not runningedge server online
Register Edge to the control center (mark as online). Service must be running.
edge server online [flags]Use cases:
- Manually go online after service startup
- Restore service after maintenance window
edge server offline
Unregister Edge from the control center (mark as offline). Service must be running.
edge server offline [flags]Use cases:
- Temporary downtime for maintenance
- Pre-migration decommission
- Prevent control center from assigning new connections
💡
online/offlineonly change the control center registration status, they do not stop or restart the service.
Tunnel Management
edge tunnel list
List all tunnel definitions on the current Edge.
edge tunnel list [flags]Parameters:
| Parameter | Default | Description |
|---|---|---|
--sock-file | ~/.edge/.edge.sock | IPC socket file path |
Example:
edge tunnel listedge tunnel info
View detailed information for a specific tunnel.
edge tunnel info <tunnel-id> [flags]Example:
edge tunnel info tun-abc123edge tunnel remove
Soft-delete a tunnel definition (marked as deleted, not immediately cleaned up).
edge tunnel remove <tunnel-id> [flags]edge tunnel clean
Clean up all tunnel definitions marked for deletion (permanent delete).
edge tunnel clean [flags]Channel Management
edge channel list
List currently active channels.
edge channel list [flags]edge channel info
View detailed information for a specific channel.
edge channel info <channel-id> [flags]WireGuard Network Management
edge networks list
List all WireGuard networks on the current Edge.
edge networks list [flags]Parameters:
| Parameter | Default | Description |
|---|---|---|
--db | empty | Database file path (auto-detected by default) |
--sock-file | ~/.edge/.edge.sock | IPC socket file path |
Example:
edge networks listedge networks info
View detailed information for a specific WireGuard network, including members and peer sessions.
edge networks info <network-id> [flags]Example:
edge networks info net-abc123edge networks members
List members (devices) of a specific network.
edge networks members <network-id> [flags]Example:
edge networks members net-abc123edge networks remove
Delete a WireGuard network and its member and session data.
edge networks remove <network-id> [flags]WARNING
This operation permanently deletes network data. Use with caution.
edge networks rate-limit
Manage per-peer egress bandwidth limits in a WireGuard network. Requires Edge service running.
edge networks rate-limit <network-id> <set|remove|query> [peer-ip] [rate] [ceil]Operations:
| Operation | Usage | Description |
|---|---|---|
set | set <peer-ip> <rate> [ceil] | Set peer rate limit (bytes/sec) |
remove | remove <peer-ip> | Remove peer's individual rate limit |
query | query [peer-ip] | Query rate limit configuration |
Examples:
# Set peer rate limit: 1 Mbps (125000 bytes/sec)
edge networks rate-limit net-abc123 rate-limit set 10.25.0.2 125000
# Set asymmetric rate limit: 1 Mbps guaranteed, 4 Mbps burst ceiling
edge networks rate-limit net-abc123 rate-limit set 10.25.0.2 125000 500000
# Remove peer's individual rate limit (fallback to default)
edge networks rate-limit net-abc123 rate-limit remove 10.25.0.2
# Query all peers' rate limit configuration
edge networks rate-limit net-abc123 rate-limit query
# Query single peer's rate limit
edge networks rate-limit net-abc123 rate-limit query 10.25.0.2💡
rateandceilunits are bytes/sec. Conversion: 1 Mbps = 125,000 bytes/sec.
Signal Handling
Edge server supports the following system signals:
# Graceful stop
kill -TERM $(cat /var/run/edge.pid)
# Immediate stop
kill -QUIT $(cat /var/run/edge.pid)
# Force stop (Ctrl+C)
kill -INT $(cat /var/run/edge.pid)Common Errors
Permission Denied
Error: write pid file: open /var/run/edge.pid: permission deniedSolution: Run with sudo, or specify a writable path --pid-file ./edge.pid.
Server Not Running
Error: server is not running, please start the server firstSolution: Start the service first with edge server start, or check if --pid-file path is correct.
Already Running
Error: daemon already running with PID 12345Solution: Stop the service first with edge server stop, or use edge server restart.
Getting Help
# View all commands
edge --help
# View subcommand help
edge server --help
edge server start --help
edge networks --help
edge networks rate-limit --help🔗 Related Documentation
- Edge Server Management — Deploy and manage Edge
- Startup Parameters — Complete startup parameter list
- Config Reference — YAML configuration reference
- WireGuard Configuration — WireGuard system requirements and configuration
YAT Team - Making intranet penetration simpler