> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vertracloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Host

> Learn how to host your application on Vertra Cloud in just a few steps.

## Create an Account

Visit [vertracloud.app/login](https://vertracloud.app/login) and log in using one of the available options:

<CardGroup cols={2}>
  <Card title="Discord" icon="discord">
    Login with Discord account via OAuth.
  </Card>

  <Card title="GitHub" icon="github">
    Login with GitHub account via OAuth.
  </Card>

  <Card title="Google" icon="google">
    Login with Google account via OAuth.
  </Card>

  <Card title="Magic Link" icon="envelope">
    Login via magic link sent to your email.
  </Card>
</CardGroup>

## Access the Dashboard

After logging in, you will be automatically redirected to the dashboard. The panel displays your applications, databases and general account metrics.

## Create a New Project

Click on **"New Project"** and choose the type:

<Tabs>
  <Tab title="Application">
    Choose the code source:

    * **ZIP Upload** — Drag a ZIP file with your code
    * **GitHub** — Select a repository (including private repos)

    Then, configure:

    1. **Language** — JavaScript, Python, Go, Rust, etc.
    2. **Runtime Version** — Choose a specific version or use `recommended`
    3. **Main File** — Ex: `index.js`, `main.py`, `main.go`
    4. **Memory** — From 100 MB to 32 GB according to your plan
    5. **Billing Mode** — Fixed plan or credits per hour
    6. **Subdomain** — Customize your app's address (optional)
  </Tab>

  <Tab title="Database">
    Select the database type:

    * **PostgreSQL** 17 — SQL relational database
    * **MongoDB** 8.0 — NoSQL document-oriented
    * **Redis** 7 — Cache and in-memory store
    * **MySQL** 8.0 — Relational database with X509

    Configure desired memory and billing mode.
  </Tab>
</Tabs>

## `vertracloud.config` File (Optional)

You can define configuration directly in the source code by creating the `vertracloud.config` file at the project root:

```ini theme={null}
MAIN=index.js
START=npm start
SUBDOMAIN=my-app
VERSION=recommended
MEMORY=512
AUTORESTART=true
```

| Field         | Description           | Example                  |
| ------------- | --------------------- | ------------------------ |
| `MAIN`        | Main file             | `src/index.js`           |
| `START`       | Startup command       | `npm start`              |
| `SUBDOMAIN`   | Custom subdomain      | `my-app`                 |
| `VERSION`     | Runtime version       | `recommended`, `22.18.0` |
| `MEMORY`      | Memory in MB          | `512`                    |
| `AUTORESTART` | Auto-restart on crash | `true`                   |

## Prepare Code for Upload

Before compressing your project to ZIP, **exclude** the following directories:

<Tabs>
  <Tab title="JavaScript / TypeScript">
    Remove: `node_modules`, `.npm`, `package-lock.json`, `.next`, `dist`
  </Tab>

  <Tab title="Python">
    Remove: `venv`, `.cache`, `__pycache__`, `.env`
  </Tab>

  <Tab title="Go">
    Remove: `vendor` (if present)
  </Tab>

  <Tab title="Rust">
    Remove: `target`
  </Tab>

  <Tab title="Java">
    Remove: `target`, `.gradle`, `build`
  </Tab>

  <Tab title="PHP / Ruby">
    Remove: `vendor`
  </Tab>
</Tabs>

<Warning>
  The `vertracloud.config` file is **not** sent to the container. It is only read during the deployment process.
</Warning>

## Deploy

Drag the ZIP file to the upload area or connect via GitHub. The deployment process includes:

1. Upload code to the platform
2. Automatically build Docker image
3. Install dependencies (`npm install`, `pip install`, etc.)
4. Start container with configured resources
5. Assign subdomain and provision SSL

## Monitor Status

After deployment, access the application detail panel to:

* **Logs** — Monitor real-time output via integrated terminal
* **Status** — See if application is online, offline or in error
* **Metrics** — CPU, memory and network usage
* **Files** — Manage files with integrated Monaco editor
* **Settings** — Environment variables, auto-restart, subdomain

## Next Steps

<CardGroup cols={2}>
  <Card title="Deploy via GitHub" icon="github" href="/deploy-github">
    Set up automatic deployment from your repository.
  </Card>

  <Card title="Tutorials" icon="graduation-cap" href="/tutorials/introduction">
    Step-by-step guides for Node.js, Python, Go, Discord bots and more.
  </Card>

  <Card title="VSCode Extension" icon="window" href="/vscode-extension">
    Deploy directly from your editor.
  </Card>

  <Card title="Public API" icon="plug" href="/api-reference/introduction">
    Automate operations via RESTful API.
  </Card>
</CardGroup>
