Deployment Overview of Cloudron on Server¶
Prerequisites and Basic Requirements¶
To ensure a successful deployment of Cloudron, the following requirements must be met:
-
Operating System: Ubuntu.
-
Privileges: Root or sudo access is required for all installation steps.
-
Domain Configuration: A valid domain managed via DNS is required to issue SSL certificates.
-
Network Ports:
-
Port
443(HTTPS) must be open for external traffic. -
Port
80(HTTP) must be open for Let's Encrypt validation.
FQDN of the final panel on hostkey.in domain¶
The application is accessible via a specific Fully Qualified Domain Name (FQDN). The following table describes the domain template used:
| Parameter | Value |
|---|---|
| Prefix | cloudron |
| Domain | hostkey.in |
| Full template | cloudron{Server_ID}.hostkey.in |
Additionally, a sub-domain is configured for access: | Parameter | Value | | --- | --- | | Sub-domain Prefix | my. | | Full template | my.cloudron{Server_ID}.hostkey.in |
Application Installation Process¶
The installation of Cloudron follows a comprehensive setup procedure that prepares the operating system and installs the core application components:
-
System Cleanup:
-
Any existing installations of
nginx,nodejs, ordockerare stopped, disabled, and removed from the system to prevent conflicts. -
Package repositories for Docker are cleaned up.
-
Environment Preparation: The system is prepared to host the Cloudron environment by downloading a dedicated installation script (
cloudron-setup). -
Core Installation:
-
The
cloudron-setupscript is executed to perform the primary application installation. -
A system reboot is performed to finalize environmental changes.
-
Plugin Configuration: The Docker Compose plugin (version
v2.24.0) is installed system-wide in/usr/local/lib/docker/cli-plugins/to support container management.
Access Rights and Security¶
Security is managed through the following mechanisms:
-
SSL/TLS Encryption: SSL certificates are obtained via Certbot for both the base domain (
cloudron{Server_ID}.hostkey.in) and themy.sub-domain (my.cloudron{Server_ID}.hostkey.in). -
Firewall: Access is primarily restricted to standard web ports (80/443) for external users.
Docker Containers and Their Deployment¶
Cloudron utilizes Docker to manage its internal services. The deployment includes the following containerized environment:
| Image Name | Purpose | Restart Policy |
|---|---|---|
| Cloudron Core Services | Main application logic and management | Managed by Cloudron |
Note: Specific container details such as exact image tags and individual environment variables are managed internally by the Cloudron installation script.
Custom Scripts and Additional Setup¶
The deployment includes several automated actions to ensure the server is correctly configured for web hosting:
-
DNS Configuration: An additional
Arecord is created for themy.cloudron{Server_ID}.hostkey.insubdomain to ensure it points to the correct host IP. -
SSL Provisioning: A script executes
certbot --nginxto automatically request and install SSL certificates for both the primary domain and themy.sub-domain using a non-interactive approach.
Application Update Instructions¶
To update the Cloudron application, follow these instructions:
-
The system is designed to be updated through the internal Cloudron management interface or by re-running the official installation script provided by the developer.
-
For containerized components managed via Docker, the standard procedure involves pulling the latest images and restarting the services.
Location of Configuration Files and Data¶
-
Installation Script Cache:
/tmp/cloudron-setup -
Docker CLI Plugins:
/usr/local/lib/docker/cli-plugins/docker-compose -
System Services: Managed via
systemd.
Available Ports for Connection¶
The following ports are utilized by the application:
| Port | Protocol | Usage |
|---|---|---|
443 | HTTPS | External Web Access (Primary) |
80 | HTTP | SSL Certificate Validation / Redirection |
8080 | TCP | Internal Application Traffic |