Deployment Overview of FastPanel on Server¶
Prerequisites and Basic Requirements¶
To successfully deploy FastPanel, the server must meet the following criteria:
-
Operating System: Debian-based or RHEL-based Linux distributions.
-
Privileges: Root access or
sudoprivileges are required to execute installation scripts and manage system packages. -
Network: The server must have internet access to download the installation script from
http://repo.fastpanel.direct. -
Ports: Port
443must be open for external HTTPS access. Port8888is used for internal communication.
FQDN of the Final Panel¶
The FastPanel interface is accessible via the following Fully Qualified Domain Name (FQDN):
fastpanel<Server ID>.hostkey.in:443
Replace <Server ID> with the specific identifier assigned to your server instance.
File and Directory Structure¶
The deployment utilizes the following directory structure for configuration, data, and certificates:
-
/data/nginx/user_conf.d: Location for custom Nginx configuration files. -
/data/nginx/nginx-certbot.env: Environment file containing Nginx and Certbot settings. -
/etc/letsencrypt: Mount point for SSL/TLS certificates managed by Let's Encrypt. -
/root/install_fastpanel.sh: Temporary location for the installation script on RHEL-based systems (removed post-installation).
Application Installation Process¶
FastPanel is installed by executing a dedicated shell script provided by the official repository. The process differs slightly based on the operating system family:
Debian-based Systems:
-
Update the package cache.
-
Install the
wgetutility. -
Download and execute the installation script directly via the shell:
RHEL-based Systems:
-
Install the
wgetutility. -
Download the installation script to
/root/install_fastpanel.sh. -
Execute the script:
-
The script is automatically removed from the system after execution.
Following the installation, the password for the fastuser account is updated to secure access.
Docker Containers and Their Deployment¶
The deployment includes a Docker container for Nginx and SSL management. The container is configured using the following specifications:
-
Image:
jonasal/nginx-certbot:latest -
Restart Policy:
unless-stopped -
Network Mode:
host -
Environment Variable:
CERTBOT_EMAILset to[email protected] -
Volumes:
-
nginx_secrets(external volume) mounted to/etc/letsencrypt. -
Host directory
/data/nginx/user_conf.dmounted to/etc/nginx/user_conf.d. -
Extra Hosts:
host.docker.internalmapped tohost-gateway.
The container configuration is defined in a Compose file located at the root of the deployment context.
Proxy Servers¶
Nginx acts as the reverse proxy and SSL termination point for the FastPanel application.
-
SSL/TLS: Managed automatically via Certbot within the Nginx container.
-
Custom Domains: Configured through the
nginx-certbot.envfile and custom configurations in/data/nginx/user_conf.d. -
Internal Path:
/ -
External Path:
/
Available Ports for Connection¶
The following ports are configured for the FastPanel deployment:
| Port | Protocol | Description |
|---|---|---|
| 443 | TCP | External HTTPS access to the FastPanel interface. |
| 8888 | TCP | Internal communication port. |
Starting, Stopping, and Updating¶
Service management for the Dockerized components is handled via standard Docker commands.
-
Start the container:
-
Stop the container:
-
Update the container image:
Note: The docker compose command assumes the presence of the compose.yml file in the current working directory.