Deployment Overview of Portainer on Server¶
Prerequisites and Basic Requirements¶
The deployment requires a server running either a Debian-based or RHEL-based operating system. The following requirements must be met for a successful installation:
-
Operating Systems: Ubuntu, Debian, CentOS, Rocky Linux, or AlmaLinux.
-
Privileges: Root or sudo access is required to install packages and manage Docker services.
-
Network Access: Outbound internet access is required to download Docker engine, container images, and system updates.
-
Dependencies: The installation process requires
curl,ca-certificates, andgnupg.
FQDN of the final panel on the hostkey.in domain¶
The application uses a specific domain template for its web interface based on the server ID.
| Parameter | Value |
|---|---|
| Prefix | docker |
| Domain | hostkey.in |
| Full template | docker{Server_ID}.hostkey.in |
Application installation process¶
The application is installed using a multi-stage deployment method that prepares the operating system and then deploys the containerized service.
-
System Preparation: The system updates all existing APT or YUM packages to their latest versions. Unattended upgrade services are stopped during this phase to prevent lock conflicts.
-
Dependency Installation:
-
For Debian/Ubuntu:
ca-certificates,curl, andgnupgare installed via the package manager, followed by Python 3 pip and necessary Docker SDK libraries (python3-pip,python3-requests,python3-docker). -
For RHEL-based systems: The Docker repository is added using the official GPG key. Packages such as
docker-ce,docker-ce-cli,containerd.io,docker-buildx-plugin, anddocker-compose-pluginare installed via YUM. -
Docker Configuration: A custom
daemon.jsonconfiguration file is deployed to/etc/docker/to configure the Docker engine settings. -
Service Activation: The Docker service is enabled to start on boot and is immediately started.
-
Container Deployment: The Portainer container is pulled from the official registry and launched with specific volume mappings and network ports.
Access Rights and Security¶
-
Firewall: Ensure that port
9000is open to allow access to the Portainer web interface. -
Docker Socket: The application requires access to
/var/run/docker.sockwithin the container to manage the host's Docker environment.
Docker Containers and Their Deployment¶
The deployment consists of one primary application container:
| Container Name | Image | Ports | Volumes | Restart Policy |
|---|---|---|---|---|
portainer | portainer/portainer-ce | 9000:9000 | /var/run/docker.sock:/var/run/docker.sock | always |
Application Update Instructions¶
To update the Portainer application, perform the following steps to pull the latest image and recreate the container:
If you are managing the container manually via Docker CLI, use:
docker pull portainer/portainer-ce
docker stop portainer
docker rm portainer
# Re-run the original docker run command used during installation
Location of configuration files and data¶
-
Docker Configuration:
/etc/docker/daemon.json -
Container Data: Managed within Docker volumes (specific paths depend on host configuration).
Available ports for connection¶
| Port | Service | Protocol |
|---|---|---|
9000 | Portainer Web UI | TCP |