Deployment Overview of OpenPanel on Server¶
Prerequisites and Basic Requirements¶
-
Operating System: Ubuntu
-
User Privileges: Root access (via SSH with password authentication for the installer)
-
Domain Requirements: The server must be able to resolve the FQDN
openpanel<Server ID>.hostkey.in -
Ports: Port 2087 is required for the OpenPanel interface
FQDN of the Final Panel¶
The fully qualified domain name (FQDN) for accessing the OpenPanel interface follows the format: openpanel<Server ID>.hostkey.in:2087
Where <Server ID> is replaced by the specific identifier of the server. The protocol used is HTTPS.
Application Installation Process¶
OpenPanel is installed using a dedicated installation script provided by the developers. The installation process involves the following steps:
-
The installation script is downloaded to
/root/installation_script.sh. -
The script is executed with the following parameters:
-
--domain: Set to the FQDN (e.g.,openpanel123.hostkey.in). -
--username: Set toadmin. -
--password: A generated alphanumeric password (non-alphanumeric characters are removed).
The command executed during deployment resembles:
/root/installation_script.sh --domain=openpanel123.hostkey.in --username=admin --password=generatedpassword
Docker Containers and Their Deployment¶
OpenPanel operates within a Docker containerized environment. Key container details include:
-
Container Name:
caddy(used for the reverse proxy and SSL termination). -
Deployment Method: Managed via Docker, utilizing a Caddy server configuration.
-
Configuration File: The Caddy configuration is located at
/etc/openpanel/caddy/Caddyfile.
After installation, the caddy container is automatically restarted if configuration changes are detected.
Proxy Servers¶
The deployment utilizes Caddy as the reverse proxy and SSL termination handler.
-
Software: Caddy
-
Configuration Location:
/etc/openpanel/caddy/Caddyfile -
SSL/TLS: Handled natively by Caddy.
-
Custom Configuration Adjustments:
-
The
intervalparameter is removed from theon_demand_tlsblock to ensure compatibility with Caddy v2.9+. -
Deprecated webmail server blocks targeting
localhost:8080are removed. -
The
webmail.<domain>token is removed from the configuration if webmail TLS is disabled, preventing ACME validation failures.
File and Directory Structure¶
The following file paths are utilized for configuration and data storage:
-
Installation Script:
/root/installation_script.sh -
Caddy Configuration:
/etc/openpanel/caddy/Caddyfile -
Caddy Backup:
/etc/openpanel/caddy/Caddyfile.bak
Starting, Stopping, and Updating¶
The OpenPanel proxy service is managed via the Caddy Docker container.
- Restart Command: This command is executed automatically during the deployment process if the Caddy configuration file is modified.
Access Rights and Security¶
-
Authentication: The panel is accessed via a username (
admin) and a password defined during the installation script execution. -
Firewall: The firewall must allow incoming traffic on port 2087 for the panel interface.
-
SSL: HTTPS is enforced via Caddy for the specified domain.