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:
-
System Preparation:
-
The system package list is updated.
-
Essential utilities (
curl,unzip,pip) are installed. -
pipandpyopensslare upgraded to their latest versions to ensure compatibility with security modules. -
System Maintenance:
-
All existing system packages are upgraded to their latest versions.
-
Unused packages are purged, and the system is cleaned to optimize resources.
-
Application Installation:
-
The official Hiddify installation script (
download.sh) is downloaded from the official repository to/root/download.sh. -
The installer is executed with the
release --no-guiflag 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.shis used to automate the complex setup of Hiddify components in a non-interactive mode. -
Configuration Directory Creation: A directory structure is established at
/root/nginxto manage the proxy service configuration files andcompose.yml.
Application Update Instructions¶
To update the main application, you must re-run the installation script:
For the Nginx proxy container, use the following command within the /root/nginx directory:
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 |