Skip to content

Installing AdminBolt

AdminBolt is installed with a single command that runs a non-interactive installer on a fresh server. This page describes the requirements, the install command, its options, what the installer does, and how to reach the panel for the first time.

Requirements

  • Operating system: AlmaLinux 9 or Rocky Linux 9.
  • Access: root (the installer must be run as root, for example with sudo).
  • Port: TCP 8443 must be free. If it is already used by an existing bolt-nginx, the installer proceeds as a reinstall; if it is used by any other service, the installer stops.
  • Commands: curl and ss must be available. Both are present by default on AlmaLinux 9 and Rocky Linux 9.
  • RAM: 2 GB minimum, 4 GB recommended.
  • CPU: 2 cores.
  • Disk: 20 GB of available space.

Quick install

Run the following as root on a supported, freshly provisioned server:

bash
curl -fsSL https://get.adminbolt.com/install.sh | bash

This command is non-interactive: it does not prompt you for a domain, email, nameservers, or service selection. It downloads the installer, pins the panel to version 1.4.0-v2, and tees all output to /home/adminbolt-install-log.txt so you can review the full run afterward.

Options

The following options apply when you invoke the installer script directly rather than through the quick-install command:

  • --version=<PANEL_VERSION> - install a specific bolt-panel version. When omitted, the latest version from the repository is installed.
  • --source=<stable|staging|testing> - select the package repository tier. When omitted, the installer uses the bolt-repo package from AdminBolt.
  • --help, -h - print usage information.

What the installer does

The installer runs in three stages.

Stage 1 - pre-flight checks

Confirms that the script is running as root, that the operating system is AlmaLinux 9 or Rocky Linux 9, that the required commands are present, and that TCP port 8443 is free (or already held by an existing bolt-nginx).

Stage 2 - base setup and packages

  1. Disables SELinux.
  2. Enables the EPEL and CRB repositories, installs prerequisite packages, and installs acme.sh.
  3. Adds the Bolt package repository and installs bolt-agent, bolt-nginx, bolt-php, and bolt-panel, then enables and starts bolt-nginx and bolt-php.

Stage 3 - post-install via bolt-cli

Requests a trial license, connects bolt-agent to the panel, and installs and configures the service stack: the nftables firewall, SSH, PowerDNS, MariaDB, Postfix, Dovecot, Redis, Rspamd, mlmmj, PHP 8.4, Apache, vsftpd, and Fail2Ban. It also installs the integrated apps (Local API, File Manager, phpMyAdmin, Roundcube, Git, Metrics, and Adminer), their default profiles, the firewall, the default DNS-records template, and cron jobs. Finally, it generates the first-login SSO URL.

First login

When the installer finishes, it prints a one-time SSO URL. Open that URL to reach the admin panel at https://<server>:8443 without entering a password.

To generate a fresh SSO URL later, run bolt-cli admin-sso-generate.

Unattended installation

First access normally uses the one-time SSO URL described above. For fully unattended provisioning, where no operator reads the installer output, you can set the administrator password directly instead of relying on the SSO URL.

Run bolt-cli set-admin-password to set the password for the administrator account. The administrator login is always admin.

bash
bolt-cli set-admin-password

Called without options, the command generates a strong 20-character password and prints it to stdout. The password is temporary: the panel requires you to change it at first sign-in.

To supply your own password instead, pass --password:

bash
bolt-cli set-admin-password --password=<password>

Warning: A password passed with --password on the command line can be recorded in your shell history. Prefer the generated password, or clear the relevant history entry afterward.

Troubleshooting

If the installer stops before completing, check for one of these conditions and review the install log at /home/adminbolt-install-log.txt:

  • Not run as root - the installer exits immediately. Re-run it as root, for example with sudo.
  • Unsupported operating system - the installer supports AlmaLinux 9 and Rocky Linux 9 only. On any other distribution or version, it stops during the pre-flight checks.
  • Missing curl - the installer requires curl and exits if it is not found. Install curl and run the installer again.
  • Port 8443 already in use - if another service (anything other than an existing bolt-nginx) is listening on TCP 8443, the installer stops and prints the current listener. Free the port and run the installer again.
  • Repository download failure - if the Bolt package repository cannot be downloaded, the installer stops. Confirm that the server has outbound internet access and that no firewall is blocking the download, then run the installer again.