Documentation Index
Fetch the complete documentation index at: https://companyname-a7d5b98e-run-liteserver.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Objective
This guide describes how to set up a liteserver using MyTonCtrl.Prerequisites
- A server meeting the minimal hardware requirements
- An OS meeting the requirements
Step 1: Prepare environment
1.1 Minimal hardware requirements
- 16-core CPU
- 64 GB RAM
- At least 1 TB of NVMe Gen4+ SSD storage (Enterprise grade preferred) or Provisioned 64k+ IOPS storage.
- 1 Gbit/s symmetric connectivity (both inbound and outbound), ~16 TB/month at peak load
- Fixed (static) public IP address
1.2 OS and system requirements
1.3 Subscribe to official channels
Subscribe and follow the announcements provided for liteservers in the following Telegram channels:| Channel | Network |
|---|---|
| @tonstatus | TON Mainnet |
| @testnetstatus | TON Testnet |
1.4 Free space requirements
Ensure sufficient free disk space for the initial download and extraction of the database dump.- The
/tmpdirectory requires over 235 GB of free space. - The
/vardirectory requires over 740 GB of free space.
1.5 Prepare the operator account
To create a dedicated operator user and switch to it before installing MyTonCtrl:- Create a non-root user:
-
<USERNAME>- name of the non-root operator user. -
<SERVER_IP>- public IP address of the server. -
<SSH_PORT>- custom SSH port number configured in Step 1.7. - Switch to the new operator account by reconnecting via SSH:
1.6 Benchmark server performance
Before installing, verify that the server meets performance requirements. Inadequate disk or network performance is the most common cause of validator instability.1.6.1 Network latency
Check latency to TON beacon nodes. Expect approximately 50 milliseconds to the nearest beacon and up to 300 milliseconds to the farthest:1.6.2 Disk IOPS
Installfio and run a random read/write benchmark:
| Metric | Minimum |
|---|---|
| Read | 10k IOPS |
| Write | 10k IOPS |
1.6.3 Network bandwidth
Verify network throughput withspeedtest-cli:
1.7 Harden server security
SSH hardening
Apply the following SSH configuration changes in/etc/ssh/sshd_config:
- Enable key-based authentication and disable password login:
- Disable root login:
- Change the default SSH port:
- Restrict SSH access to specific IP addresses using the
Match Addressdirective:
<SSH_PORT>- a custom non-default port number (for example,2222).<ALLOWED_IP>- IP address or subnet permitted to connect via SSH.<USERNAME>- name of the operator user.
Firewall configuration
Enable the firewall and allow only the SSH port. The node UDP port and liteserver port are added after installation in open the node UDP port and the liteserver port.Additional security measures
- Use a unique, strong password for the root user.
- Set a GRUB bootloader password to prevent unauthorized boot modifications.
-
Enable Fail2ban for SSH brute-force protection:
-
Configure two-factor authentication for SSH using
libpam-google-authenticatoror a similar PAM module.
Step 2: Liteserver installation
The installation process consists of two stages (in total, this can take up to three hours):- Download DB damp and install the liteserver
- Final synchronization of the liteserver
2.1 Download DB damp and install the liteserver
2.1.1 Install prerequisites and download installer (MyTonCtrl)
2.1.2 Run liteserver installation
Run the installer from the operator account withsudo so it can create system users and services:
2.2 Final synchronization of liteserver
This process starts automatically after installation and can take from one to several hours depending on server performance. Monitor the progress using MyTonCtrl:Local validator initial sync status field. The value indicates how old the last imported block was. On a fully synchronized node, this value should be less than 20 seconds.
2.2.1 Open the node UDP port and the liteserver port
At this stage, the node UDP port and liteserver port should be opened to make the archive liteserver available for syncing blocks from other nodes. Identify the node UDP port and liteserver port from theconfig.json file:
ufw on bare-metal hosts:
<NODE_UDP_PORT>- UDP port of the validator engine.<LITESERVER_PORT>- TCP port of the liteserver.
Step 3: Maintenance
3.1 Set up alerting
Set up alerting in MyTonCtrl to get a notification of critical issues with the liteserver. For more information, see MyTonCtrl private alerting bot.3.2 Set up monitoring
Set up monitoring dashboards for RAM, disk, network, CPU usage, and other metrics. For system-level metrics, integrate Prometheus with node_exporter with MyTonCtrl. It is critical to use the monitoring system to:- monitor server stability
- monitor synchronization parameters
- check for memory leaks
3.3 Perform software updates
Follow the @tonstatus channel, turn on notifications, and be prepared for urgent updates if needed. Update the node software and MyTonCtrl:Troubleshooting
Monitor logs
To see detailed logs of synchronization process, increase the log verbosity from the MyTonCtrl console:1 after checking logs to avoid excessive disk I/O overhead:
Performance issues
Logs containing “Importing archive for masterchain seqno #… from net” accompanied by timeout errors indicate insufficient storage performance. Ensure the disk meets the IOPS requirements listed in Minimal hardware requirements. To verify disk and system performance, run the built-inmytonctrl benchmark:
- Stop the validator service:
- Run the benchmark: