Plugin install
install_cp_plugin https://example.com/plugin_name.zip
This page describes the configuration required to add a 3rd-party plugin by php to OLSPanel. The configuration file should be included in the root zip file of the plugin.
# The Display name.
name=RoundCube webmail
# The application's service.
service=user_panel
# Physical path: /usr/local/lsws/Example/html/mypanel/3rdparty/index.php
# Literal URL path: $server:$port/3rdparty/plugin_folder/name/index.php
url=/3rdparty/roundcube/index.php
auto_login_url=/3rdparty/roundcube/?_task=login
# Pass parameters via HTTP headers
header[HTTP_AUTOLOGINUSER]=%email%
header[HTTP_AUTOLOGINPASS]=%email_password%
# System user and group to run process as
user=$authuser
group=$authuser
# Features required
features=mail
# Media required
icon=/media/icon/roundcube.png
# Short order
sorder=0
Field | Description | Usage / Notes |
---|---|---|
name | The display name of the plugin as shown in the panel. | Example: RoundCube webmail |
service | The type of panel service this plugin belongs to. | Common values: user_panel , admin_panel . Determines access and available actions. |
url | Physical path of the plugin relative to the panel root. | Example: /3rdparty/roundcube/index.php . This must point to the plugin’s main PHP entry file. |
auto_login_url | URL used for automatic login to the plugin. | Example: /3rdparty/roundcube/?_task=login . This URL will be accessed using credentials passed via HTTP headers. |
header[] | HTTP headers sent to the plugin for auto-login. |
Can include any of these placeholders: %email% – user email%email_password% – email password%username% – panel username%userid% – panel user ID%dbinfo% – database connection info%usertoken% – secure user tokenExample: header[HTTP_AUTOLOGINUSER]=%email% header[HTTP_AUTOLOGINPASS]=%email_password%
|
user / group | System user and group under which the plugin PHP process runs. |
Can use $authuser (panel system user), nobody , or any valid system user/group.Ensures correct file permissions and process ownership. |
features | Required system features or capabilities for the plugin. |
Supported features (lowercase): domains , files , security , database , email , mail , advance , software .Multiple features can be comma-separated: features=mail,email
|
icon | Path to the plugin icon to display in the panel interface. | Example: /media/icon/roundcube.png |
sorder | Short order / display order of the plugin in the list. | Lower numbers appear first. Example: sorder=0 |
After adding the plugin configuration in the root zip file and uploading it to OLSPanel, the plugin will appear in the 3rd-party section of the panel. Auto-login will use the provided headers if configured.
url
path matches the actual location of the plugin files.%email%
, %username%
, etc. will be replaced automatically by OLSPanel during login.user
and group
to the panel user or nobody
if necessary for permissions.
Each plugin requires a corresponding configuration file with the extension .conf
.
The system automatically detects the plugin’s nickname from the plugin name
specified inside the configuration file. By convention, the configuration file should be named
as plugin_<nickname>.conf
, for example, plugin_roundcube.conf
.
This file must be placed inside the panel’s root directory, alongside the plugin’s main entry file
(e.g., index.php
).
The plugin icon file must also reside in the root of the plugin ZIP archive and must be named
following the convention plugin_icon.png
, for example,
plugin_icon.png
. This ensures the panel can automatically display the icon
in the plugin listing.
Example directory structure for the RoundCube plugin:
zip/ ├── index.php ├── plugin_roundcube.conf ├── plugin_icon.pngThe system will automatically read the configuration file to determine the plugin’s display name, service, headers, and other settings required for proper integration and auto-login.