Skip to main content

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.

You can open the Portainer panel using an IP address or a domain. To open the Portainer panel using a domain, specify the domain in user data—after the OS is installed, a TLS(SSL) certificate from Let’s Encrypt® will be automatically issued for the domain.

  1. In the control panel, in the top menu, click Products and select Dedicated Servers.

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

  3. Click Reinstall OS.

  4. Optional: to connect to the server securely using the encrypted SSH protocol, choose a previously uploaded and placed SSH key, or add a new one. For more information, see the guide Create and upload an SSH key to a dedicated server.

  5. Enter user data. You can use user data to automate server configuration. You can specify user data only for servers without hardware HBA and RAID controllers.

    You can use a script in user data to configure containers. To open the Portainer panel using a domain, you need to paste the following script into 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 docker-compose.yaml file. Learn more in the docker compose documentation in the Docker docs;
    • <environment-variables> — environment variables for the .env file. 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.yaml file, 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 specify 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 ProductsDedicated Servers → server page → Operating System tab → in the IP field, click . If the domain is delegated to Selectel DNS Hosting (actual), follow the Add a resource record guide. 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 via the server's IP address;
    • <root@example.com> — email of the Containers Ready administrator for account creation and 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 Distribution field, select Container Ready.

  7. Optional: partition the disks. You can select the disk on which the root partition / will be created and the OS installed. If the server has four or more disks, you can assemble them in pairs into different RAID levels, for example, RAID1 and RAID0.

    By default, the optimal RAID level is determined, and only disks with partitions and disks in RAID are partitioned. If you leave the default partitioning, the OS will be installed on the first disk in accordance with the disk installation order on the server—NVMe → SSD → HDD.

  8. Click Install. Installation can take from 7 to 60 minutes; the duration depends on the server performance and the selected distribution. If more time has passed, create a ticket.

  9. After the OS is installed, a password will be generated for server access, which is also used for authorization in the Portainer panel. You can copy the password in the control panel: in the top menu, click ProductsDedicated Servers → server page → Operating System tab → in the Password field, click . The password is available for viewing for 24 hours from the moment OS installation or configuration change begins. If you forgot your server password, you can reset and recover it.

Connect to the Portainer panel

The address for connecting to the Portainer panel depends on whether you specified a domain in the user data during OS installation in step 5.

  1. Open the following page in your browser:

    https://<domain>:9443

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

  2. Log in to the panel. Use:

    • login — admin;
    • password — the password for your server. You can copy it in the control panel: in the top menu, click ProductsDedicated Servers → server page → Operating System tab → in the Password field, click . The password is available for viewing for 24 hours from the moment OS installation or configuration change begins. If you forgot your server password, you can reset and recover it.