Skip to content

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 sudo privileges 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 443 must be open for external HTTPS access. Port 8888 is 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:

  1. Update the package cache.

  2. Install the wget utility.

  3. Download and execute the installation script directly via the shell:

    wget http://repo.fastpanel.direct/install_fastpanel.sh -O - | bash -
    

RHEL-based Systems:

  1. Install the wget utility.

  2. Download the installation script to /root/install_fastpanel.sh.

  3. Execute the script:

    /root/install_fastpanel.sh
    

  4. 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_EMAIL set to [email protected]

  • Volumes:

  • nginx_secrets (external volume) mounted to /etc/letsencrypt.

  • Host directory /data/nginx/user_conf.d mounted to /etc/nginx/user_conf.d.

  • Extra Hosts: host.docker.internal mapped to host-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.env file 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:

    docker compose up -d
    

  • Stop the container:

    docker compose down
    

  • Update the container image:

    docker compose pull
    docker compose up -d
    

Note: The docker compose command assumes the presence of the compose.yml file in the current working directory.

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×