Overview
The resource requirements that a server must meet for deploying FineOps are detailed in this article.
Server Quantity
Virtual machines are prone to issues such as resource contention, which may cause unexpected system failure, making them unsuitable for deploying FineOps.
FineOps Edition | Recommendation |
---|---|
FineOps Standard Edition | It is recommended that FineOps monopolize one server. That is, only deploy FineOps on the server, and do not deploy other applications or FanRuan projects to ensure the independence of operation and maintenance. |
FineOps Basic Edition | FineOps can share a server with a single-node FanRuan project. That is, deploy FineOps and a FanRuan application (a standalone project) on the server, and do not deploy other content. |
Docker Installation Check
When using the FineKey tool to deploy FineOps, the Docker container is automatically installed.
Ensure that the server where FineOps is located has no pre-installed Docker. Otherwise, the FineOps deployment may fail due to version and permission issues.
Execute the following command.
docker version
If it returns nothing, no Docker is installed.
If it returns the version number, Docker has been installed. Uninstall Docker or replace the server.
Operating System Verification
Configuration | Requirement |
---|---|
Operating system type | Linux |
Operating system architecture | X86_64 |
Operating system kernel | Version 3.10 and above |
Operating system software | Recommended: Ubuntu 22 Supported: Ubuntu 18.04.4 and later releases (except for Ubuntu 20.04) CentOS 7.3 to 7.9 Red Hat 7.6 and later releases Rocky Linux 8.8 to 9.4 ![]() You are advised to use Ubuntu since CentOS is discontinued. Ensure the user you use has relevant permission if the operating system is Ubuntu (as the default root user is not a superuser). |
Resource Allocation Confirmation
The server on which FineOps is deployed shall meet the following requirements.
Item | Requirement |
---|---|
CPU | At least four cores |
Disk type | XFS |
Remaining free disk space of the root directory | 1 GB |
Remaining free disk space of the installation directory | Take the larger value between the following listed ones as the configuration requirement. 1. Ensure the server contains a partition with at least 100 GB (200 GB recommended) of free space. ![]() 2. The required disk space of the FineOps server increases with the number of daily visits and nodes of the O&M project to be connected (if any). An extra 100 GB is required per 50000 daily visits and an extra 50 GB is required per node. ![]() |
Remaining free physical memory | For an exclusive server of FineOps Standard Edition, the memory larger than 16 GB is recommended and should be at least 12 GB. For an inclusive server of FineOps Standard Edition, the memory should be larger than 16 GB. For the server of FineOps Basic Version, the memory should be larger than 4 GB. ![]() 1. If the number of main application nodes of O&M projects to be connected exceeds 10, an extra 100 MB of memory is required per main application node. 2. For projects deployed on the same server as FineOps, you must perform registration authentication after deployment.
|
Extranet bandwidth | Greater than or equal to 5 MB/s |
The configuration requirements in the above table must be met because each component of FineOps has default configuration requirements, as shown in the following table.

A resource-sharing strategy is used to prevent resource over-provisioning, as the components do not run at full load simultaneously.
The total amount of required server resources are not the sum of the maximum usage amount of each container.
Component | Maximum CPU Usage | Maximum Memory Usage | Memory Configuration |
---|---|---|---|
OPS | 2 cores | 4 GB | xmx = 2 GB -XX:ReservedCodeCacheSize = 250 MB -XX:MaxDirectMemorySize = 500MB -XX:MaxMetaspaceSize = 500 MB |
OPS Agent | 1 core | 1 GB | xmx= 0.5 GB -XX:MaxDirectMemorySize = 100 MB MALLOC_ARENA_MAX = 8 |
Nginx | 1 core | 1 GB | / |
Pushgateway | 2 cores | 1 GB | / |
Prometheus | 1 core | 2 GB | / |
Grafana | 1 core | 1 GB | / |
Alertmanager | 1 core | 0.5 GB | / |
Elasticsearch | 1 core | 4 GB | xmx = 2 GB |
SkyWalking OAP | 1 core | 3 GB | xmx = 2 GB |
Registry | 1 core | 1 GB | / |
Port Availability Confirmation
FineOps includes many components, and some of them require port mapping to the host machine, occupying server ports for operation.
Before deployment, ensure the port to be mapped automatically (default port) is not in use. If it is already in use, use a free port.

1. For instructions on port occupancy inspection and firewall configuration, see Port Occupancy Inspection and Firewall Configuration.
2. You do not need to reserve server ports for the OPS, Pushgateway, Prometheus, Grafana, and Alertmanager components, because they require no port mapping to the host machine.
Component | Default Port |
---|---|
Nginx | It is the port you use to access FineOps. Deployed by a root user: 80 Deployed by a non-root user: 8090 |
OPS Agent | 9071 |
Elasticsearch | 9200 |
SkyWalking OAP | 11800 and 12800 |
Registry | 5000 |

Type | Reason |
---|---|
Ports not available to non-root users | If using a non-root user for installation, do not use ports below 1024. In a Linux environment, non-root users can only use ports 1024 and above. |
Ports deemed insecure by Google Chrome | Google Chrome identifies the following ports as insecure ports with potential security threats. Do not use the following ports, as doing so will prevent Google Chrome from accessing FineOps. 1, 7, 9, 11, 13, 15, 17, 19, 20, 21, 22, 23, 25, 37, 42, 43, 53, 69, 77, 79, 87, 95, 101, 102, 103, 104, 109, 110, 111, 113, 115, 117, 119, 123, 135, 137, 139, 143, 161, 179, 389, 465, 512, 513, 514, 515, 526, 530, 531, 532, 540, 548, 554, 556, 563, 587, 601, 636, 989, 990, 993, 995, 1719, 1720, 1723, 2049, 3659, 4045, 5061, 6000, 6566, 6665, 6666, 6667, 6668, 6669, 6697, and 10080 ![]() |
Network Connectivity Validation
Certain server ports must be opened to ensure normal access to FineOps and smooth deployment and monitoring of O&M projects.

Extranet and FineOps
Description | Extranet | Relation | FineOps |
---|---|---|---|
For the admin to access FineOps | O&M personnel (unlimited IP address) | Access -> | FineOps Nginx The default port is as follows.
|
For FineOps to pull images from the cloud repository | FanRuan cloud image repository (fineops-registry.cn-hangzhou.cr.aliyuncs.com:443) | <- Access | Registry: 5000 |
FineOps and O&M Project
Description | FineOps | Relation | O&M Project |
---|---|---|---|
Basic O&M | FineOps Nginx The default port is as follows.
| <- Access | The application node and the engine node of the project, including FineBI - Application Node, Engine - Metadata Node, Engine - Calculation Node, FineReport, and FineDataLink |
Transmitting the server and component indicator information of the project to FineOps | FineOps Nginx The default port is as follows.
| <- Access | The OPS Agent component on every server of this project (on project nodes and cluster component nodes): 9070 |
Tracing | FineOps SkyWalking OAP: 11800 and 12800 | <- Access | The application node and the engine node of the project, including ineBI - Application Node, Engine - Metadata Node, Engine - Calculation Node, FineReport, and FineDataLink |
Tracing | FineOps SkyWalking OAP: 11800 and 12800 | <- Access | FineOps Nginx The default port is as follows.
|
Pulling components from the image repository of FineOps for project deployment | registry: 5000 | <- Access | The project node, the BI engine node, and the cluster component node on every server |
Mounting Directory Preparation
The FineOps mounting path associates essential FineOps files on the host machine with those in the container, realizing data persistence and enabling quick file viewing.
1. Check the server disk space.
Use the df-h command to find a mounting point with large free space.
In this example, the most appropriate mounting point for the server is the /home directory.
2. Create a folder.
Select an appropriate position in this directory and create a folder as the FineOps mounting directory.
Use the mkdir command to create a folder. (In this example, a folder named fanruan is created in the /home directory.)
mkdir/home/fanruan
Use the chmod command to grant permission on the folder. (In this example, the 777 permission is assigned.)
chmod 777/home/fanruan
The mounting path (/home/fanruan) is the value of the dataRootPath parameter in the finekey.yaml file used to deploy FineOps.

3. Empty ACL rules.
An access control list (ACL) is a list of rules that specify the access permission of different users or user groups on files and directories.
If the mounting directory is configured with an ACL, after deployment, the data-root directory of the Docker container will inherit the ACL automatically, which may lead to various issues caused by lack of permission such as container startup failure.
Therefore, you are advised to remove all ACL rules configured for the mounting directory and retain the UNIX permission only.
setfacl -b /Mounting path
User Permission Confirmation
Deploying FineOps Using a Superuser Account
You are advised to use the account with a user ID of 0 and a username of root to upload, decompress, and run the FineKey tool for containerized deployment.
Ensure the root user can connect to the FineOps server via the SSH protocol. Ensure the password used for SSH connection contains no English single quotation marks, otherwise, the permission will fail to be validated during deployment.

1. The user whose user ID is 0 but whose username is not root cannot be used for deployment. Rename it root.
2. The default root user of a Ubuntu operating system is not a superuser. Ensure the user you use has the following permission.
Deploying FineOps Using a Regular User Account
To deploy FineOps using a regular user account, ensure the user has the following permission.

1. For permission necessity, see Linux User Permission Explanation.
2. A Docker environment will be created on the target server and the user you use will be added to the Docker user group automatically during FineOps deployment. You must terminate the current terminal session and reconnect to the server using a new terminal session. This step is essential for the user group changes to take effect, enabling the execution of Docker commands and related operations.
Type | Permission Requirement |
---|---|
User password | Ensure the user you use can connect to the FineOps server via the SSH protocol. Ensure the password used for SSH connection contains no English single quotation marks, otherwise, the permission will fail to be validated during deployment. |
Permission on the directory where FineKey is stored | FineOps deployment relies on the FineKey installation package. You are required to upload the FineKey installation package to the server and execute commands to decompress the package and deploy FineOps. For the directory to which you want to upload the FineKey installation package and save the extracted package content, ensure that:
chmod -R 755 /Absolute path of the FineKey installation package |
Permission on the FineOps installation directory | Since you need to add and edit files in the FineOps installation directory when installing FineOps, ensure that:
chmod -R 755 /Absolute path of the FineOps installation directory |
User's sudo permission | You must allow the user to execute configuration commands using the sudo command as a root user on any host computer.
Username ALL=(root) NOPASSWD: bin/sh,/bin/mkdir,/bin/rm, /bin/cp,/bin/systemctl,/bin/kill,/usr/sbin/sysctl, /usr/bin/gpasswd,/usr/sbin/groupadd,/usr/bin/chown, /usr/sbin/modprobe,/usr/bin/echo,/usr/bin/sed, /usr/sbin/swapoff,/bin/sudo |
The requiretty option | Ensure the user does not require a TTY session to execute sudo commands. This will allow the execution of sudo commands through scripts/remote commands. Comment out the requiretty-related content in the /etc/sudoers file. The following is an example. #Defaults: requiretty |
SELinux Disabling
Security-Enhanced Linux (SELinux) is a security module integrated into the Linux kernel, which strictly restricts access to system resources by programs and users via mandatory access control mechanisms.
The enabled SELinux may interfere with starting Docker as a service using the systemctl command.
Disable SELinux before deployment to ensure smooth deployment using FineKey.
Operation | Command |
---|---|
Check the SELinux status. | Command:
Return value:
Disable SELinux if the return value is Enforcing. |
Disable SELinux. | 1. Disabling SELinux Temporarily Command:
This switches SELinux from enforcing mode to permissive mode. No server reboot is required, and the change takes effect immediately. 2. Disabling SELinux Permanently (Optional)
Reboot the server for the changes to take effect. 3. Notes If you disable SELinux after the ./finekey command gets stuck, terminate the related processes and re-execute ./finekey for deployment.
(This command may also get stuck. Interrupt it with Ctrl + C.)
You can now re-execute ./finekey to proceed with the deployment. |