Deployment Overview of CapRover on Server¶
Prerequisites and Basic Requirements¶
To successfully deploy CapRover on the server, the following requirements must be met:
-
Operating System: Debian-based Linux distribution.
-
Privileges: Root access or a user with
sudoprivileges is required to manage system packages and Docker services. -
Domain Configuration: A wildcard DNS record must be configured to point to the server's public IP address.
-
Network Ports: Ports 80, 443, and 3000 must be open and accessible.
-
Docker: The Docker engine must be installed and running on the host system.
FQDN of the Final Panel¶
Once the deployment is complete, the CapRover control panel is accessible via the following Fully Qualified Domain Name (FQDN):
*caprover<Server ID>.hostkey.in
The default access ports for the panel are:
-
Port 80 (HTTP)
-
Port 443 (HTTPS)
-
Port 3000 (CapRover API)
Docker Containers and Their Deployment¶
The CapRover application is deployed as a single Docker container using the official caprover/caprover image. The container is launched with specific environment variables and volume mounts to ensure functionality and data persistence.
The deployment utilizes the following parameters:
| Parameter | Value | Description |
|---|---|---|
| Image | caprover/caprover | Official CapRover container image. |
| Port Mapping | 80:80, 443:443, 3000:3000 | Maps host ports to container ports for web and API access. |
| Environment Variable | ACCEPTED_TERMS=true | Automatically accepts the terms of service. |
| Volume Mount | /var/run/docker.sock:/var/run/docker.sock | Grants the container access to the host Docker daemon. |
| Volume Mount | /captain:/captain | Persists application data and logs. |
File and Directory Structure¶
The deployment creates a specific directory structure on the host server to store persistent data:
-
Data Storage: All persistent data, including container definitions and logs, is stored in
/captain. -
Docker Socket: The container mounts the Docker socket at
/var/run/docker.sockto manage other containers on the host.
Available Ports for Connection¶
The following ports are exposed and mapped for external and internal communication:
-
Port 80: HTTP traffic for the web interface.
-
Port 443: HTTPS traffic for the secure web interface.
-
Port 3000: CapRover API endpoint.
Starting, Stopping, and Updating¶
Since CapRover runs as a Docker container, standard Docker commands are used to manage the service lifecycle:
-
Start: The container is started automatically upon deployment using the
docker runcommand. -
Stop: To stop the service, use
docker stop caprover(assuming the default container name) ordocker stop <container_id>. -
Restart: To restart the service, use
docker restart caproverordocker restart <container_id>. -
Update: To update to the latest version, pull the new image using
docker pull caprover/caproverand then restart the container.