Customizing OpenPanel Interface (Branding and White-Label)
Everything in OpenPanel is modular and can easily be modified or disabled without breaking the rest of the functionalities.
To customize OpenPanel, you have the following options:
- Display personalized message per user
- Enable/disable features and pages from the OpenPanel interface
- Add custom icons in Dashboard page
- Customize Default, Suspended User and Suspended Domain pages
- Localize the interface
- Set custom branding
- Set a custom color scheme
- Replace How-to articles with your knowledge base
- Customize any page
- Customize login page
- Add custom CSS or JS code to the interface
- Create a custom module for OpenPanel
- Self-hosted temporary links for SiteManager
- Self-hosted screenshots for SiteManager
Personalized messages
Administrators can set a custom message to be displayed for any OpenPanel uer from their OpenAdmin > Users page.
Enable/disable features
Administrators have the ability to enable or disable each feature (page) in the OpenPanel interface per plan or per-user base.
Once enabled, the feature becomes instantly available to all users, appearing in the OpenPanel interface sidebar, search results, and dashboard icons.
Set pre-installed services
OpenPanel uses docker compose files as the base for each user. Based on the docker images in that compose filese, different services can be set per plan/user.
Localize the interface
OpenPanel is localization ready and can easily be translated into any language.
OpenPanel is shipped with the EN locale, additional locales can be installed by the Administrator.
Set custom branding
Custom brand name and logo can be set from OpenAdmin > Settings > OpenPanel page.
To set a custom name visible in the OpenPanel sidebar and on login pages, enter the desired name in the "Brand name" option. Alternatively, to display a logo instead, provide the URL in the "Logo image" field and save the changes.
Customize Templates
You can customize all templates that are displayed to users:
- Domain VHost Template
- Default Landing Page
- Suspended User Template
- Suspended Domain Template
- Error Pages
Create OpenPanel Module
To create a custom module (plugin) for OpenPanel follow this guide: Example Module
Set a custom color scheme
To set a custom color-scheme for OpenPanel interface, edit the /etc/openpanel/openpanel/custom_code/custom.css
file and in it set your preferred color scheme.
nano /etc/openpanel/openpanel/custom_code/custom.css
Set the custom css code, save and restart openpanel to apply changes:
cd /root && docker compose up -d openpanel
Example:
Replace How-to articles with your knowledge base
OpenPanel Dashboard page displays How-to articles from the OpenPanel Docs, however these can be changed to display your knowledgebase articles instead.
Edit the file /etc/openpanel/openpanel/conf/knowledge_base_articles.json
and in it set your links:
{
"how_to_topics": [
{"title": "How to install WordPress", "link": "https://openpanel.com/docs/panel/applications/wordpress#install-wordpress"},
{"title": "Publishing a Python Application", "link": "https://openpanel.com/docs/panel/applications/pm2#python-applications"},
{"title": "How to edit Nginx / Apache configuration", "link": "https://openpanel.com/docs/panel/advanced/server_settings#nginx--apache-settings"},
{"title": "How to create a new MySQL database", "link": "https://openpanel.com/docs/panel/databases/#create-a-mysql-database"},
{"title": "How to add a Cronjob", "link": "https://openpanel.com/docs/panel/advanced/cronjobs#add-a-cronjob"},
{"title": "How to change server TimeZone", "link": "https://openpanel.com/docs/panel/advanced/server_settings#server-time"}
],
"knowledge_base_link": "https://openpanel.com/docs/panel/intro/?source=openpanel_server"
}
Edit any page template
Each OpenPanel template code is open and can easily be edited by just editing the HTML code.
Templates are located inside a Docker container named openpanel
, so you first need to find the template that has the code that you want to edit.
For example, to edit the sidebar and hide the OpenPanel logo, follow these steps:
Create a new folder/file locally for your modified code.
mkdir /root/custom_template/
Copy the existing template code.
docker cp openpanel:/usr/local/panel/templates/partials/sidebar.html /root/custom_template/sidebar.html
Edit the code.
Configure OpenPanel to use your template. Edit the
/root/docker-compose.yml
file and in it set your file to overwrite the original template:nano /root/docker-compose.yml
and in the file under openpanel > volumes set local path and original:
- /root/custom_theme/sidebar.html:/usr/local/panel/templates/partials/sidebar.html
Restart OpenPanel to apply the new template.
cd /root && docker compose up -d openpanel
Customize login page
OpenPanel login page template code is located at /usr/local/panel/templates/user/login.html
inside the docker container.
To edit the login page:
Create a new folder/file locally for your modified code.
mkdir /root/custom_template/
Copy the existing template code.
docker cp openpanel:/usr/local/panel/templates/user/login.html /root/custom_template/login.html
Edit the code.
Configure OpenPanel to use your template. Edit the
/root/docker-compose.yml
file and in it set your file to overwrite the original template:nano /root/docker-compose.yml
and in the file under openpanel > volumes set local path and original:
- /root/custom_theme/login.html:/usr/local/panel/templates/user/login.html
Restart OpenPanel to apply the new login template.
cd /root && docker compose up -d openpanel
Add custom CSS or JS code
To add custom CSS code to the OpenPanel interface, edit the file /etc/openpanel/openpanel/custom_code/custom.css
:
nano /etc/openpanel/openpanel/custom_code/custom.css
To add custom JavaScript code to the OpenPanel interface, edit the file /etc/openpanel/openpanel/custom_code/custom.js
:
nano /etc/openpanel/openpanel/custom_code/custom.js
To insert custom code within the <head>
tag of the OpenPanel interface, modify the content of the file located at /etc/openpanel/openpanel/custom_code/in_header.html
and include your custom code within it:
nano /etc/openpanel/openpanel/custom_code/in_header.html
To insert custom code within the <footer>
tag of the OpenPanel interface, modify the content of the file located at /etc/openpanel/openpanel/custom_code/in_footer.html
and include your custom code within it:
nano /etc/openpanel/openpanel/custom_code/in_footer.html