Skip to content

Get immediate

Dev Support

on our community forums

Services

OpenPanel uses the following services:

Nginx

Nginx is used as a reverse proxy to redirect traffic from and to user websites in their docker containers.

FileDescriptionLocation
Nginx main configuration fileThis file is generated at the time of OpenPanel installation and remains unchanged during updates, allowing for the addition of custom configurations without the risk of them being overwritten by subsequent updates./etc/openpanel/nginx/nginx.conf
Nginx access logsThis directory holds access logs of all domains. Within this folder, each domain is allocated its own file for logging purposes. For instance, the access logs for the domain pejcic.rs are stored in the file named /var/log/nginx/domlogs/pejcic.rs.log./var/log/nginx/domlogs/
Template for new domainsThe template used for new domains: restricts access to domains that are not hosted on the server. It is recommended not to modify this file./etc/openpanel/nginx/vhosts/default.conf
Vhost for existing domainsVirtual host files for each domain are situated within the /etc/nginx/sites-enabled/ directory. For example, the virtual host file for the domain pejcic.rs can be found at /etc/nginx/sites-enabled/pejcic.rs.conf./etc/nginx/sites-enabled/
/openpanel /openadmin and /webmail redirectsThis file allows users to access /webmail and /openpanel from their domains. This can be changed by the Administrator from OpenAdmin > General Settings/etc/openpanel/nginx/vhosts/openpanel_proxy.conf
IP blocking per domainEach domain has a configuration file where the user can block IP addresses per domain: /etc/openpanel/openpanel/core/users/<USERNAME>/domains/<DOMAIN_NAME>-block_ips.conf./etc/openpanel/openpanel/core/users/<USERNAME>/domains/<DOMAIN_NAME>-block_ips.conf
Error pagesThis directory is used to store configuration and templates for Nginx error pages./etc/openpanel/nginx/error_pages
Nginx error logDefault error log file for nginx service./var/log/nginx/error.log
Nginx access logDefault access log file for domains that are not hosted on the server./var/log/nginx/access.log

Docker

Docker is used to isolate user accounts and provide them a VPS-like experience. During OpenPanel installation process, defualt storage driver for Docker is set to overlay2. Configuration file /etc/docker/daemon.json is not modified on update.

MySQL

MySQL is used as a database to store all user related information:

  • Users
  • Plans
  • Domains
  • Websites

MySQL login information is stored in file: /etc/openpanel/mysql/db.conf. This file is used by the OpenAdmin and OpenPanel services. This file is also symlinked to the /etc/my.cnf that is used when running mysql commands on the terminal or OpenCLI. MySQL docker container data is stored inside openpanel_mysql_data volume.

SQLite

SQLite database is used by the OpenAdmin panel in order to completely separate the Admin and end-user interface. Database file: /etc/openpanel/openadmin/users.db

Named

Named (BIND9) container is used for DNS. Administrators can set custom nameservers on OpenAdmin > OpenPanel Settings to be used for OpenPanel websites. default named.conf.options` configuration file

GoAccess

OpenPanel uses GoAccess to generate beautiful HTML reports from Nginx access logs for each domain. OpenPanel also downloads GeoIPLite2 City and Country databases in order to display location info for each IP address in reports. To customize these reports edit the /etc/openpanel/goaccess/goaccess.conf file.

Certbot

OpenPanel employs Certbot, a free, open-source software tool, for generating, renewing, and configuring Let's Encrypt SSL certificates for all domains added by users. This integration facilitates the secure encryption of web traffic by providing and managing SSL/TLS certificates for websites hosted on the panel, ensuring that all communications between the server and its visitors are securely encrypted.

CSF

During installation you can set UFW or CSF to be used.

OpenPanel

openpanel/openpanel docker image is used to provide access to the OpenPanel interface that allows users to manage their accounts.

OpenPanel is a Flask-based application that uses MySQL to store user data and operates on the Gunicorn web server. This configuration ensures that OpenPanel remains functional even if the Nginx service is down, thereby providing complete isolation between user websites and the admin panel.

OpenPanel operates in production mode by default, logging only errors and access logs. For developers needing more detailed logs for troubleshooting or development purposes, it is possible to switch to a more verbose logging mode by enabling dev_mode.

OpenAdmin

admin service is used by the OpenAdmin interface.

OpenAdmin is a Flask application that utilizes SQLite for its database and runs on a separate Gunicorn instance. It operates independently from the OpenPanel and Nginx services.

MailServer

Webmail

Released under the MIT License.