Skip to content

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 sudo privileges.

  • 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

  1. Update the package cache.

  2. Install the wget utility.

  3. Download and execute the installation script directly from the repository:

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

RHEL-based Systems

  1. Install the wget utility using the package manager.

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

  3. Execute the script:

    /root/install_fastpanel.sh
    

  4. Remove the temporary installation script after execution:

    rm /root/install_fastpanel.sh
    

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_secrets mapped to /etc/letsencrypt (external volume).

  • /data/nginx/user_conf.d mapped to /etc/nginx/user_conf.d for 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:

/data/nginx/compose.yml

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 fastuser is created and configured for the application.

  • The fastuser password is updated during the deployment process.

  • Network access is restricted to specific ports defined in the configuration.

  • The nginx container runs in host network 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 0755 mode 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):

# Restart the panel service
fastpanel restart

# Check service status
fastpanel status

Note: The fastpanel command-line tool is installed automatically during the script execution.

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