Help Center Installation & Requirements

Installation & Requirements

System requirements, install steps, port allocation, Plesk compatibility.

Orbiter — Installation & Requirements

System Requirements

Requirement Supported Recommended
Plesk Obsidian 18.0+ Latest
OS Debian 11 / 12 / 13 · Ubuntu 23 / 24 / 25 · AlmaLinux 8 / 9 / 10 Debian 12 or Ubuntu 24
Docker 20.10+ (auto-installed if missing) Latest stable
RAM 2 GB 4 GB+
Disk 20 GB free 50 GB+
CPU 2 cores 4+ cores
Root access Required for installation

Supported OS in detail

Family Versions tested
Debian 11 (bullseye), 12 (bookworm), 13 (trixie)
Ubuntu 23.04 (lunar), 23.10 (mantic), 24.04 LTS (noble), 24.10 (oracular), 25.04 (plucky)
AlmaLinux 8, 9, 10

Installation

Via Plesk UI

  1. In Plesk, go to ExtensionsMy Extensions
  2. Click Upload Extension and select the .zip package
  3. The extension auto-configures Docker and required services

Via CLI

plesk bin extension --install /path/to/orbiter-1.x.x.zip

Post-install verification

After installation, verify the setup completed:

php /opt/psa/admin/plib/modules/orbiter/scripts/post-install.php
plesk repair web -y

First-Time Setup

1. Build the Docker image

After installation, go to Orbiter → Settings → General and click "Build the multi-PHP Docker image". This takes approximately 3–5 minutes and is a one-time operation. All PHP versions (7.4, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5) are included in a single image.

2. Create your first container

  1. Go to the Sites tab
  2. Find a domain and click "Containerize" (or "New container")
  3. Choose:
    • PHP version (7.4 to 8.5)
    • Web server: Nginx (recommended) or Apache
    • MariaDB: enable if the site needs a database
    • Resource limits: CPU, RAM, I/O (optional, can be set later)
  4. Click Create — the container starts automatically

3. Verify the container is running

The domain row shows a green status indicator. The site should be accessible normally.


Architecture Overview

Plesk Server
├── Orbiter Extension
│   ├── Nginx reverse proxy (host) — proxies traffic to containers
│   └── Container orchestration
│
├── Docker Containers (one per domain)
│   ├── site1.com — PHP 8.2, Nginx, MariaDB
│   ├── site2.com — PHP 8.1, Apache, no DB
│   └── site3.com — PHP 7.4, Nginx, MariaDB
│
└── Shared Storage
    └── /var/www/vhosts/* (bind-mounted into containers)

Key paths:

  • Container data: /var/lib/orbiter/
  • Configuration: /var/lib/orbiter/config.json (SQLite primary, JSON fallback)
  • Backups: /var/lib/orbiter/backups/
  • Snapshots: /var/lib/orbiter/snapshots/
  • Logs: /var/lib/orbiter/orbiter.log
  • Lock files: /opt/psa/var/modules/orbiter/locks/
  • Cron files: /etc/cron.d/orbiter-*

PHP Versions

All versions are pre-installed in the Docker image. No download or compilation is needed when switching.

Version Status
PHP 7.4 Supported (EOL upstream, use for legacy sites)
PHP 8.0 Supported
PHP 8.1 Supported
PHP 8.2 Supported (recommended for most sites)
PHP 8.3 Supported
PHP 8.4 Supported
PHP 8.5 Supported

Port Allocation

Orbiter automatically assigns ports to each container to avoid conflicts.

Service Port range
PHP-FPM 20000–20000 + (index × 16)
MariaDB 60000–60000 + (index × 16)

Maximum 2048 containers per server (limited by the network pool /27).


Updating Orbiter

Via Plesk UI

Go to Extensions → find Orbiter → click Update.

What is preserved during updates

  • All container configurations
  • All website files (never touched)
  • Database volumes
  • Custom PHP settings
  • Shield configurations
  • Backup schedules and destinations

After a major update

A Docker image rebuild may be suggested to include the latest PHP versions or security patches. Go to Settings → General → Build image. Existing containers are not affected until the next recreate.


Uninstallation

Via CLI

plesk bin extension --uninstall orbiter

What happens

  1. Orbiter creates a full snapshot of all container configurations
  2. All domains are automatically reverted to standard Plesk mode
  3. Nginx configurations are restored to Plesk defaults
  4. Website files in /var/www/vhosts/ are preserved (never deleted)
  5. Database volumes are optionally cleaned up (you are prompted)

Telemetry on uninstall

Orbiter sends a single anonymous uninstall event to https://orbiter.systems/api/v1/telemetry/event containing: Orbiter version, Plesk version, PHP version, OS, and an anonymous server hash. No domain names, credentials, or personal data are included. Telemetry is opt-in and can be disabled via:

plesk db "UPDATE misc SET val='0' WHERE param='orbiter_telemetry_enabled'"

Supported CMS / Frameworks

Orbiter works with any PHP application. The following have been specifically tested and have dedicated Shield profiles:

  • WordPress
  • WooCommerce
  • Joomla
  • PrestaShop
  • Magento
  • Drupal
  • Laravel
  • Any custom PHP application

Plesk Compatibility

Feature Status
SSL certificates (Let's Encrypt) ✓ Works normally via Plesk
DNS management ✓ Works normally via Plesk
File Manager ✓ Works normally via Plesk
FTP access ✓ Works normally via Plesk
Plesk email ✓ Works normally via Plesk
Plesk statistics (Webalizer/AWStats) ✓ Works normally
Plesk backups ✓ Files backed up via Plesk (DB volumes backed up separately by Orbiter)
Imunify360 ✓ Compatible (Orbiter configures realtime scan properly)
Plesk Firewall ✓ Compatible

Troubleshooting Installation

Docker not found after installation

systemctl start docker
systemctl enable docker

"ERREUR: Ce script doit être exécuté en root" The install script requires root. Use sudo or switch to root:

sudo bash /opt/psa/admin/plib/modules/orbiter/scripts/install-all.sh

Build fails with "no space left on device" Free up disk space. Docker build requires at least 10 GB free. Clean unused Docker resources:

docker system prune -af

Imunify360 crashes (SIGSEGV) after installation on some servers Fixed in Orbiter 1.5.0. The extension now writes proper YAML format for the Imunify360 configuration file and self-heals existing broken installs. Update to the latest version.

Postfix not configured for container networking The installer attempts to add 172.16.0.0/12 to Postfix mynetworks for container mail relay. If this was skipped, add it manually:

postconf -e "mynetworks=$(postconf -h mynetworks) 172.16.0.0/12"
systemctl reload postfix

Didn't find your answer? Open a ticket from the Orbiter extension or contact us directly.

Contact support