Skip to main content

Dify Virtual Machine

Dify Virtual Machine is a preconfigured cloud server with a tool for building AI applications: agents, agentic workflows, RAG pipelines, and chatbots.

The image from which the server is deployed contains:

  • Dify — a tool for building AI applications;

  • Docker — a platform for running containerized applications;

  • Docker Compose — a tool for running multi-container applications in Docker;

  • PostgreSQL — an object-relational database management system;

  • pgvector — an extension for PostgreSQL that allows working with vector data;

  • Redis — a NoSQL in-memory database management system that works with key-value data;

  • drivers required for working with graphics processing units (GPU).

Before creating the server, read the software license agreements for the software included in the image.

Functional capabilities

  • creating and setting up AI applications via a visual builder;

  • building RAG pipelines with document loading and vector search;

  • designing agentic workflows with support for logic, code, and external APIs;

  • integration with various LLM providers;

  • publishing AI applications as a web interface, API, and tools compatible with the Model Context Protocol (MCP).

Minimum resource requirements

vCPU count2
RAM4 GB
Boot volume80 GB
GPUNot required

Getting started with Dify Virtual Machine

  1. Create a cloud server with Dify.

  2. Create a Dify account.

  3. Run Dify.

1. Create a cloud server with Dify

  1. In the Control panel, on the top menu, click Products and select AI Marketplace.

  2. Click Create server.

  3. Fill in the blocks:

  4. Check the server price.

  5. Click Create server.

Name and placement

  1. Enter the server name.

  2. Select a location where the server will be created. The available GPU list depends on the location. You cannot change the location after the server is created.

Source

Select an image Dify VM (Ubuntu 24.04 LTS 64-bit).

Optional: GPU

  1. Click Add GPU.

  2. Select the GPU type. When choosing a GPU, consider the minimum resource requirements for the image. GPU specifications and descriptions can be found in the Graphics Processors (GPU).

  3. Specify the number of GPUs.

After the server is created, you will be able to change the GPU type and quantity or delete the GPU. Learn more in the Change Cloud Server Configuration.

Configuration

  1. Specify the number of vCPUs.

  2. Specify the RAM size.

After the server is created, you will be able to change the configuration.

Disks

  1. Select the boot disk type. GPUs are not available when using a local disk as a boot disk.

  2. Specify the disk size in GB or TB. The maximum size for all network volumes is 10 240 GB (10 TB), for a local disk — 1 256 GB (1 TB).

  3. If you selected the SSD Universal v2 or SSD Fast v2 disk type, specify the total number of read and write operations in IOPS. After the volume is created, you can change the IOPS value by increasing or decreasing it. The number of IOPS changes is unlimited.

  4. Optional: to add additional disks:

    4.1. Click Add volume.

    4.2. Select the volume type.

    4.3. Specify the disk size in GB or TB. The maximum size for all network volumes is 10 240 GB (10 TB), for a local disk — 1 256 GB (1 TB).

    4.4. If you selected the SSD Universal v2 or SSD Fast v2 disk type, specify the total number of read and write operations in IOPS. After the volume is created, you can change the IOPS value — decrease or increase it. The number of IOPS changes is unlimited.

    After the server is created, you will be able to detach additional volumes from it or attach new ones.

Network

You can add the server to a new or existing subnet. The subnet can be:

  • private without internet access. You will not be able to connect to the server from the internet, including via SSH or RDP;
  • private with a single public IP address. A static public IP address connects to the private server address via a cloud router. The server will be accessible from the internet via this public IP address;
  • public, where all addresses are accessible from the internet.
  1. To add an existing private subnetwork:

    1.1. In the Subnet field, select an existing subnet.

    1.2. Optional: change the default private IP address of the server.

  2. To add a new private subnetwork:

    2.1. In the Subnet field, select the Private subnet type.

    2.2. Optional: change the subnetwork CIDR.

    2.3. Optional: enable the DHCP toggle. Learn more about the DHCP protocol in the Selectel blog article Principles of the DHCP Protocol.

    2.4. Optional: change the default gateway IP address.

    2.5. Optional: change the network in which the subnet will be created — you can select an existing network or create a new one. If you are creating a new network, enter the network name.

Optional: Access

  1. In the Password for «root» field:

    1.1. Copy the password for the root user — the user with unrestricted system privileges.

    1.2. Save the password in a secure place and do not share it in plain text.

  2. Add an SSH key for the project to the server for secure connection:

    2.1. If the SSH key is not added to the cloud platform, click , enter the key name, paste the public key in OpenSSH format, and click Add.

    2.2. If the SSH key is added to the cloud platform, in the SSH key field, select an existing key.

Optional: Additional settings

  1. To create a preemptible server, check the Preemptible server checkbox.

  2. If you are planning to create several servers and want to increase infrastructure fault tolerance, add the server to a placement group:

    2.1. To create a new group, click , enter the group name and select a placement policy for different hosts:

    • preferred — the system will try to place servers on different hosts. If there is no suitable host available when creating a server, it will be created on the same host;

    • mandatory — servers in the group must be located on different hosts. If there is no suitable host available when creating a server, the server will not be created.

    2.2. If the group is created, in the Placement group field, select a placement group.

  3. To add additional information or filter servers in the list, add server tags. An image name tag is added automatically. To add a new tag, enter it in the Tags field.

Optional: Automation

  1. To add a script to be executed by the cloud-init agent during the first system boot, in the User data field:

    • open the Text tab and paste the script as text;
    • or open the File tab and upload the script file.

    For examples of scripts and supported formats, see the User data guide.

2. Create a Dify account

  1. In the Control panel, on the top menu, click Products and select AI Marketplace.

  2. In the Dify Virtual Machine card, click Go to GUI.

  3. Enter your email.

  4. Enter a username.

  5. Enter your password.

  6. Click Set up.

3. Run Dify

  1. In the Control panel, on the top menu, click Products and select AI Marketplace.

  2. In the Dify Virtual Machine card, click Go to GUI.

  3. Enter the email you specified in step 3 when creating an account in step 2.

  4. Enter the password you specified in step 5 when creating an account in step 2.

  5. Click Sign in.