virtuscloud.app configuration file is the single source of truth for how Virtus Cloud runs your application. It tells the platform which runtime version to use, how much memory to allocate, what file or command to execute at startup, and how to present your application in the dashboard. Every project you deploy must include this file.
Creating the config file
Create a plain-text file namedvirtuscloud.app or virtuscloud.config at the root of your project directory. The file uses a simple KEY=VALUE format — one parameter per line, no quotes required.
Choose a file extension
The configuration file supports two extensions:
.app and .config. Either works on all platforms.On macOS, we recommend using the
.config extension because macOS treats .app as an application bundle by default.Create the file at your project root
Place the config file in the same directory as your main application file. When you ZIP your project for upload, the config file must be at the top level of the archive — not inside a subfolder.
Configuration parameters
MAIN [*]
Defines the entry-point file of your application. Virtus Cloud uses this value to construct the default startup command for your runtime.
Subdirectory example
Maximum 32 characters.
This parameter is ignored when the
START parameter is set — START takes full control of the startup command.MEMORY [*]
Sets the amount of RAM (in megabytes) allocated to your application.
The minimum memory for a bot is 256 MB. The minimum for a website or API is 512 MB.
The value must be a whole number in megabytes (MB).
VERSION [*]
Specifies the runtime version to use. You can set this to
recommended, latest, or a specific version string.| Language | recommended | latest |
|---|---|---|
| JavaScript (Node.js) | 22.18.0 | 24.5.0 |
| Python | 3.13.6 | 3.13.6 |
| Java | JDK 23 | JDK 25 |
| Elixir | 1.18.4 | 1.18.4 |
| Rust | 1.89.0 | 1.89.0 |
| PHP | 8.4.11 | 8.4.11 |
| Go | 1.24.6 | 1.24.6 |
| C# | 9.0.1 | 9.0.1 |
| HTML/CSS | Build 10-02-2025 | Build 10-02-2025 |
DISPLAY_NAME [*]
Sets the human-readable name for your application as it appears in the dashboard.
Maximum 32 characters.
DESCRIPTION
Provides a short description of your application, visible in the dashboard.
Maximum 280 characters.
AUTORESTART
Controls whether Virtus Cloud automatically restarts your application if it exits unexpectedly.
Defaults to
false when not set.SUBDOMAIN
Assigns a subdomain to your web application. Setting this parameter makes your app available at
[subdomain].virtusapp.cloud and registers it as a website on the platform.With
SUBDOMAIN=myapp, your application is reachable at myapp.virtusapp.cloud.Maximum 63 characters.
Omit this parameter for bots and background services that do not serve HTTP traffic.
START
Defines a fully custom startup command. When set, this value overrides the default platform command and the
MAIN parameter is ignored.Build then start
Maximum 256 characters.
Applications uploaded after June 19, 2025 can update the
START field from the dashboard without re-uploading the entire project.Parameter limits
| Parameter | Character limit |
|---|---|
MAIN | 32 characters |
DISPLAY_NAME | 32 characters |
DESCRIPTION | 280 characters |
START | 256 characters |
SUBDOMAIN | 63 characters |
Example configurations
Bots
Minimum required configuration
Full bot configuration with all optional parameters
Bot with custom startup command
Websites
Website URL format:
[SUBDOMAIN].virtusapp.cloudFull website configuration
Next.js website
For Next.js projects, set
MAIN=next.config.js so the platform correctly identifies the project as JavaScript or TypeScript. Any .ts or .tsx file in the project also works for this purpose.