Skip to content

Deployment Overview of Hiddify on Server

Prerequisites and Basic Requirements

To ensure a successful deployment, the server must meet the following requirements:

  • Operating System: Ubuntu (recommended).

  • Privileges: Root or sudo access is required for package installation and script execution.

  • Required Packages:

  • curl

  • unzip

  • pip (Python Package Index)

  • Network/Ports:

  • Port 443 (HTTPS) must be open to allow external traffic.

FQDN of the final panel on the hostkey.in domain

The application uses a specific domain template for SSL certificate management and routing via the proxy service.

Parameter Value
Prefix hiddify
Domain hostkey.in
Full template hiddify{Server_ID}.hostkey.in

Application installation process

The application is installed using a combination of system package management and an automated installation script. The process follows these steps:

  1. System Preparation:

  2. The system package list is updated.

  3. Essential utilities (curl, unzip, pip) are installed.

  4. pip and pyopenssl are upgraded to their latest versions to ensure compatibility with security modules.

  5. System Maintenance:

  6. All existing system packages are upgraded to their latest versions.

  7. Unused packages are purged, and the system is cleaned to optimize resources.

  8. Application Installation:

  9. The official Hiddify installation script (download.sh) is downloaded from the official repository to /root/download.sh.

  10. The installer is executed with the release --no-gui flag to perform a headless installation of the core application components.

Docker Containers and Their Deployment

The deployment utilizes a Docker container to manage SSL certificates and Nginx proxying via Docker Compose.

Container Name Image Ports Volumes Restart Policy
nginx jonasal/nginx-certbot:latest Host Network Mode - nginx_secrets:/etc/letsencrypt
- /data/nginx/user_conf.d:/etc/nginx/user_conf.d
unless-stopped

Note on Proxy Configuration: The Nginx container operates in the host network mode to facilitate direct traffic handling and uses a dedicated volume for Let's Encrypt certificates (nginx_secrets) and user configuration files located at /data/nginx/user_conf.d.

Custom Scripts and Additional Setup

Several actions are performed during the deployment process beyond standard package installation:

  • Installation Script: The script /root/download.sh is used to automate the complex setup of Hiddify components in a non-interactive mode.

  • Configuration Directory Creation: A directory structure is established at /root/nginx to manage the proxy service configuration files and compose.yml.

Application Update Instructions

To update the main application, you must re-run the installation script:

bash /root/download.sh release --no-gui

For the Nginx proxy container, use the following command within the /root/nginx directory:

docker compose pull && docker compose up -d

Location of configuration files and data

The following paths are used for storing application configurations and certificates:

  • Nginx Configuration Directory: /root/nginx

  • User Nginx Configurations: /data/nginx/user_conf.d

  • SSL Certificates (Docker Volume): nginx_secrets

  • Installation Script: /root/download.sh

Available ports for connection

Service Port Protocol
HTTPS (Web Panel) 443 TCP
question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×