Skip to main content

What is an application on Vertra Cloud?

An application on Vertra Cloud is your code running in its own isolated container, with dedicated memory and storage and — when published on the web — an exclusive *.vertraweb.app subdomain over HTTPS. Vertra Cloud is a Brazilian application hosting platform (PaaS), and the application is the unit it deploys, restarts, snapshots and bills through your plan’s RAM.

What types of application are there?

Two: website, which listens on an HTTP port and gets a subdomain, and bot, a background process with no exposed port. The type is not fixed at creation — publishing or unpublishing an application switches it.
Web applications accessible via HTTP/HTTPS. They receive a subdomain and can have a custom domain.Examples: REST APIs, Next.js applications, dynamic sites, dashboards.
The type is not permanent. An application created without web publishing can be published later, and a published one can be turned back into a private application, from the application’s Network settings or through Publish Application on the Web.
Turning publishing on or off recreates the container, so the application restarts. And unpublishing releases the subdomain — it is not reserved for you, so someone else can take it.
You can also create an application from a template: a ready-made project you deploy in a few clicks, sometimes together with its database as a stack.

Supported Languages

The platform supports deploying applications in various languages. The runtime environment is configured automatically based on the selected language.

JavaScript

Node.js 22, 24 with npm/yarn

TypeScript

Node.js 22, 24 via ts-node

Python

3.11, 3.12, 3.13, 3.14 with pip

Go

1.26, 1.27 with go mod

Rust

1.99 with cargo

Java

17, 21 with maven/gradle

PHP

8.2, 8.3, 8.4 with composer

Ruby

3.3, 3.4 with bundler

Bun

1.3, 1.4

Deno

2.8, 2.9 with deno.json

.NET (C#)

10.0 with dotnet publish

Elixir

1.20 (OTP 28) with mix, Phoenix supported

Static

HTML, CSS, pure JS
The platform detects the language from the manifest files at the root of the project. To force one, set LANGUAGE=<slug> in vertracloud.config or send language when you create the application.
Available versions come from List Runtimes. Use recommended for the stable version, latest for the newest, or pin one of the listed versions by number. A version that doesn’t exist for the application’s language is refused with INVALID_VERSION.

Lifecycle

An application goes through the following states:

Build Command

An optional build_command field, available on every plan, runs after dependency installation and before the application starts — on every deploy that installs or changes code: creation, ZIP upload, GitHub deploy, dependency reinstall, or a change to the command itself. A plain restart skips it when the previous build already succeeded with the same command. The build runs in an isolated build environment: 2× the application’s RAM (min 1,024 MB, max 4,096 MB), with a 10-minute timeout. With a build command, devDependencies are installed too. A failing command fails the deploy (BUILD_FAILED); running past the timeout does too (BUILD_TIMEOUT). A new application is still created, stopped, so you can read the build output in its logs, fix it and start again. Applications must listen on port 80. When creating an application from a ZIP in the dashboard, the platform suggests the build and start commands above from the dependencies declared in package.json (Next.js, Nuxt, SvelteKit, Remix, React Router, Astro, Gatsby and Vite) — you can edit both before creating.

Configuration File

An optional vertracloud.config file (KEY=value, one per line) at the root of the uploaded ZIP pre-fills the creation flow: NAME, DESCRIPTION, MAIN, MEMORY, BUILD, START and SUBDOMAIN. The actual configuration lives in the dashboard (Settings tab). The file is not stored in the application volume; it is generated from your current settings when you download the project or create a snapshot. Every key, its limits and what can change later are in Configuration.

File Manager

The panel includes an integrated file manager with syntax highlighting and code editing that allows:
  • Drag-and-drop of individual files or ZIP
  • Automatic file and directory validation
  • Automatic ZIP file extraction
In the Upload changes dialog, the Commit destination field starts with the folder you have open in the file manager. Use Select to pick any other folder of the application. Files are written to that folder, and a ZIP is extracted inside it, merged with the files already there rather than replacing the folder. The API accepts the same choice through the path query parameter of Upload Files to Application.

Environment Variables

Environment variables are injected into the container at startup and become available as system variables. Manage via dashboard or API.
Access the application → Environment Variables → Add, edit or remove variables.

Snapshots

Snapshots are copies of your application’s state at a specific moment. Allows you to create manual snapshots, restore previous snapshots and download the content of any snapshot.
Snapshot restoration has a cooldown period between operations to prevent excessive resource usage.

Custom Domain

Each published application receives a default subdomain (ex: my-app.vertraweb.app). You can also connect your own domains with automatic SSL, as many as your plan allows. Adding or changing a domain never restarts the application. Unpublishing the application removes its custom domains along with the subdomain; delete their CNAME and TXT records at your DNS provider afterwards.
1

Add Domain

In the application’s Network tab, add the domain. The root domain or www is added together with its automatic companion.
2

Configure DNS

Point the DNS records as indicated in the panel.
3

Verification and SSL

The platform verifies the DNS configuration and provisions the SSL certificate automatically.
Each domain can use its own port, path prefix or redirect. See Connect custom domains.
Custom domains are available starting from the Starter 2 plan (1 domain per application); larger plans allow up to 20 (2 on Pro, 5 on Business, 20 on Enterprise). The automatic www doesn’t count.

Auto-Restart and Crash Detection

Auto-restart is on by default for every plan — there’s no toggle and nothing to configure:
  • Containers that exit unexpectedly are restarted automatically
  • Normal exit codes (0) and syntax/dependency errors do not trigger restart
  • A 1-hour cooldown is applied between consecutive restarts
  • The container must be online for at least 60 seconds to count as stable
  • If a container crashes 5 times in 10 minutes, auto-restart is disabled for 24 hours
  • The system records the reason for the auto-restart shutdown
  • After 24 hours, auto-restart resumes automatically

Real-Time Logs

The dashboard terminal shows the application’s output live; when the application is stopped, it shows the latest logs. From outside the dashboard, use vertra logs -f in the CLI or Application Logs.

Metrics

The panel displays real-time performance metrics:

CPU

Container CPU usage percentage in real-time.

Memory

Current RAM consumption vs. allocated limit.

Network

Bytes received and sent with total accumulated.
Last modified on November 1, 2026