# FeatherWings CLI reference

> Every featherwings command and flag: configure, diagnostics, node-backup, update and the daemon itself, generated from the Wings source.

Source: https://featherpanel.com/docs/wings/cli/

The binary is installed as `/usr/local/bin/featherwings`. Run it as root.

## Commands

### featherwings configure

Configure FeatherWings using panel join-data Writes config.yml from the join data the panel shows on the node page, and can install the systemd service. Join data can also come from the FEATHERWINGS\_JOIN\_DATA environment variable. With --panel-url instead, it runs the quick-setup flow against the panel.

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--join-data` | string |  | Base64-encoded bootstrap YAML from FeatherPanel |
| `--config` `-c` | string | `/etc/featherpanel/config.yml` | Path to write config.yml |
| `--override` | bool | `false` | Replace an existing configuration file |
| `--quiet` `-q` | bool | `false` | Suppress animated output |
| `--allow-insecure` | bool | `false` | Skip TLS certificate verification when fetching config from the panel |
| `--install-service` | bool | `false` | Install, enable, and start the featherwings systemd unit without prompting |
| `--no-service` | bool | `false` | Skip systemd service installation |
| `--panel-url` | string |  | FeatherPanel base URL for non-interactive quick setup |
| `--node-name` | string |  | Node name for non-interactive quick setup |
| `--node-fqdn` | string |  | Node FQDN for non-interactive quick setup |
| `--location-id` | int | `0` | Game location ID for non-interactive quick setup |
| `--keep-oauth-key` | bool | `false` | Keep the temporary OAuth API key on the panel after setup |
| `--callback-host` | string |  | Public IP of this node for quick setup defaults |

Source: [`cmd/configure.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/configure.go)

### featherwings diagnostics

Collect and report information about this Wings instance to assist in debugging. Prints a report with the Wings, Docker, kernel and OS versions, the main config values and recent logs. It asks whether to include endpoints (panel URL, listen addresses; otherwise shown as {redacted}) and logs, then offers to upload the report to MythicalSystems Paste so you can share the link with support.

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--paste-api-url` | string | `https://pastes.mythicalsystems.org/log` | the MythicalSystems pastes (mclo.gs-compatible) API endpoint to use for uploads |
| `--mclogs-api-url` | string | `https://pastes.mythicalsystems.org/log` | deprecated: use --paste-api-url |
| `--log-lines` | int | `200` | the number of log lines to include in the report |

Source: [`cmd/diagnostics.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/diagnostics.go)

### featherwings node-backup

Create, list, restore, and migrate whole-node Wings backups. Whole-node backups taken by Wings itself, separate from per-server backups. See Node backups.

Source: [`cmd/node_backup.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/node_backup.go)

### featherwings node-backup create

Create a local node backup archive Modes: volumes (default) archives the server data directory; user\_backups\_only archives the stored server backups; full archives both plus config.yml.

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--mode` | string | `volumes` | volumes | full | user\_backups\_only |

Source: [`cmd/node_backup.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/node_backup.go)

### featherwings node-backup list

List local node backups

Source: [`cmd/node_backup.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/node_backup.go)

### featherwings node-backup restore \[uuid\]

Restore a local node backup by UUID

Source: [`cmd/node_backup.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/node_backup.go)

### featherwings node-backup delete \[uuid\]

Delete a local node backup

Source: [`cmd/node_backup.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/node_backup.go)

### featherwings node-backup export

Create a migration package (full mode) Builds a full migration package you can copy to a new machine and import there.

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--out` | string | `/var/lib/featherpanel/wings_migrations` | optional directory to copy a named migration artifact into |

Source: [`cmd/node_backup.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/node_backup.go)

### featherwings node-backup import

Import a migration or backup archive from a file path

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--file` | string |  | path to featherwings\_\*.tar.gz archive |

Source: [`cmd/node_backup.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/node_backup.go)

### featherwings

Runs the API server allowing programmatic control of game servers for FeatherPanel Panel. Starts the daemon. The systemd unit runs this. --config and --debug are persistent and work with every subcommand.

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--config` | string | `/etc/featherpanel/config.yml` | set the location for the configuration file |
| `--debug` | bool | `false` | pass in order to run wings in debug mode |
| `--pprof` | bool | `false` | if the pprof profiler should be enabled. The profiler will bind to localhost:6060 by default |
| `--pprof-block-rate` | int | `0` | enables block profile support, may have performance impacts |
| `--pprof-port` | int | `6060` | If provided with --pprof, the port it will run on |
| `--auto-tls` | bool | `false` | pass in order to have wings generate and manage its own SSL certificates using Let's Encrypt |
| `--tls-hostname` | string |  | required with --auto-tls, the FQDN for the generated SSL certificate |
| `--ignore-certificate-errors` | bool | `false` | ignore certificate verification errors when executing API calls |

Source: [`cmd/root.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/root.go)

### featherwings version

Prints the current executable version and exits.

Source: [`cmd/root.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/root.go)

### featherwings update

Update wings to the latest version Replaces the running binary with the latest release, checking its SHA-256 unless you disable that. If you installed the APT package, prefer updating with apt so the package manager stays in sync.

| Flag | Type | Default | Description |
| --- | --- | --- | --- |
| `--repo-owner` | string |  | GitHub repository owner (defaults to system.updates.repo\_owner) |
| `--repo-name` | string |  | GitHub repository name (defaults to system.updates.repo\_name) |
| `--force` | bool | `false` | Force update even if on latest version |
| `--from-url` | string |  | Direct URL to download the updated wings binary |
| `--from-url-sha256` | string |  | Expected SHA256 checksum for the --from-url download |
| `--disable-checksum` | bool | `false` | Skip checksum verification (use with caution) |

Source: [`cmd/selfupdate.go`](https://github.com/MythicalLTD/FeatherWings/blob/main/cmd/selfupdate.go)
