Requirements
- Deno 2.8+ installed locally
- Account on Vertra Cloud
- A
deno.json(ordeno.jsonc) at the project root
Project Structure
deno.json, deno.jsonc or deno.lock at the root of the project. Dependencies are installed with deno install, and the app runs with full permissions inside its container.
Configuration
deno.json
vertracloud.config
MAIN is the entry file. With a deno.json, deno.jsonc or deno.lock at the root the project is always detected as Deno, even if it also has a package.json. Add LANGUAGE=deno only for a Deno project without any of these files.
Example: HTTP Server
Deploy
- Dashboard
- CLI
- VS Code
- Compress the project into a
.zipor push it to GitHub. - In the dashboard, click New Project and upload the
.zipor paste the repository URL. - In Build, check the runtime (Deno), the main file (
main.ts) and the memory. Start and build commands are under Advanced settings. - Add your environment variables in Environment.
- In Network, turn on web publishing so the app gets a
*.vertraweb.appaddress (Pro plan or higher, 512 MB of memory). The app must listen on port 80. - Review and deploy. Follow the output in the Logs tab.
Available Versions
Notes
- Dependencies: declare them in
deno.jsonand commitdeno.lockso installs are reproducible - Permissions: the app runs with full permissions, so
Deno.env, network and file access work without flags - Environment variables: use
Deno.env.get("KEY") - Logging: use
console.log()for logs that appear in real time - Listen on
0.0.0.0on port 80
Common Errors
- Entry file not found:
MAINmust point to the entry file relative to the root of the zip, for examplemain.ts. - Detected as another language: a Deno project with none of
deno.json,deno.jsoncordeno.lockat the root is not recognized. Add one of them, or setLANGUAGE=denoinvertracloud.config. - App starts but the site doesn’t open: the server must listen on
0.0.0.0and port 80, not onlocalhost.