Installation
Installing Micator on a server from the terminal: from running install.sh to the first-run wizard link and logging in to the panel.
Micator is installed on a clean Ubuntu 24.04 server with two commands in the terminal. The installer downloads the release, prepares the server and prints a link to the first-run wizard. You set the domains, the owner and the license key later, in the browser.
What you need
- An Ubuntu 24.04 (amd64) server: at least 2 CPUs, 4 GB of memory and 20 GB of free space, with root access.
- No other web server and no other tracker installation on the server.
- Ports 80 and 443 are free and open for inbound connections.
- Two different domains with A records pointing to the server IP: one for the panel and one for tracking.
- An email for HTTPS certificate notifications.
- A license key from your account.
Details are on Server requirements and preparation. The installer does not install over existing data: it stops with a message.
Running the installer
The command is published at install.micator.com. In your account it is shown as a single line: the Overview section, the Installation block, the Copy button.
- Connect to the server over SSH.
- Download the installer with the first command.
- Run it with the second command, as root.
- Wait for the line that starts with the word “Wizard:” («Мастер:»).
curl -fsSLo install.sh https://install.micator.com/install.sh
sudo bash install.shThe installer asks no questions in the terminal. A different installation directory, a manual IP for the wizard and setup without a browser are covered on install.sh parameters and installing in the terminal.
What the installer does
In order, the installer:
- Checks that it runs as root on Ubuntu 24.04 and installs
python3,curlandopensslif they are missing. - Prints “Downloading the signed release…” («Загружаю подписанный выпуск…»), downloads the release, and checks its signature and the checksum of every file.
- Checks the server: architecture, systemd, memory, CPU and free space.
- Prints “Preparing the server for the wizard…” («Подготавливаю сервер для мастера…») and installs Docker and Docker Compose if they are missing or the Compose version is outdated.
- Checks that ports 80 and 443 are free and that there is no other tracker installation on the server.
- Copies the files to
/opt/micatorand loads the tracker images from the release. Each image is checked against the signed release. - Detects the server's public IP, creates an access code, installs the
micatorctlcommand and starts the wizard.
The images are part of the release; nothing is built on the server. If the installer stopped, find its message on Installation errors and how to fix them.
Wizard link and access code
At the end the installer prints three lines:
Мастер: http://203.0.113.10/setup/
Ссылка с кодом доступа сохранена только для root: /opt/micator/setup-access.txt
http://203.0.113.10/setup/#key=…- The first line is the wizard address. At this address the wizard asks you to enter the access code.
- The second is the file with the link and the code. If you installed with
--path, the file is in the directory you specified. - The third is the link with the code. It opens the wizard without entering the code.
Open the link with the code in a browser and go through the three wizard steps: Domains («Домены»), Access («Доступ»), Launch («Запуск»). At the IP address the wizard opens over http://, without HTTPS. All screens are described on First-run wizard.
If you closed the terminal, read the file on the server. The first line is the link with the code, the second is the code itself:
sudo cat /opt/micator/setup-access.txtThe code is valid until the wizard is completed. Once the wizard is finished, the setup-access.txt file is deleted.
The code protects the setup from strangers. Do not share the link with the code with other people.
Logging in to the panel and checking
When the wizard shows the “Tracker is ready” («Трекер готов») screen, the browser opens the login page https://panel.example.com/login on its own.
- Enter the owner Login («Логин») and Password («Пароль») you set in the wizard.
- Click Log in («Войти»).
The tracker does not write the owner password to files on the server and never shows it: the database stores only its hash. The old password cannot be recovered. If it is forgotten, root sets a new one on the server with sudo micatorctl owner-password — see New owner password.
Check the installation state on the server:
sudo micatorctl status
sudo micatorctl checkmicatorctl statusprints the version and the phase, for example “Version: …; phase: ready” («Версия: …; этап: ready»). Until you click Launch tracker («Запустить трекер») in the wizard, the phase isawaiting_setup.micatorctl checkprints the same and checks readiness once. Success is “Services and HTTPS are responding.” («Сервисы и HTTPS отвечают.»); otherwise it prints “Not ready: …” («Не готовы: …») with the name of what did not respond.
Run micatorctl check after the “Tracker is ready” screen. All phase values are listed on install.sh parameters and installing in the terminal.
Checking a release without installing
The --verify-only parameter downloads the whole release, checks its signature and contents, and installs nothing:
bash install.sh --verify-onlyThe check does not need root — including on a server where an installation has already started or the tracker is installed. python3, curl and openssl must be installed beforehand: in this mode the installer does not install them. The check runs on the same system as the installation: Linux amd64 with Python 3.12, as in Ubuntu 24.04. On another system the installer answers “This release is verified and installed on linux/amd64 with Python 3.12 (Ubuntu 24.04).” («Этот выпуск проверяется и устанавливается на linux/amd64 с Python 3.12 (Ubuntu 24.04).») The release is unpacked into a temporary directory, so free space is required. Success is the line “Release contents verified:” («Состав выпуска проверен:») with the version and the platform.
Release 0.1.0-beta.20261012.1 and earlier can be checked without sudo only on a server where the tracker has never been installed. If an installation has started or the tracker is installed, checking such a release without sudo ends with the line “Operation not completed: PermissionError” («Операция не завершена: PermissionError»): the installation directory is closed to other users. Run the check with sudo: sudo bash install.sh --verify-only. Which release is checked is set by the install.sh file itself: the release address is written inside it.
Running the installer again
You can run sudo bash install.sh again. Run the same install.sh file: the release address is written inside it. A file downloaded again after a new version comes out loads a different release.
| Situation | What happens |
|---|---|
| The installation stopped with an error before the link appeared | Once you fix the cause, the installer continues preparing the server and prints the link |
| The wizard is prepared but not completed | The terminal shows the same link as before. No new code is created |
| The tracker is already set up | The installer checks readiness and prints “The tracker is already set up. The wizard is closed.” («Трекер уже настроен. Повторный мастер закрыт.») The data does not change. If the tracker does not respond — “Not ready: …” |
| A different release was run: not the one installed or the one the installation was started with | Refusal: “A different release is installed. The wizard does not update a running tracker.” («Установлен другой выпуск. Мастер не обновляет работающий трекер.») |
| The installation was started in the terminal, without the wizard | Refusal: “Installation was started in the terminal. Continue with the same command.” («Начата установка через терминал. Продолжите прежнюю команду.») |
A server reboot before the wizard is finished does not reset the setup; see Server reboot during setup.
Updates and backups
The installer installs the tracker only on a clean server and does not update the version of a running tracker.
- A new version is installed in the panel: Settings → Updates («Настройки → Обновления»), see Updating the tracker from the panel.
- If this tab shows “Update the installation service on the server first…” («Сначала обновите службу установки на сервере…»), follow Updating the installation service (controller).
- Backups are set up in the panel: Settings → Backups («Настройки → Резервные копии»), see Backups: getting started.
- Moving the tracker to a new server from a backup is done in the wizard at step 2, see Restoring on a new server.
Next: First-run wizard, then Your first campaign.