Guide to the web platform

🎥 VKube now offers video tutorials to help you get familiar with the VKube platform!
Watch step-by-step guides and learn how to use VKube services efficiently.

📺 Visit VKube YouTube Channel

How to purchase a service on VKube

Signup/login VKube

Visit https://vkube.vcloud.systems (opens new window) to sign up as a first-time user. Accounts are IP-based, which means that new users will only need to set up a password and save the back-up seed phase displayed during registration.

This image shows the "Create New Account" page for vkube.vcloud.systems, featuring fields to input a backup seed, create a new password, and confirm the password, along with a "Create Wallet" button and a link to sign in with an existing account.

This image displays the login page for V Kube, where users can sign in by entering their password in the provided text field, with options to create a new account or restore an existing one from backup, and social media links for V Systems are visible at the bottom of the page.

Available services

As shown in the figure below, click on "Purchase", you can see all available services and place an order. Click order button to go to purchase configuration.

This image shows the "Purchase" page within the VKube dashboard, where the "Purchase" menu item is highlighted in the left sidebar, and on the right side, the "Merchant Information" table displays available services, with a red arrow pointing to the "Order" button for the "Container Service".

Create your order

As shown in the figure below, you can choose your configuration in this page. Click Create Order button to create an order, or click Add to Cart button to add an order to shopping cart. This image displays the "Container Service" configuration page in VKube, showing options to customize the service including selecting "Resource Units" with a dropdown, choosing "Regions" like North America, Europe, Tokyo, and Hong Kong via radio buttons, enabling "Persistent Storage" with "No" and "Yes" radio buttons, and specifying "Port Specification" as "User Specified Service Port" or "System Random Map Port", and finally, it highlights the "Create Order" and "Add to Cart" buttons for finalizing the configuration.

As shown in the figure below, users can check shopping list in shopping cart icon in the upper right corner.

This image shows a popup "SHOPPING CART" overlaid on the "Container Service" configuration page in VKube, displaying a list of items including "Container Service" with details like duration and amount, and options to clear the shopping cart or create an order, with a red arrow pointing to the shopping cart icon in the upper right corner of the VKube interface.

Complete the payment

Click on "My Orders" to complete the payment of your service and start deploying your container. Click on Pay button it will appear a payment dialogue, you can click the "Pay" button to complete the payment.

This image displays the "My Orders" page within the VKube dashboard, with the "My Orders" menu item highlighted in the sidebar, and a table listing orders with details such as "Order ID", "Order Type", "Order Status", "Created Time", and "Total Amount", along with a "Pay" button in the "Actions" column to initiate payment for a pending order.

Payment dialogue

Review the order details and select the token you want to pay with (VSYS or USDV). And you also can use the third party payment. This image displays the "Order Payment" dialogue box in VKube, highlighting the "Crypto Payment" option as selected and showing the "Summary" section with order details, including the option to change currency by clicking the "Currency" button which reveals a dropdown menu with "USDV" and "VSYS" tokens, with "VSYS" currently selected for payment.

Review your purchased services

Click on "My Services" on the left sidebar to view the services you have purchased. If you need to Refund or Renew the Service, please click on the corresponding buttons. Clicking on Token button can copy the token.

This image displays the "My Services" page in the VKube dashboard, with the "My Services" menu option highlighted in the left sidebar, and a table listing purchased services including "Service ID", "Service Status", "Total Amount", and "Actions" such as "Token", "Refund", and "Renew", with a red arrow pointing to the "Token" button in the "Actions" column for a service.

How to use VKube services

VKube Dashboard

There are two tokens. Both of them can be used to add service in "Container" page. The first one, under the "My Services" page, click on Token button to copy the service token. The second one, under the "Access Token" page, copy the access token. If you don't know how to copy token, please go back to the previous two step. After copying the token successfully, then go to the "Container" page to click on Import button and paste the token. Finally, click on Confirm button and you will see the service detail. As shown in the figure below.

Please note that each service token corresponds to a container, and it is stored in the local cache. The service token will be erased once you empty the browser cache.

Adding or deleting service token won’t affect your service info or status.

This image illustrates the process of importing a service token in VKube, showing the "Containers" page with the "Import" button highlighted with number 1, and a popup dialog box with the instruction "paste token here" and number 2, where users can enter their service token to authorize access to their container service.

Containers

This image showcases the "Containers" page within the VKube dashboard, divided into three key areas: the first area at the top includes a search bar for "Service ID" and a "Container Status" filter, along with "Refresh" and "Manage" buttons; the second area is the header of the containers table, listing columns such as "Service ID", "Label", "Container Status", "Service Status", "Remain Time", "End Time", and "Actions"; and the third area shows an expanded row revealing details of a specific container service, including "Service type ID", "Created Time", "Last Update", "Recipient", "Service Options", "Service Name", "Service Duration", "Address", and "Notice".

As you can see, there are three areas in above picture.

First Area:

On the left, "Service ID" is used to search the service. "Container Status" is used as a condition to select matched services. On the right, Refresh is to refresh the web page. Manage has two function.ImageHub is used to record the private ImageHub credentials information. Synchronize is used to synchronize the pods from the remote server.

  • Import Service: To import a service into the Containers page, you can follow one of two methods:Manual Import with Token: Go to the My Services page, copy the service token of the service you wish to import, and then paste it into the import field on the Containers page. Click "Confirm" to complete the import. Bulk Import: Alternatively, on the My Services page, select the services you want to import and click "Import Services" to import them in bulk. These methods allow you to easily import your services into the Containers page for further use.
  • ImageHub: Click the ImageHub button and click the "Save Account", it will appears a pop-up window as the follow picture. Select the different image libraries by the selection box and then fill in your account credentials. It can help you to avoid input the credentials every time you deploy services.

This image displays the "ImageHub Auto-Login Config" popup window in VKube, specifically showing the "Save Account" tab selected, with dropdown options for image libraries like "Docker Hub", and input fields for "Your Docker Hub account" and "Your password", along with "Confirm" and "Cancel" buttons at the bottom, all overlaid on the VKube "Containers" page.

  • Synchronize: When you use another computer or different browsers to sign up the same account, you can't see the containers data via "Containers" aside. At this time, you can click the Synchronize button and then you can see the same data.

Second Area: This area is a table header. Each column represents a different meaning. "Service ID" refers to the number of the service created. "Label" is the description you label the service when after deploying it. "Container Status" refers to the status of the pod. "Service Status" refers to the status of the service. Under "Actions", you can find the Deploy, Alias, Contact, Policy, Delete buttons:

  • Deploy: If the container has not been deployed yet, the Deploy button will be displayed. It will disappear once the container has been deployed.

  • Alias: It you want to update the service access port and alias the service name, you can use this button. Then in the same region, your services can access this service by aliasName:aliasPort.

  • Contact: For a certain service, after binding an email, when any abnormal situations occur with the service, relevant notifications will be sent. Notification message includes the service expired or Restart operation, etc. The binding of an email address can also be done on the user level. If you bind two emails at the same time, the difference between them are as follows. Suppose you have purchased three services, and one of them is bound to email A, while the user level is bound to email B, For the service bound to email A, related notifications will be sent to email A, and for the other two services, notifications will be sent to email B. As shown in the figure below, by clicking on the user's avatar, you can add and bind an email in the Account section. This image displays the "Account Information" popup window in VKube, accessed by clicking on the user's avatar icon located in the top right corner, showing wallet details like Seed, Wallet Address, Balance, Public Key, Private Key, and Email input fields, illustrating how users can manage their account information and potentially bind an email for service notifications.

  • Policy: The network policy acts as a whitelist , specifying which services can access your service within the same region. You can define rules that allow only particular services or those associated with specific accounts to make requests to your service. After clicking the Policy button, the next step is clicking the "Add Rules" button and then fill in the service ID which can access your service in the same region.

  • Delete: Delete the service token in the Local Storage. This will not impact the operation of the remote container. You can import it again by using Import button in area one.

Third Area:

You can click on the arrow on the left side of each row to view the corresponding details. As the follow picture shows: This image shows the expanded details of a container service within the VKube dashboard's "Containers" page, displaying comprehensive information such as "Service type ID", "Created Time", "Last Update", "Recipient", "Service Options", "Service Name", "Service Duration" with remaining time, "Address", "Host IP", container specifications like "Region", "Number of Port", "Ram", "Port Specification", "Persistent Storage", and action buttons like "Restart", "Stop", "Config", "Redeploy", "Domain", "Alias", "Contact", "Policy", and "Delete" on the right side.

  • Service Name: Service name of the Container defined by the container creator.
  • Created Time: Time of order creation
  • Expired Time: Time at which the service expired time. If the expired time is displayed, then the container can’t be used any longer.
  • Service Duration: Total duration of the service.
  • Address: VSYS wallet address used to purchase the service.
  • Recipient: VSYS wallet address of the merchant providing the service (VKube by V Systems)
  • Service Option: Parameters of the container. This information is embedded inside a collapsing menu, accessible by clicking on the arrow icon besides the Service Options.
  • Status: Current service status, including "Pending", "Running", "CrashLoopBackOff" and so on.

Container status dialog

  • Display the status and information of all containers, including the past and current container status, configuration info, and current status

  • You can view the container Service ID in the dialog box. You can slide up, down, left, and right in the lower area to view the status information in json format

This image shows the VKube dashboard's "Containers" page, where a container service is listed with its "Container Status" indicated as "Running", and upon clicking the "Running" status, a dialog box appears displaying detailed container status information in JSON format, allowing users to view configuration and current status of their containers.

container status operation

Deploy a container

After placing an order, the container status will be "Pending" and the Deploy button will appear. Start deploying your container,as shown in the figure below:

This image shows the "Container Config" dialog in VKube, where users can configure their container deployment, with focus on the "Image" section where users can specify the image source from Docker Hub or other registries, indicated by the text "use private images" and a checkbox, and the "Deploy" button is visible at the bottom, ready to initiate the deployment process.

  1. First, choose your image which is from Dockerhub or Github
  2. Second, enter the image information. Currently, the supported images can be from dockerhub and GitHub. It supports public and private images.
  • Public images: For DockerHub, the recommended format is name:tag (e.g. nginx:latest). For Github, the recommended format is account name/image name:tag(e.g. john/redis:7.2.1).

  • Private images: For Dockerhub, the recommended format is account name/private repository:tag. For Github, the recommended format is account name/image name:tag. You also need to fill in the account and password. It is recommended to use a PAT(Personal Access Token) as the password. Before deployment, the corresponding image will be queried at the repository address, so you must ensure that the image with the corresponding tag is readable in the image repository. As shown in the figure below, the system will check image is existed or not. This image displays the "Container Config" dialog in VKube, highlighting the image validation process where a user has entered an image name "ghcr.io/nginx-proxy/nginx-proxy" and the system is checking its existence, indicated by a loading animation and a checkmark symbol, while also showing fields for account and password for private image repositories.

3.Third, click the Deploy button to deploy. Containers names must adhere to certain rules; they can include letters (a-z, A-Z), numbers (0-9), and hyphens (-), but can not start or end with a hyphen. The system will review each input before submitting the deployment request. Don't worry,the system will validate your input, as shown in the figure above.

Options:

  • Add Port resource:
    • If you finish the configuration, port mapping between the host and the user’s container will be completed, allowing the user’s service to be accessed on the Internet via HostIP:hostPort.
    • Click the “+Port” button to add container port and host port (which must be mapped one-to-one). The text below, 1 host port available, indicates the number of host ports that can still be added. The number of ports is determined by the Number Of Port setting in the Service Option. Users can use ports equal to or fewer than the specified Number Of Port. The system will check the availability of host port resources in the region, and if the entered port is occupied, users can input a new host port.
  • Add Configuration file resource
    • The container service reads external configuration files, avoiding the need to rebuild the image when configuration changes are required, if the configuration file was included in the image.
    • Click the Add Config button. In the configuration file edit popup, you need to fill in the configuration file name (including the absolute file path) under Config Path and the content under Config Content. Clicking the Confirm button will save the configuration file content to the path specified in the user’s container.
  • Add Environment Variable resource
    • The VKUBE environment variable works the same as Linux environment variables, allowing you to set environment variables for the container at runtime.
    • Click the Environment Variables button to add environment variables for the container deployment: name and value.
  • Advance
    • Command: The concept is the same as the Command in Docker containers, allowing you to set commands to be executed when the container starts.
    • Argument: The concept is the same as Arguments in Docker containers, allowing you to set parameters to be executed when the container starts.

pod status

Once the container is successfully deployed, you will be able to perform the following functions: Restart, Stop, Config, Redeploy, Domain, Contact, Delete

Operating the container

As shown in the figure below, after the deployment is completed, the allowed operations on the container: Restart, Stop, Config, Redeploy, Domain, Contact, Delete. The Notice action area is some error message when the container is abnormal.

This image presents the "Containers" page within the VKube dashboard, illustrating the operations available for a deployed container service, with a red box highlighting action buttons on the right side including "Restart", "Stop", "Config", "Redeploy", "Domain", "Alias", "Contact", "Policy", and "Delete", and also pointing out the "Notice" section for error messages related to the container's status.

Restart

Click the Restart button, the all containers belong this service will stop first, and then start again. After a restart, the previous container’s logs and other data will be deleted. If you want to prevent data from being deleted after a restart, you should use the Persistence feature to persist data at a user-specified path.

Stop

Click the Stop button, the all containers belong this service will be stopped. If you want to start again, you should click the Start button. It should be noted that after the Stop operation, billing does not stop. For example, if you purchase a 2-hour service, it is successfully deployed at 8:00, and expires at 10:00. If you perform the Stop operation at 9:00, and then restart at 9:30, the expiration time will not be extended to 10:30, but remains at 10:00. It means that the "End Time" in the follow picture is unchanged. As shown in the figure below, the "End Time" is unchanged.

This image displays the "Containers" page in the VKube dashboard, highlighting a specific container service with "Container Status" shown as "Stop" and "Service Status" as "ServiceStop", indicating that the service has been stopped but the "End Time" remains unchanged at "2024-10-15 17:04", illustrating that stopping the container does not extend the service duration.

Label and Description

To better manage the deployed services, you can add appropriate labels to identify them or include relevant descriptions in the Details panel. Adding labels allows for easy categorization and filtering of services, while descriptions provide additional context to help users understand the purpose or configuration of each service. This enhances the organization and accessibility of your deployed services.

Config

Click the Config operation to modify the content of the container’s configuration files and environment variables.

  • Users can select a specific configuration file from a container that they want to modify or view. Configuration files can be edited manually or by uploading a file. Note that the upload operation reads the file to the front end, and the configuration will only take effect after clicking the Confirm button.
  • For manual configuration of environment variables, click + to add a configuration and - to remove one. You can also choose to upload a file, as shown in the image below:

This image shows the "Configuration Update" dialog box in VKube, with the "Environment Variables" tab highlighted as selected, indicating the user is configuring environment variables for a container named "nginx", and instructions are visible to "select the container" and "choose one" of the configuration types, while action buttons "Import From File", "Add", and "Confirm" are available at the bottom of the dialog.

This image shows the "Configuration Update" dialog in VKube, focusing on the "Environment Variables" tab where users can manage environment variables for a container named "redis", and it highlights the "Import From File" button for uploading configurations and a "delete" icon in the action column for removing individual variables.

Redeploy

Alternatively, you can choose to redeploy a service. During this process, you have the option to copy or clone the container configuration from another service by using its token. This makes it easier to deploy the service with the same container settings, streamlining the setup process.

Bind Domains

The domain service feature in VKUBE requires users to configure their domain (e.g., A Record) to point to the nodeIP, which is the IP address of the machine hosting the user’s service. After completing this step, you can use VKUBE's domain service feature to proxy your service. Once the setup is completed, you can access your deployed services on VKUBE via your domain on the Internet. The domain binding feature supports two modes: Basic and Advance.

Basic Mode

Supported operations for container domain binding:

  1. Add (supports binding multiple domains): Create a proxy relationship between the user service and the domain, allowing the domain to access the service deployed on VKUBE over the Internet. For the same service, as long as multiple domain mappings are configured (e.g., A Record), multiple domains can be bound.
  2. 'Unbind All': Unbind all domains from VKUBE at once. Note that this only removes the proxy relationship between the user service and the domain in VKUBE and does not affect the user's DNS mapping configuration.
  3. Unbind a single domain

Parameter Explanation:

  • Domain: The domain to be bound to VKUBE, e.g., www.example.com
  • Container Port: The port number that the user’s container listens on, e.g., 80
  • HTTPS: Whether to use the free certificate generated by Letsencrypt provided by VKUBE. If selected, the system will automatically apply for and bind the certificate.

This image shows the "Domain Management" dialog in VKube with the "Basic" tab active, displaying the Manage Domain form where users can input the domain (e.g., example.com), specify the container port (default 80), toggle HTTPS certificate usage, and perform actions like confirming or deleting domain entries. It also includes "Add Domain" and "Unbind All" buttons, along with instructions about DNS configuration requirements.

Advance Mode

Currently supported domain management platforms for container domain binding include AWS Route53 and Cloudflare. Users need to provide the corresponding credentials for the domain management platform they use, so that the VKUBE service can verify domain ownership and complete the certificate generation process. In this mode, wildcard domains are allowed. For domains managed under Cloudflare, Proxy DNS mode is supported.

Supported operations:

  1. Add (supports binding multiple domains): Create a proxy relationship between the user service and the domain, allowing the domain to access the service deployed on VKUBE over the Internet. For the same service, as long as multiple domain mappings are configured (e.g., A Record), multiple domains can be bound.
  2. Delete: Remove the proxy relationship between the user service and the domain.
  3. Delete Provider: Remove all information related to this domain management provider in VKUBE, including credentials and the mapping relationships between domains and container ports.

This image shows the "Domain Management" dialog in VKube with the "Advance" tab selected, displaying options to configure domain providers such as Cloudflare (requires API Token) and Route53 (requires AWS Access ID and Access Key). Each provider section includes an area to add and manage domains, ports, and actions, with a "Bind" button at the bottom to complete the provider configuration.

Alias

The VKUNE Alias feature allows users to assign an alias to their services. In the same region, different services can communicate with each other using this alias.

Parameter Explanation:

  • Alias: Users can enter a custom or meaningful string as the service alias.

  • Alias Port: The port number associated with the alias, e.g., 80.

  • Container Port: The port number the user’s service listens on.

  • Protocol: The network protocol used by the service, either TCP or UDP.

Example:

Alias mongo-url
Alias Port 27017
container Port 27017
Protocol TCP

Once the setup is completed, services within the same region on VKUBE can access the service using mongo-url:27017.

Note: If the user has deployed a web service, using the alias to access it in a browser (e.g., mongo-url:27017) will not work.

To better demonstrate the alias feature, we will use the deployment of a MongoDB image as an example.

Contact

The VKUBE Contact feature binds an email address to the user’s service. When there is an issue with the service, related notifications will be sent. Currently, it synchronizes with VKUBE’s Notice system. Any new information in Notice will be sent to the configured email if set.

Parameter Explanation:

  • Your Email address: Users can enter their email address to serve as the contact for the service.
  • Verification code: The system will send a verification code to this email. The user needs to enter the code and click the Verify Code button to bind the email. This image shows the "Bind Your Email to This Service" popup window in VKube, featuring input fields for "Your Email address" and "Verification Code", accompanied by "Send Code" and "Verify Code" buttons, used for setting up email notifications for service-related issues.

Delete

Clicking the Delete button will remove the selected service from the current page. This action does not affect the server in any way; it only removes the visual information of the service from the user’s browser. To restore it, go to My Services, copy the token, and then go to the My Containers page to Import it again.

Policy

The VKUBE Policy feature provides a whitelist mechanism to control access permissions between different services. Once created, all requests to the service will be restricted except those from services specified in the whitelist. For example, if you create an empty whitelist, no services will be able to access the user’s service.

Operation Procedure:

1.Click the Policy button, then click Add Rules. Under Add Rules, there are three options:

  • Single Service: Enter the User Service ID to allow this service ID to access the service with the applied Policy.

  • Services of Owner: Enter the Address to allow a group of services owned by this Address to access the service with the applied Policy.

  • Specific Service of Owner: Enter both the User Service ID and Address to allow a specific service ID and Address to access the service with the applied Policy.

2.After configuring, click Confirm. In the main configuration window, you’ll see the newly added information. If you’d like to add more rules, click Add Rules again. Once everything is correct, click the Create Policy button to complete the creation of the Policy.

3.You can also create a Policy without adding any rules, which will block all services from accessing the user’s service.

Watch more Tutorials below

To better demonstrate the policy feature, we will use the deployment of a MongoDB image as an example.

Notice

The VKUBE Notice feature allows users to view service status notifications, such as Out Of Memory events or service expiration reminders. If the user has linked an email, the system will automatically send these notifications to the email. As shown in the image below:

This image displays the "Notice" popup window within the VKube dashboard, accessed via the notification bell icon in the top right corner, and it presents a list of service notifications with columns for "Time", "Service ID", and "Notice Type", allowing users to search for specific notices using a search bar at the top.

Containers List

To view information and status of the containers within a service's deployed pod, you can either click on the pod's icon to open the container list and check its details, or click on "View Containers List" to see all the containers associated with the service. Both options provide an easy way to monitor the containers and their status after deployment.

Single Container Operation

Clicking the downward-facing triangle on the right side of Containers will bring up a popup window displaying the list of containers that the service is actually deployed on. For each container, there are three actions: Log, Monitor, and Upgrade, as shown in the figure below.

This image displays the "Containers List" popup window in VKube, which is opened from the "Containers" page by clicking the dropdown arrow next to "Containers" in the expanded service details, and the popup lists details for a container named "nginx" including its image, memory allocation, and status, along with action buttons "Log", "Monitor", and "Upgrade" for managing the container.

Log

Click the Log button to view the log of the container. You should fill in start time and end time and then click on Search button to see the logs. You can click on Reset button if you want to clear the logs.

This image displays the "Container Log" dialog box in VKube, showing options to configure log retrieval such as "Tail lines", "Follow" toggle, and "Log time range" with start and end time pickers, along with "Search" and "Reset" buttons, and a log display area at the bottom presenting an error message related to nginx-proxy version and docker socket volume sharing.

  • Tail Lines: Default is 10, representing the number of log lines displayed to the user.
  • Follow: Default is unchecked. If selected, it will continuously follow log changes, disregarding the line limit
  • Log time range: Default is empty, allowing the user to select a time range for the logs to be displayed.
  • Reset: Clicking the Reset button will clear the log content.
Monitor

Monitor button allows you to view information such as the memory and CPU usage of the current container. As shown in the figure below.

This image displays the "Container Monitor" popup window in VKube, presenting real-time resource usage statistics for a container, including CPU usage at 0.00%, memory usage showing both allocated and total bytes, network download and upload at 0 bps, the container name as "nginx", and a "Refresh Time" indicating the last update of the monitoring data.

Upgrade

Clicking the Upgrade button allows you to update the image.

Please note:

  • Upgrading will restart your service, so proceed with caution.
  • Upgrading the image involves a version update of the same image. For example, if you’re running an Nginx image, the update must also be an Nginx image, just a different version.
  • For private images, you still need to provide your account and password. Please refer to the deployment steps above.

This image displays a popup dialog titled "Image" in VKube, which is used for upgrading container images, and it includes input fields for specifying the "image:tag (required)", "Your account (optional)", and "Your password or access token (optional)" for the new image version, along with "Confirm" and "Cancel" buttons for finalizing or aborting the upgrade process.

Tool Injection

The image depicts the Tool Injection feature in VKUBE, illustrating the settings interface where users can select from three available tools: sshd, ttyd, and rsync. It highlights the options for configuring these tools, including input fields for necessary parameters such as Target Container, SSH Public Key, TTYD Username, and TTYD Password, enabling users to set up their desired tool for remote access and synchronization.

In the Action section, click on Tool Injection to enter the settings page. VKUBE will provide the functionality for tool injection, allowing users to choose from three tools:

  • sshd: sshd (Secure Shell Daemon) is the SSH server process provided by OpenSSH, allowing remote users to securely connect to Linux servers via the SSH protocol.

  • ttyd: ttyd is a tool that maps command-line terminals (TTY) to web pages via WebSocket, enabling users to access server terminals through their browsers.

  • rsync: rsync (Remote Sync) is an efficient remote synchronization tool used for local and remote file synchronization, supporting incremental copying and compressed transfer.

VKUBE will configure based on the user's selection:

  • Choosing sshd: VKUBE will help users download and run sshd in a specified container. sshd can only be authenticated and encrypted using public key/private key, with the public key written into the container's environment variables. After this, the user container will start sshd, allowing users to log in to the specified container via SSH.

  • Choosing ttyd: VKUBE will help users download and run ttyd in a specified container. ttyd will start a web-based program that allows users to connect to the corresponding container through a web page. Users need to provide a username and password, with the password requirements being: at least one uppercase letter, one lowercase letter, one number, and one special character.

  • Choosing rsync: requires sshd to be enabled. VKUBE will help users download and use rsync in a specified container.

VKUBE carries out the download and execution according to the script's operation and the user's selected configuration.

Note: VKUBE will do its best to help users download and run sshd, but current tests indicate that newer versions of Ubuntu, Alpine, and Debian-based images are suitable. Other Linux distributions may not succeed. Additionally, downloading ttyd is not possible in Debian.

The image illustrates the settings page for the Tool Injection feature in VKUBE, where users can click to enable various tools for their containers. This interface allows users to configure their selections, enhancing the functionality and accessibility of their containerized applications. Click on the image above to enter the settings page, where users can choose to enable different tools.

The image displays the configuration interface for enabling the ssh, ttyd, and rsync tools in VKUBE, highlighting the required parameters that users must fill out. It includes fields for Target Container, SSH Public Key, TTYD Username, and TTYD Password, ensuring users provide the necessary information to successfully set up these tools for their containers. Taking the above configuration as an example, this example enables the ssh, ttyd, and rsync tools. At this point, you need to select and fill in the parameters:

  • Target Container: The container where the tool will be started.
  • SSH Public Key: The public key used for SSH communication, which will be passed into the container through environment variables VKUBE_SSH_PUB_KEY.
  • TTYD Username: The ttyd requires users to have an account and password, so users are forced to enter a username. If it does not exist, a user and password will be created in the container. If the user already exists, the password will be updated. It will be passed into the container through environment variables VKUBE_TTYD_USER.
  • TTYD Password: The ttyd requires users to have an account and password, and the password must meet the requirements of at least one uppercase letter, one lowercase letter, one number, one special character, and a minimum of 8 characters. It will be passed into the container through environment variables VKUBE_TTYD_PASSWORD.

After the configuration is successful, the user's service will restart and enable the following tools. You will need to wait for a while for the service to restart, and you can see the information about the enabled tools as follows: The image presents the information display after successfully configuring and enabling tools in VKUBE, showing the status of the activated tools. Users can view details about the enabled tools, confirming that the service has restarted and is ready for use, along with any relevant access information or instructions.

In the Access Info section, you can see the access methods and restrictions as follows: The image illustrates the Access Info section in VKUBE, detailing the various access methods and restrictions for users. It includes SSH and Rsync command examples, along with explanations on how to replace placeholders with user-specific information, as well as the TTYD URL for web access, providing users with the necessary instructions to connect to their containers securely.

  • SSH Command: ssh -i $YOUR-PRIVATE-KEY -o ProxyCommand="openssl s_client -quiet -servername %h -connect ssh-67e9f03c2de346d39fe0a35f.europe.vkube.vcloud.systems:443" root@ssh-67e9f03c2de346d39fe0a35f.europe.vkube.vcloud.systems
  • Explanation: Users will replace their own $YOUR-PRIVATE-KEY file path, and according to this command, they can access it.
  • Rsync Command: rsync -avz -e "ssh -i $YOUR-PRIVATE-KEY -o ProxyCommand='openssl s_client -quiet -servername %h -connect ssh-67e9f03c2de346d39fe0a35f.europe.vkube.vcloud.systems:443'" /local/path/ root@ssh-67e9f03c2de346d39fe0a35f.europe.vkube.vcloud.systems:/remote/path/
  • Explanation: Users will replace their own $YOUR-PRIVATE-KEY file path, change /local/path/ to the local file path, and replace /remote/path/ with the file path on the container. According to this command, they can complete the file transfer from the local to the remote container. Other usage can refer to the rsync usage method.
  • TTYD URL: https://ttyd.europe.vkube.vcloud.systems/67e9f03c2de346d39fe0a35f
  • Explanation: Clicking the button will redirect to the page to access this link, where a username and password need to be filled in for login.

Tool Compatibility Matrix

Ubuntu-based image Alpine-based image Debian-based image Other
sshd Yes Yes Yes Unknown
rsync Yes Yes Yes Unknown
ttyd Yes Yes No Unknown

If you want to disable the current tool injection usage or change the configured container or parameters, you need to first disable the current tool injection, then reconfigure and start it, as shown in the image below:

The image illustrates the procedure for disabling the current tool injection feature in VKUBE, highlighting the necessary steps users must take to first disable the existing configuration before making any changes to the container or parameters. This process ensures that users can effectively manage and reconfigure their tool injection settings as needed.

Subdomain Access

The subdomain access feature allows you to access services deployed on the platform through custom subdomains. With simple configuration, you can specify different access paths for different container ports, making services easier and safer to access and manage. These subdomains are automatically allocated, so you don't need to provide additional domains, and all communication is conducted via HTTPS.

When deploying your service, you can configure the Path Routing field to enable HTTPS access to your service through a domain name.

In Path Routing, select Add Routing to add new routes. New routes contain three fields that need to be configured, including "Container Port", "Path", and "Rewrite".

This image shows a path routing configuration interface titled “Path Routing”. There are two routing rules displayed: the first rule maps to container port 80 with the path “/”, and rewrite is not enabled; the second rule also maps to container port 80 with the path “/test”, and rewrite is enabled. On the right side, each routing rule has a delete button. In the upper right corner of the interface, there is an “Add Routing” button to add new routing rules.

"Container Port" is the port number inside the container to which the routing rule forwards traffic. Container Port can be duplicated. Multiple routing rules can match the same port.

"Path" refers to the URL path, which forwards access to that path to the container. At the API level, users access the service through this path. When forwarding to the container, if the "rewrite" option is not configured, the access path will not be changed. Path configuration follows these rules:

  • Path uses prefix matching during forwarding. That is, when accessing any path, as long as any prefix matches a configured Path, forwarding will occur.
  • Path follows longest prefix matching during forwarding. When multiple configured Paths satisfy forwarding conditions, longer Paths have higher priority.
  • Path cannot be duplicated. Multiple rules cannot use the same Path, even for different containers.

"Rewrite" is an option for whether to remove the first-level routing. When checked, it will discard the first level when accessing the Path before forwarding to the container. For example, when Path is configured as "/api/v1" and a user accesses "/api/v1/detail", the service will receive access to "/v1/detail".

After configuration and successful deployment, entering the "view containers" interface will display the subdomain for this service.

This image shows a configuration item labeled “SubDomain”. Below it, a full subdomain is displayed: 68aeccc357eb0fc8e383c262.europe.test.vkube.vcloud.systems. On the right side of the subdomain, there is a copy icon button that allows the user to quickly copy the subdomain.

The configured routing rules are displayed in the "Path Routing" table. By accessing the combination of domain and path provided by the subdomain, you can access your service via HTTPS.

This image shows a path routing configuration table titled “Path Routing (2)”. The table has three columns: “Container Port”, “Path”, and “Rewrite”.First row: container port is 80, path is “/”, and rewrite is set to Off.Second row: container port is 80, path is “/test”, and rewrite is set to On.

This images shows a request for "https://68aeccc357eb0fc8e383c262.europe.test.vkube.vcloud.systems/test" and successfully shows "Welcome to nginx!" page.

Last Updated: 10/11/2025, 1:34:10 AM