Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 26 additions & 28 deletions ecosystem/node/mytonctrl/overview.mdx
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
---
title: "Overview"
description: "MyTonCtrl exposes a modular CLI that bundles day-to-day node maintenance, staking workflows, and operational tooling. Use this overview to decide which command reference you need for a specific task."
---

MyTonCtrl is a tool to run and maintain a TON node (validators and liteservers).

## Install MyTonCtrl

Run the installer as the non-root operator who will manage the node. The command below fetches dependencies, downloads the script, and starts the interactive setup wizard:
Expand All @@ -11,32 +12,35 @@ Run the installer as the non-root operator who will manage the node. The command
sudo apt update
sudo apt install -y curl wget git ca-certificates python3-pip
wget https://raw.githubusercontent.com/ton-blockchain/mytonctrl/master/scripts/install.sh
sudo bash install.sh -d
sudo bash install.sh
```

The wizard walks you through hardware validation, TON binary installs, and MyTonCtrl configuration. Use flags to pre-select options or automate deployments:

| Flag | What it does | Typical use |
| ----------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------------------------------- |
| `-d` | Downloads a packaged blockchain dump before first start. | Speed up the initial sync (omit if you prefer to sync from peers only). |
| `-m validator`, `-m liteserver` | Pre-enables the target mode. | Skip switching modes manually after install. |
| `-n mainnet`, `-n testnet` | Switches global config URL and minimum hardware thresholds. | Point the node to testnet without editing configs later. |
| `-t` | Disables telemetry uploads during install. | Comply with policies that forbid sharing validator stats. |
| `-i` | Ignores the CPU/RAM minimum check. | Lab hardware or cloud instances that fall below defaults. |
| `-c <PATH>` | Supplies a custom `config.json` for TON installer steps. | Use a vetted mirror instead of the default URL. |
| `-v <VERSION>` | Pins the TON node to a branch, tag, or commit. | Lock to a specific release when validating upgrades. |
| `-u <USER>` | Forces the operator account that owns MyTonCtrl. | Keep ownership correct when running the script from automation. |
| `-a <AUTHOR>`, `-r <REPO>`, `-b <BRANCH>` | Override the Git source for MyTonCtrl and installer scripts. | Test forks or feature branches. |
| `-p <FILE>` | Restore from a MyTonCtrl backup archive. | Reinstall on fresh hardware using an existing backup. |
| `-o` | Install only MyTonCtrl assets (requires `-p`). | Recover the console without touching TON binaries. |
| `-l` | Install only the TON node binaries and services. | Pair a fresh node with an already configured MyTonCtrl. |
| `-h` | Prints installer help and exits. | Basic check of available options. |

Leaving out `-m` and `-p` keeps you in the interactive CLI (`install.py`), which prompts for network selection, telemetry, and mode enablement.
| Flag | What it does | Typical use |
| ------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------- | ---------------------------------------------------------------------- |
| `-d`, `--dump` | Downloads a [packaged blockchain dump](https://dumps.ton.org) before first start. | Speeds up the initial sync (omit to sync from peers only). |
| `-m`, `--mode validator\|liteserver\|collator` | Pre-enables the target mode. | Skip switching modes manually after install. |
| `-n`, `--network mainnet\|testnet` | Switches global config URL and minimum hardware thresholds. | Point the node to testnet without editing configs later. |
| `-t`, `--telemetry` | Disables telemetry uploads during install. | Comply with policies that forbid sharing validator stats. |
| `-i`, `--ignore-reqs` | Ignores the CPU/RAM minimum check. | Lab hardware or cloud instances that fall below defaults. |
| `-c <PATH>`, `--config <PATH>` | Supplies a custom `config.json` for TON installer steps. | Use a vetted mirror instead of the default URL. |
| `-g <URL>`, `--node-repo <URL>` | Points the TON node build to a different Git repository. | Test patched node sources or mirror Git access. |
| `-v <VERSION>`, `--node-version <VERSION>` | Pins the TON node to a branch, tag, or commit. | Lock to a specific release when validating upgrades. |
| `-u <USER>`, `--user <USER>` | Forces the operator account that owns MyTonCtrl. | Keep ownership correct when running the script from automation. |
| `-e <PATH>`, `--env-file <PATH>` | Loads installer parameters (see below) from an env file. | Pre-seed values like `ARCHIVE_TTL`, shard lists, or ports for CI jobs. |
| `-a <AUTHOR>`, `--author <AUTHOR>`<br />`-r <REPO>`, `--repo <REPO>`<br />`-b <BRANCH>`, `--branch <BRANCH>` | Override the Git source for MyTonCtrl and installer scripts. | Test forks or feature branches. |
| `-p <FILE>`, `--backup <FILE>` | Restore from a MyTonCtrl backup archive. | Reinstall on fresh hardware using an existing backup. |
| `-o`, `--only-mtc` | Install only MyTonCtrl assets (requires `-p`). | Use to interact with a node remotely. |
| `-l`, `--only-node` | Install only the TON node binaries and services. | Pair a fresh node with an existing MyTonCtrl instance elsewhere. |
| `--print-env` | Prints the resolved install command and env values, then exits. | Dry-runs CLI answers before performing a real install. |
| `-h`, `--help` | Prints installer help and exits. | Basic check of available options. |

Leaving out `-m` and `-p` the installer in the interactive CLI, which prompts for network selection, telemetry, and mode enablement.

### Environment variables

Set these variables before running `install.sh` (for example, `ARCHIVE_TTL=864000 sudo bash install.sh -d`) to preconfigure node behavior:
Set these variables before running `install.sh` (for example, `ARCHIVE_TTL=864000 sudo bash install.sh`) to preconfigure node behavior:

| Variable | Effect | Notes |
| ---------------- | ------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
Expand All @@ -46,15 +50,9 @@ Set these variables before running `install.sh` (for example, `ARCHIVE_TTL=86400
| `ARCHIVE_BLOCKS` | Downloads archive data via TON Storage during bootstrap. | Accepts a single block/UTC date or a range (`<from> <to>`); dates must be `YYYY-MM-DD`. |
| `COLLATE_SHARD` | Configures collator shards during `collator` mode installs. | Space-separated shard IDs; defaults to `0:8000000000000000` if unset. |

## Operational notes

- All guides assume you are running the interactive `mytonctrl` console on a node where the relevant mode is enabled (`enable_mode <mode_name>`).
- Many commands trigger privileged scripts (systemd, file writes, package installs). Run them from an account that can escalate with `sudo` or the original installation user.
- Keep validator wallets, ADNL keys, and configuration backups safe before applying destructive actions (disabling modes, removing Teleport, restoring archives, etc.).

## Command guide index
## Command reference

| Guide | What it Covers |
| Reference | What it covers |
| -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------- |
| [Core Commands](/ecosystem/node/mytonctrl/core) | Everyday console operations: updating MyTonCtrl, enabling modes, viewing status, and managing settings. |
| [Installer Commands](/ecosystem/node/mytonctrl/installer) | Running the MyTonInstaller module to configure node services, enable components, and adjust node arguments. |
Expand Down