Deployment Overview of FASTPANEL on Server¶
Prerequisites and Basic Requirements¶
To successfully deploy FASTPANEL, the following requirements must be met on the target server:
-
Operating System: Debian-based (Debian, Ubuntu) or RHEL-based (CentOS, Rocky Linux, AlmaLinux) distributions.
-
Privileges: Root access or a user with
sudoprivileges. -
Network: The server must be accessible via the internet or an internal network.
-
Ports:
-
Port
8888: Used for internal communication. -
Port
443: Used for external HTTPS access.
FQDN of the Final Panel¶
The final panel is accessible on the hostkey.in domain using the following Fully Qualified Domain Name (FQDN) format:
fastpanel<Server ID>.hostkey.in:443
Application Installation Process¶
FASTPANEL is installed by downloading and executing the official installation script. The process differs slightly between Debian and RHEL-based systems but achieves the same result.
Debian-based Systems¶
-
Update the package cache.
-
Install the
wgetutility. -
Download and execute the installation script directly from the repository:
RHEL-based Systems¶
-
Install the
wgetutility using the package manager. -
Download the installation script to
/root/install_fastpanel.sh. -
Execute the script:
-
Remove the temporary installation script after execution:
Following the installation, the fastuser account is configured with a specific password.
Docker Containers and Their Deployment¶
The deployment includes a Docker-based Nginx container configured for SSL certificate management using Certbot. The container is managed via a Compose file.
Container Details¶
-
Image:
jonasal/nginx-certbot:latest -
Restart Policy:
unless-stopped -
Network Mode:
host -
Email for Certbot:
[email protected]
Volumes and Mounts¶
The container utilizes the following volume mounts:
-
nginx_secretsmapped to/etc/letsencrypt(external volume). -
/data/nginx/user_conf.dmapped to/etc/nginx/user_conf.dfor user configuration.
Extra Hosts¶
The container resolves host.docker.internal to host-gateway to allow communication with the host network.
The container configuration is defined in a file located at:
Proxy Servers¶
The proxy layer is handled by the Nginx container mentioned in the Docker section. It is configured to:
-
Handle SSL termination via Certbot.
-
Listen on the external port
443. -
Serve content from the internal path
/mapped to the external path/. -
Forward traffic internally to port
8888.
Configuration files for the Nginx user-defined directives are stored in /data/nginx/user_conf.d.
Access Rights and Security¶
The system enforces the following security measures:
-
A dedicated user
fastuseris created and configured for the application. -
The
fastuserpassword is updated during the deployment process. -
Network access is restricted to specific ports defined in the configuration.
-
The
nginxcontainer runs inhostnetwork mode to manage direct port binding.
Databases¶
The provided configuration data does not specify database connection details, storage locations, or specific database services for this deployment.
Permission Settings¶
The installation script sets appropriate permissions for the application files and directories.
-
The installation script is set to
0755mode before execution on RHEL systems. -
Standard Linux file permissions apply to the data directories created during installation.
Location of Configuration Files and Data¶
The following paths contain critical configuration and data for the deployment:
-
Nginx user configuration directory:
/data/nginx/user_conf.d -
Docker Compose file:
/data/nginx/compose.yml -
Environment file for Nginx Certbot:
/data/nginx/nginx-certbot.env -
SSL Secrets (managed by Docker volume):
/etc/letsencrypt(mounted inside container)
Available Ports for Connection¶
The following ports are configured for application access:
-
Port
8888: Internal communication (default for FASTPANEL). -
Port
443: External HTTPS access via the Nginx proxy.
Starting, Stopping, and Updating¶
The application components are managed via Docker Compose for the proxy layer and standard service commands for the core FASTPANEL application.
Managing the Nginx Proxy Container¶
Commands to manage the Nginx container using Docker Compose (typically executed from the directory containing compose.yml):
# Start the container
docker compose up -d
# Stop the container
docker compose down
# View logs
docker compose logs -f
# Update the container image and restart
docker compose pull
docker compose up -d
Managing FASTPANEL Service¶
Once installed, the FASTPANEL service can be managed using the following commands (standard fastpanel service management):
Note: The fastpanel command-line tool is installed automatically during the script execution.