OS with Containers Ready application
You can install an OS with the pre-installed Containers Ready application on a dedicated server.
The Containers Ready application includes:
- Docker version 28.0.3 — a containerization platform for developing and running applications;
- plugins for running Docker Compose version 2.33.0;
- Portainer version 2.27.0 — a graphical interface for monitoring and managing Docker containers, images, and Docker networks.
Before installing the OS with an application, review the software license agreements included in the image.
Install an OS with Containers Ready
For Containers Ready to work, the dedicated server must be accessible from the internet.
To set up Containers Ready and configure Portainer when creating a server, you can specify user data — custom configuration parameters for the operating system.
Open the Portainer panel using its IP address or domain name. To access the Portainer panel via a domain name, specify the domain in the user data — after the OS is installed, a TLS(SSL) certificate from Let’s Encrypt® will be automatically issued for it.
Specify a domain
Not specifying a domain
-
In the control panel, in the top menu, click Products and select Dedicated Servers.
-
In the Servers section, open the server page → Operating System tab.
-
Click Reinstall OS.
-
Optional: for secure server access via an encrypted SSH protocol, select a previously uploaded and assigned SSH key or add a new one. Learn more in the Create and upload an SSH key to a dedicated server guide.
-
Enter user data. User data lets you automate server configuration. You can specify user data only for servers without hardware HBA and RAID controllers.
You can use a script in the user data to set up container configurations. To access the Portainer panel via a domain name, you need to insert the following script into the user data field:
#cloud-configwrite_files:- path: "/opt/containers/docker-compose.yaml"permissions: "0644"content: |version: "3.9"services:<containers>- path: "/opt/containers/.env"permissions: "0644"content: |<environment-variables>- path: "/opt/user-values.yaml"permissions: "0644"content: |portainer_use_le: trueportainer_domain: "<example.com>"portainer_le_email: "<root@example.com>"Specify:
<containers>— the contents of the Docker Compose file for thedocker-compose.yamlfile. Learn more in the docker compose documentation in the Docker docs;<environment-variables>— environment variables for the.envfile. If the file is not needed, delete the code block. Learn more in the Use environment variables section of the Docker documentation;- in the
content:code block for the/opt/user-values.yamlfile, specify the configuration parameters for Portainer; portainer_use_le: true— a parameter for automatic TLS(SSL) certificate issuance from Let’s Encrypt®;<example.com>— the domain to access Portainer. To make the domain accessible via the server's public IP address, add an A record in your DNS hosting control panel and set the server's public IP address as the record value. You can copy the IP address from the control panel: in the top menu, click Products → Dedicated Servers → server page → Operating System tab → in the IP field, click . If your domain is delegated to Selectel DNS Hosting (actual), use the Add a resource record instruction. After OS installation, a TLS(SSL) certificate from Let’s Encrypt® is automatically issued for your domain. If the TLS(SSL) certificate issuance fails, the Portainer panel will be accessible via the server's IP address;<root@example.com>— the administrator email for Containers Ready to create an account and receive Let’s Encrypt® notifications.
Example script for User data
#cloud-configwrite_files:- path: "/opt/containers/docker-compose.yaml"permissions: "0644"content: |version: "3.9"services:web:container_name: webimage: "busybox"env_file: "/opt/containers/.env"db:container_name: dbimage: "busybox"env_file: "/opt/containers/.env"- path: "/opt/containers/.env"permissions: "0644"content: |APP_ENV=productionLOG_LEVEL=infoLOG_FORMAT=jsonLOG_OUTPUT=/var/log/app.log- path: "/opt/user-values.yaml"permissions: "0644"content: |portainer_use_le: trueportainer_domain: "example.com"portainer_le_email: "root@example.com" -
In the Distribution field, select Container Ready.
-
Optional: partition the disks. You can select the disk where the root partition
/will be created and the OS installed. If the server has four or more disks, you can create RAID pairs at different levels, such as RAID1 and RAID0.By default, the optimal RAID level is determined and only disks with partitions and disks in RAID are partitioned. If you use the default partitioning, the OS will be installed on the first disk according to the disk installation order on the server — NVMe → SSD → HDD.
-
Click Install. Installation can take from 7 to 60 minutes; the duration depends on the server's performance and the chosen distribution. If it takes longer, create a ticket.
-
After OS installation, a password for server access will be generated, which is also used for authorizing in the Portainer panel. You can copy the password from the control panel: in the top menu, click Products → Dedicated Servers → server page → Operating System tab → in the Password field, click . The password is available for 24 hours from the moment OS installation starts or configuration is changed. If you forget your server password, you can reset and recover it.
Connect to the Portainer panel
The address to connect to the Portainer panel depends on whether you specified a domain in the user data when installing the OS on step 5.
Domain is specified
Domain is not specified
-
Open the following page in your browser:
https://<domain>:9443Specify
<domain>— the domain name you entered when installing the OS on step 5 in the User data field. -
Log in to the panel. Use:
- login —
admin; - password — your server password. You can copy it from the control panel: in the top menu, click Products → Dedicated Servers → server page → Operating System tab → in the Password field, click . The password is available for 24 hours from the moment OS installation starts or configuration is changed. If you forget your server password, you can reset and recover it.
- login —