v1.8.0

Server Sync Documentation

Automatic file synchronization between two Pelican servers — unidirectional and bidirectional, full or path-based, with automatic scheduling, schedule integration, and subuser permissions.

About Server Sync

Server Sync is a proprietary Pelican Panel plugin by Eranio that enables automatic file synchronization between two Pelican servers. It's ideal for server networks, staging environments, or backup scenarios.

Key Features

Feature Description
Unidirectional Sync Main → Sub or Sub → Main
Bidirectional Sync Main ↔ Sub, Main takes priority on conflicts
Full Directory Sync Synchronize the entire server directory
Path-Based Sync Synchronize only selected paths
Exclude Paths Manually or via File Browser exclude files/folders
Live Sync Synchronize files while servers are running
On-Restart Sync Stop servers, synchronize, restart
Automatic Scheduling Configurable sync interval per pair
Schedule Integration As a task type in the Pelican Schedule system
Schedule Mirroring Mirror schedules to the partner server
Incremental Sync After the first sync, only transfer changed files
Batch Splitting Automatic splitting for large data volumes
Subuser Permissions Granular permissions (view, manage, trigger)
11 Languages EN, DE, ES, FR, IT, JA, KO, NL, PT-BR, TR, ZH-CN
Auto-Update Automatic updates via GitHub Releases

Architecture

The plugin operates entirely within the Pelican Panel and leverages the existing Daemon infrastructure:

Admin/Server Panel → SyncService → DaemonFileRepository → Wings Daemon
                                  → NodeJWTService (Authentication)

Synchronization Flow:

  1. Compress files on the source server into a .tar.gz archive
  2. Create a JWT token for authenticated download (valid for 15 minutes)
  3. Transfer the archive via HTTP Pull to the target server
  4. Decompress the archive on the target server
  5. Clean up temporary archives on both servers

Data Storage

Data Location
Sync Pairs server_sync_pairs database table
Sync Logs server_sync_logs database table
Plugin Settings server_sync_settings database table
Per-Server Limit servers.server_sync_limit column
Temporary Archives .server_sync_* files on the servers

Requirements

  • Pelican Panel with plugin support
  • PHP 8.2 or newer
  • Database user with CREATE TABLE privileges
  • Wings Daemon reachable on both servers
  • storage/ and bootstrap/cache/ writable (permissions 0755)

Guides