Skip to main content
Version: 1.7.50

OpenPanel Folder Structure

OpenPanel uses the following files and directories:

Configuration:

/etc/openpanel/
โ”œโ”€โ”€ bind9/ - Configuration for DNS service.
โ”œโ”€โ”€ caddy/ - Caddy webserver configuration and data.
โ”œโ”€โ”€ clamav/ - ClamAV service configuration.
โ”œโ”€โ”€ docker/ - Docker configuration.
โ”œโ”€โ”€ ftp/ - Settings and user data for FTP service.
โ”œโ”€โ”€ goaccess/ - Configuration for GoAccess reports.
โ”œโ”€โ”€ mysql/ - Database schema.
โ”œโ”€โ”€ nginx/ - Nginx webserver configuraton [DEPRECATED].
โ”œโ”€โ”€ openadmin/ - Settings for the admin panel.
โ”œโ”€โ”€ openpanel/ - Settings for the user panel.
โ”œโ”€โ”€ php/ - PHP blueprints.
โ”œโ”€โ”€ services/ - Services configuration files.
โ”œโ”€โ”€ skeleton/ - Files used for new user accounts.
โ”œโ”€โ”€ ssh/ - SSH configuration and motd.
โ””โ”€โ”€ varnish/ - Varnish configuration - [DEPRECATED].

Default configuration can be viewed here.

User Filesโ€‹

All files for a user are stored in their /home directory: /home/$docker_context/:

/home/stefan/
โ”œโ”€โ”€ docker-compose.yml - Contains all services that user can run.
โ”œโ”€โ”€ .env - Contains ports, resource limits and passwrods for services.
โ”œโ”€โ”€ httpd.conf - main configuration that is used IF user runs Apache webserver.
โ”œโ”€โ”€ nginx.conf - main configuration that is used IF user runs Nginx webserver.
โ”œโ”€โ”€ openresty.conf - main configuration that is used IF user runs OpenResty webserver.
โ”œโ”€โ”€ openlitespeed.conf - main configuration that is used IF user runs OpenLitespeed webserver.
โ”œโ”€โ”€ default.vcl - Varnish Configuration that is used if Varnish cache is enabled for user.
โ”œโ”€โ”€ php.ini/ - PHP.INI files hat user can edit via 'OpenPanel > PHP > PHP.INI Editor' page.
โ”œโ”€โ”€ crons.ini - Cron jobs that user can edit via 'OpenPanel > Cron Jobs' page.
โ”œโ”€โ”€ backup.env - Backup configuration that user can edit via 'OpenPanel > Files > Backups' page.
โ”œโ”€โ”€ my.cnf - MySQL root user logins that are used for ALL actions from the OpenPanel UI.
โ”œโ”€โ”€ custom.cnf - MySQL Configuration that user can edit via 'OpenPanel > MySQL > Configuration' page.
โ”œโ”€โ”€ postgre_custom.conf - PostgreSQL Configuration that user can edit via 'OpenPanel > PostgreSQL > Configuration' page.
โ”œโ”€โ”€ pma.php - used to allow auto-login to phpMyAdmin from OpenPanel UI.
โ”œโ”€โ”€ docker-data/ - All docker files: containers, images, volumes..
โ”‚ โ””โ”€โ”€ volumes/
โ”‚ โ”œโ”€โ”€ $context_html_data/ - Website files (/var/www/html/ in 'OpenPanel > File Manager' page).
โ”‚ โ”œโ”€โ”€ $context_mysql_data/ - MySQL storage (all databases).
โ”‚ โ”œโ”€โ”€ $context_mysql_dumps/ - MySQL /tmp folder used for dumps.
โ”‚ โ”œโ”€โ”€ $context_pg_data/ - PostgreSQL storage (all databases).
โ”‚ โ””โ”€โ”€ $context_webserver_data/ - VirtualHosts files for domains.
โ”œโ”€โ”€ .config/ - systemd service files.
โ”œโ”€โ”€ .docker/ - Docker service files.
โ”œโ”€โ”€ bin/ - service files.
โ”œโ”€โ”€ sockets/ - sockets for running services.
โ””โ”€โ”€ .bashrc - Sets path and docker host.

User Services filesโ€‹

Certain files are shared across user services to provide Administrators with a single point of management. This enables faster updates and easier customization for all users. For example, it allows updating WP-CLI simultaneously for everyone or configuring OpenLiteSpeed consistently across all accounts.

  • /etc/openpanel/wordpress/wp-cli.phar - WP-CLI binnary used in OpenLitespeed and all PHP containers.
  • /etc/openpanel/openlitespeed/start.sh - Sets permissions and maps all individual VHosts files on OpenLitespeed.
  • /etc/openpanel/nginx/certs/ - Self-signed SSL files for domains used inside user webservers.
  • /etc/openpanel/nginx/default_page.html - Landing page displayed on user domains if no files exist.
  • /etc/openpanel/mysql/scripts/dump.sh - Script used to generate mysql dumps when performing backups.
  • /etc/openpanel/mysql/phpmyadmin/config.inc.php - phpMyAdmin configuration file that allows auto-login from UI.
  • /etc/openpanel/php/ioncube/ - Ioncube Loader files for PHP.
  • /etc/openpanel/php/ioncube_extension.ini - Ioncube Loader extension for PHP.

Shared Services filesโ€‹

Files that are used by shared services like FTP, Caddy webserver and Mailserver.

  • /etc/openpanel/wordpress/wp-cli.phar - WP-CLI binnary used in OpenLitespeed and all PHP containers.
  • /etc/openpanel/wordpress/wp-cli.phar - WP-CLI binnary used in OpenLitespeed and all PHP containers.

Templates filesโ€‹

Files that are used for new services/domains that users add.

  • /etc/openpanel/docker/compose/nodejs.yml - Used for new docker services via 'OpenPanel > AutoInstaller > NodeJS' page.
  • /etc/openpanel/docker/compose/python.yml - Used for new docker services via 'OpenPanel > AutoInstaller > Python' page.
  • /etc/openpanel/docker/daemon/rootless.json - Used for new users to configure docker rootless service.
  • /etc/openpanel/apache/httpd.conf - Main configuration file used for new users with Apache webserver.
  • /etc/openpanel/backups/backup.env - Template used for new user backups.
  • /etc/openpanel/backups/customized.template - Notifications template used for user backups.
  • /etc/openpanel/bind9/zone_template.txt - DNS zone template used for new domains with IPv4 set for the user.
  • /etc/openpanel/bind9/zone_template_ipv6.txt - DNS zone template used for new domains with IPv6 set for the user.
  • /etc/openpanel/bind9/zone_template_ipv6.txt - DNS zone template used for new domains with IPv6 set for the user.
  • /etc/openpanel/caddy/templates/domain.conf - Caddyfile used for new domains.
  • /etc/openpanel/caddy/templates/suspended_domain.html - Landing page displayed on suspended domains for a user.
  • /etc/openpanel/caddy/templates/suspended_user.html - Landing page displayed on domains for a suspended user.
  • /etc/openpanel/csf/csf.blocklists - CSF blocklists used when configuring Sentinel Firewall.
  • /etc/openpanel/mysql/user.cnf - Configuration file used for MySQL services.

Configuration filesโ€‹

  • /etc/openpanel/caddy/templates/wp.rules - Rules used for hardening options in WP Manager.
  • /etc/openpanel/clamav/extensions.txt - List of extensions to scan using ClamAV (DEPRECATED).
  • /etc/openpanel/csf/csf.blocklists - CSF blocklists used when configuring Sentinel Firewall.
  • /etc/openpanel/ftp/start_vsftpd.sh - Entrypoint for FTP service (creates accounts on startup).
  • /etc/openpanel/ftp/vsftpd.conf - Vsftpd main configuration file.
  • /etc/openpanel/goaccess/goaccess.conf - GoAccess main configuration file.
  • /etc/openpanel/modules/ - Custom plugins for OpenPanel UI.
  • /etc/openpanel/mysql/initialize/1.1/plans.sql - Initializes database on OpenPanel installation.
  • /etc/openpanel/mysql/host_mysql.cnf - Stores mysql logins for the OpenPanel installation.
  • /etc/openpanel/mysql/keys.txt - List of configuration keys editable from 'OpenPanel > MySQL > Configuration' page.
  • /etc/openpanel/mysql/mysqld.cnf - Configuration file for MySQL service.
  • /etc/openpanel/docker/templates/docker_apache_domain.conf - VirtualHosts template for new domains on Apache webserver.
  • /etc/openpanel/docker/templates/docker_litespeed_domain.conf - VirtualHosts template for new domains on OpenLitespeed webserver.
  • /etc/openpanel/docker/templates/docker_nginx_domain.conf - VirtualHosts template for new domains on Nginx webserver.
  • NOTE: list is incomplete, please refer to https://github.com/stefanpejcic/openpanel-configuration/tree/main for a full list.