Command-Line Installation
Use Cases and Limitations
Command-Line Installation completes deployment through commands without using a browser to operate the Installation Wizard. The installation result is the same as with visual installation.
- It is recommended to read "Visual Installation and Deployment" first to understand the installation process.
This method is suitable for batch or standardized installations, server room environments where a browser is unavailable, and scenarios that require integrating installation into automation scripts.
- Run as root. Only one installation process can run on a server at a time.
- If installation fails, the process exits. Resolve the error and rerun the original installation command to retry.
- This command is for installation, not Node Expansion or routine operations and maintenance. Perform node operations through the Admin Console. Refer to the "Node Management" section.
Before Deployment
The environment must meet the requirements in the "Before Deployment" section.
Obtain a License
- Generate a server fingerprint file as described in the "Generating the Server Fingerprint File" section.
- Obtain the license and installation package as described in the "Downloading the License and Installation Package" section.
On the corresponding Authorization Node, enter the root directory of the DJI FlightHub 2 installation package and run the following command to install the license. Replace
${许可证 license.tar.gz 路径}with the actual file path../InstallLicense.sh ${许可证 license.tar.gz 路径}The system time difference between the computer running the browser and the server must not exceed 30 seconds. Synchronize their clocks beforehand.
Preparing the Installation Configuration
Edit the resources/site.yaml template in the installation package to provide the installation configuration. The fields are described below:
| Field | Required | Instructions |
|---|---|---|
internalIP | Required | The internal IP used for communication between cluster nodes. Enter the static IP of this machine's network interface. |
externalIP | Required | External access IP: the cluster's unified entry point for web pages, APIs, and devices. Devices must reconnect to the cloud after this address changes. - Single node: Enter this machine's LAN IP. - Multiple nodes: Enter the external VIP or unified entry point IP, and configure entry point forwarding and automatic failover yourself. - NAT/cloud host: Enter the public IP (such as an elastic IP) and ensure that the required ports are reachable. |
serviceDomain | Optional | The external service domain name. This can be left blank. If not configured, externalIP is used. To access the service through a separate domain name, enter a domain name that already points to externalIP. |
adminPassword | Required | The initial Admin Console password. It must be 12–15 characters long and contain uppercase letters, lowercase letters, and digits. Allowed special characters are _ @ - ! # % ^ * ..The password is stored in plain text in the configuration file. Keep it secure and change it promptly after installation. |
license.node.ip | Required | The IP of the Authorization Node that actually holds the license. |
license.node.mode | Optional | Authorization Node mode. The default is local. local: The license is installed on the local machine within the cluster. remote: The license is installed on an independent server outside the cluster, suitable for scenarios where a cloud server's fingerprint changes. |
dataRoot | Optional | Data root directory. The default is /data/flighthub2, and it cannot be changed after installation. Use a persistent filesystem. NFS, tmpfs, and overlay are not allowed. At least 200 GB of free space is required. |
deploymentType | Optional | Deployment type. The default is SAAS. SAAS means software-only on-premises deployment, and FHAIO means all-in-one machine deployment. |
podCIDR / svcCIDR | Optional | The default Pod subnet is 10.42.0.0/16, and the default Service subnet is 10.43.0.0/16. Avoid conflicts with existing networks. |
The configuration is checked when installation starts. If missing or invalid configuration is reported, check resources/site.yaml as prompted, correct it, and rerun the installation command.
Running the Installation
# 私有化纯软形态
sudo ./flighthub2-installer bootstrap --auto
# 一体机形态
sudo ./flighthub2-installer bootstrap --auto --deployment-type=FHAIO
The terminal displays installation progress in real time. Installation logs are stored at /opt/flighthub2/log/install.log and can be used for troubleshooting.
Verifying the Installation Result
- After installation succeeds, access
http://<对外访问 IP>:30888to open the Admin Console. - In "Cluster Management", confirm that the nodes are healthy and there are no pending alerts.
- Continue with the "Business Initialization" section to import elevation data and bind the dock to an organization.
Troubleshooting and Retrying
- If installation fails, first check the terminal output and
install.logfor the cause. Resolve the issue and rerun the original installation command. - Run
flighthub2-installer cli log-downloadto package and export the logs. - If missing configuration fields are reported, complete
site.yamlas prompted and rerun the installation command.