Skip to main content
Version: 2.0.13

Developer Experience

📄️Custom Section

To add custom section in OpenPanel > Dashboard page, navigate to OpenAdmin > Settings > Custom Code and edit the 'Custom Section'.

📄️Custom Services

Custom services can be added to OpenAdmin to be run and monitored from the admin panel.

📄️Add Custom Steps to the Onboarding Wizard

OpenPanel's Onboarding wizard walks new users through the features already built into the panel - webserver, PHP, database, Varnish, backups, and security. If you want to guide users through setting up something that isn't part of that list - for example, enabling Redis as a cache - you can register an extra step from custom JavaScript, without patching or forking OpenPanel.

📄️Auto-start Services

Services in OpenPanel start only when they are actually needed, to avoid wasting resources.

📄️Customizing OpenAdmin Email Templates

OpenAdmin sends outbound notification emails (new user welcome emails, password/login alerts, admin notifications, and the daily usage report) using HTML templates built into the admin binary.

📄️Branding & White-Label

Everything in OpenPanel is modular and can easily be modified or disabled without breaking the rest of the functionalities.

📄️Disable Reboot within OpenAdmin

If for some reason, you want to disable Server Reboot feature through OpenAdmin, you can do that on your server.

📄️Disable Terminal within OpenAdmin

If for some reason, you want to disable command-line root access through OpenAdmin's Terminal feature, you can do that on your server.

📄️Disable Terminal within OpenPanel

If for some reason, you want to disable command-line access through OpenPanel > Containers > Terminal page, you can do that on your server.

📄️Access OpenAdmin

Run opencli admin command to find the address on which admin panel is accessible. Example output:

📄️Access OpenPanel

OpenPanel is the end-user control panel, accessible by default via the server's IP address and port 2083. Administrators can configure a custom domain and modify the default port.

📄️Restrict OpenAdmin

To restrict OpenAdmin access only to your team, whitelist your server's IP addresses on the firewall, and then disable port 2087.

📄️OpenAdmin API Documentation

OpenAdmin API can be used to manage options available from the OpenAdmin interface: hosting plans, accounts, domains, services, DNS, email, security, server administration, and more. All API endpoints require Bearer JWT authentication.

📄️Keyboard Shortcuts

OpenAdmin UI can be navigated using keyboard shortcuts.

📄️OpenCLI Hooks

OpenPanel supports pre and post hooks for all commands, that run bash scripts before or after running opencli commands.

📄️OpenPanel Folder Structure

OpenPanel uses the following files and directories:

📄️Services

OpenPanel uses the following services:

📄️Limit OpenPanel

Both OpenPanel and OpenAdmin interfaces have a built-in rate limiting and IP address blocking to protect against brute-force attacks.

📄️Removing the Port for OpenAdmin

By default, the OpenAdmin interface runs on a Gunicorn web server, while all other websites run on Caddy. This setup ensures that the admin panel remains accessible even if the main web server is down.

📄️Removing the Port for OpenPanel

By default, the OpenPanel interface runs on a Gunicorn web server, while all other websites run on Caddy. This setup ensures that the admin panel remains accessible even if the main web server is down.

📄️Screenshots API

OpenPanel SiteManager displays a website screenshot for each website. These screenshots are by default locally generated and stored on your server.

📄️Temporary Links API

OpenPanel SiteManager has a temporary-links option that allows user to test website from the server IP, prior to changing DNS. Proxy domains are subdomains on our hosted api .openpanel.org.

📄️Set a separate domain for OpenPanel UI

To set separate domain just for the OpenPanel UI, for example pejcic.rs:

📄️Troubleshooting OpenPanel

When troubleshooting OpenPanel, the first step is to reproduce the issue. If you can confirm it’s a bug (and like all software, bugs do happen), try to identify a consistent way to trigger it.