Skip to main content
Containers Ready
Last update:

Containers Ready

On a dedicated server, you can install the OS with Containers Ready application.

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.

Open the Portainer panel You can open the Portainer panel 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.

  1. В control panels from the top menu, press Products and select Dedicated servers.

  2. In the section Servers open the server page → tab Operating system.

  3. Click Change the OS configuration.

  4. 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. More details in the instructions Create and upload an SSH key on a dedicated server.

  5. 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 the help of 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> — the contents of the Docker Compose file for the file docker-compose.yaml. Read more in the instructions docker compose Docker documentation;
    • <environment-variables> — file environment variables .env. If the file is not needed, delete the code block. More details in the instructions Use environment variables Docker documentation;
    • in the code block content: for the file /opt/user-values.yaml 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 opened by the public IP address of the server, add an A record in the control panel of your DNS hosting and specify the public IP address of the server in the record value. The IP address can be copied to control panels: from the top menu, press ProductsDedicated servers → server page → tab Operating system → in the field IP click . If the domain is delegated to DNS hosting Selectel (actual) use the instruction manual. Add a resource record. After the OS is installed, a TLS(SSL) certificate from Let's Encrypt® is 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"
  6. In the field Distribution select the OS image with the application — Ubuntu 24.04 LTS (Container Ready 28.0.0).

  7. Optional: partition the disks. By default, the optimal RAID type is defined and only partitioned disks and disks in RAID are partitioned.

  8. Click Set. Installation can take from 7 to 60 minutes, depending on the performance of the server and the distribution selected. If more time has elapsed, file a ticket.

  9. Once the OS is installed, a password will be generated to connect to the server, which is also used to authorizations in the Portainer panel. The password can be copied to control panels: from the top menu, press ProductsDedicated servers → server page → tab Operating system → in the field Password click . The password is available for 24 hours from the start of the OS installation or configuration change. 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 a domain in the user data at OS installation in step 5.

  1. Open the page in your browser:

    https://<domain>:9443

    Specify <domain> — the domain name that you entered when OS installation at step 5 in the field User data.

  2. Authorize in the panel. Use:

    • login — admin;
    • password — password from your server. You can copy it to control panels: from the top menu, press ProductsDedicated servers → server page → tab Operating system → in the field Password click . The password is available for 24 hours from the start of the OS installation or configuration change. If you forget the server password, you can reset and restore it.