OS with Containers Ready application
You can install an OS with a Containers Ready application on a dedicated server.
The Containers Ready application contains:
- Docker version 28.0.3 is a containerization platform for developing and running applications;
- plugins to run Docker Compose version 2.33.0;
- Portainer version 2.27.0 is a GUI for monitoring and managing Docker containers, images, and the Docker network.
For Containers Ready and Portainer configuration, you can specify user data — custom operating system configuration settings — when you create the server.
Install the OS with Containers Ready
For Containers Ready to work, the dedicated server must be accessible from the Internet.
To open the Portainer panel panel can be opened by IP-address or by domain. To open the Portainer panel by domain, specify the domain in user data — after OS installation, a TLS(SSL) certificate from Let's Encrypt® will be automatically issued for the domain.
Specify domain
Do not specify a domain
-
In the Control Panel, on the top menu, click Products and select Dedicated Servers.
-
In the Servers section, open the Server page → Operating System tab.
-
Click Change OS Configuration.
-
Optional: To securely connect to the server using the encrypted SSH protocol, select a previously downloaded and hosted SSH key or add a new one. For more information, see Create and upload an SSH key on a dedicated server.
-
Enter user data. With user data you can automate the configuration of servers. You can only specify user data for servers without hardware HBAs and RAID controllers.
With a script in user data, you can customize container configurations.To open the Portainer panel by domain, you need to insert a script in the user data field:
#cloud-config
write_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: true
portainer_domain: "<example.com>"
portainer_le_email: "<root@example.com>"Specify:
<containers>
— Docker Compose file contents for the filedocker-compose.yaml
. Read more in the instructions docker compose of the Docker documentation;<environment-variables>
— environment variables for the file.env
. If the file is not needed, delete the code block. See the instructions for more details Use environment variables of the Docker documentation;- in the
content:
code block for the/opt/user-values.yaml
file, specify the configuration parameters for Portainer; portainer_use_le: true
— parameter to automatically issue a TLS(SSL) certificate from Let's Encrypt®;<example.com>
— domain to access Portainer.To have the domain open at the public IP address of the server, in the control panel of your DNS hosting, add an A record and specify the public IP address of the server in the value of the record.The IP address can be copied in the control panel: in the top menu, click Products → Dedicated Servers → Server page → tab Operating System → in the field IP click .If the domain is delegated to Servercore DNS hosting (actual), use the instructions Add a resource record.After the OS is installed, a TLS(SSL) certificate from Let's Encrypt® will be automatically issued for the domain.If the TLS(SSL) certificate issuance fails, the Portainer panel will be accessible by the server IP address;<root@example.com>
— Containers Ready administrator email to create an account and receive Let's Encrypt® notifications.
Example script for User data
#cloud-config
write_files:
- path: "/opt/containers/docker-compose.yaml"
permissions: "0644"
content: |
version: "3.9"
services:
web:
container_name: web
image: "busybox"
env_file: "/opt/containers/.env"
db:
container_name: db
image: "busybox"
env_file: "/opt/containers/.env"
- path: "/opt/containers/.env"
permissions: "0644"
content: |
APP_ENV=production
LOG_LEVEL=info
LOG_FORMAT=json
LOG_OUTPUT=/var/log/app.log
- path: "/opt/user-values.yaml"
permissions: "0644"
content: |
portainer_use_le: true
portainer_domain: "example.com"
portainer_le_email: "root@example.com" -
In the Distribution field, select Pre-installed Apps → Container Ready 28.0.0 (Ubuntu 24.04 LTS).
-
Optional: partition the disks. By default, the optimal RAID type is determined and only partitioned disks and disks in RAID are partitioned.
-
Click Install. The installation may take from 7 to 60 minutes, depending on server performance and the distribution selected. If it takes longer, create a ticket.
-
After OS installation, a password will be generated to connect to the server, which is also used for authorization in the Portainer panel.The password can be copied in 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 start of OS installation or configuration changes. If you forget the server password, you can reset and restore it.
-
In the Control Panel, on the top menu, click Products and select Dedicated Servers.
-
In the Servers section, open the Server page → Operating System tab.
-
Click Change OS Configuration.
-
Optional: To securely connect to the server using the encrypted SSH protocol, select a previously downloaded and hosted SSH key or add a new one. For more information, see Create and upload an SSH key to a dedicated server.
-
Optional: enter user data. With user data you can automate the configuration of servers. You can only specify user data for servers without hardware HBAs and RAID controllers.
To customize the container configuration, you need to insert a script in the user data field:
#cloud-config
write_files:
- path: "/opt/containers/docker-compose.yaml"
permissions: "0644"
content: |
version: "3.9"
services:
<containers>
- path: "/opt/containers/.env"
permissions: "0644"
content: |
<environment-variables>Specify:
<containers>
— Docker Compose file contents for the filedocker-compose.yaml
. Read more in the instructions docker compose of the Docker documentation;<environment-variables>
— environment variables for the file.env
. If the file is not needed, delete the code block. See the instructions for more details Use environment variables of the Docker documentation.
Example script for User data
#cloud-config
write_files:
- path: "/opt/containers/docker-compose.yaml"
permissions: "0644"
content: |
version: "3.9"
services:
web:
container_name: web
image: "busybox"
env_file: "/opt/containers/.env"
db:
container_name: db
image: "busybox"
env_file: "/opt/containers/.env"
- path: "/opt/containers/.env"
permissions: "0644"
content: |
APP_ENV=production
LOG_LEVEL=info
LOG_FORMAT=json
LOG_OUTPUT=/var/log/app.log -
In the Distribution field, select Pre-installed Apps → Container Ready 28.0.0 (Ubuntu 24.04 LTS).
-
Optional: partition the disks. By default, the optimal RAID type is determined and only partitioned disks and disks in RAID are partitioned.
-
Click Install. The installation may take from 7 to 60 minutes, depending on server performance and the distribution selected. If it takes longer, create a ticket.
-
After OS installation, a password will be generated to connect to the server, which is also used for authorization in the Portainer panel.The password can be copied in 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 start of OS installation or configuration changes. If you forget the server password, you can reset and restore it.
Connect to the Portainer panel
The address to connect to the Portainer panel depends on whether you specified the domain in user data when you installed the OS in step 5.
The domain is listed
Domain not specified
-
Open the page in your browser:
https://<domain>:9443
Specify
<domain>
— the domain name you entered when installing the OS at step 5 in the User data field. -
Authorize in the panel. Use:
admin;
- password — the password of your server.You can copy it in 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 viewing 24 hours from the start of OS installation or configuration change.If you forget the server password, you can reset and restore it.
-
Open the page in your browser:
http://<ip_address>:9000
Specify
<ip_address>
— public IP address of the server. It can be copied in the control panel: in the top menu click Products → Dedicated Servers → Server page → Operating System tab → in the IP field click . -
The browser will display a warning about an insecure connection due to the lack of an SSL certificate. Confirm the transition to the page.
-
Authorize in the panel. Use:
admin;
- password — the password of your server.You can copy it in 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 start of the OS installation or configuration change.If you forget your server password, you can reset and recover it.