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

# Managing VPS Apps

> SSH, browser console, power controls, root password, resize, snapshots, usage, custom domains, deletion, and the billing-paused state for VPS Apps

## VPS App Management

Every VPS server has its own manage page, opened with the **Manage** button of its dashboard row. The page lists these sections, in this order: overview, DevOps AI Agent (only for a server that has a deploy chat), Access, Power, Console, SSH Keys, Resize, Snapshots, Usage, Custom Domain (not on a server named Ubuntu VPS), and Danger Zone.

## Overview

The top of the page shows the project name with its status badge and a VPS badge, the app's name (a link to its marketplace page), the RAM, vCPU, and SSD of the server's tier, and a **Rename** button. A progress bar appears while the server is deploying. A server in Error shows a note with a link to open a support ticket.

## DevOps AI Agent

A server that has a deploy chat (from [AI Deploy](https://repocloud.io/docs/deployment/ai-deploy.md) or the "Deploy as VPS with AI system admin agent" switch) shows a **DevOps AI Agent** card, "Resume your deployment chat session", while the chat's status is active, completed, or ready. The card lists the repository and the chat's status, and **Resume Chat** reopens the chat. While the server is paused for a low balance the button is disabled ("Add funds to resume"). See [DevOps AI Agent](https://repocloud.io/docs/ai-agents/devops-ai-agent.md).

## Access

View your server's connection details:

- **Default Domain** — the free domain name RepoCloud gives the server, shown as a link to `https://<domain>`. The domain points at your server, so the link opens whatever the server serves there; HTTPS works only if the server has a certificate for the name, which the DevOps AI Agent is instructed to set up for a web application it installs. The row is absent when RepoCloud has no domain for the server yet
- **IPv4 Address** — your server's own public IPv4 address, included in the price, with a copy button. It is the address for SSH
- **SSH** — the command `ssh root@<IPv4>` opens a terminal as root. The page's tooltip says it needs the root password (**Email Me**, below); the private key from the deployment email is the other way in. The default domain stands in when no IPv4 is shown
- **App Credentials** — a row that appears only when a deployment returned application credentials, as a name and a value, except the root password (which has its own row). A plain server has none, so a server that the DevOps AI Agent set up shows no such row: the agent reports the logins it created in the chat, which **Resume Chat** shows again

> [!NOTE]
>
> Ubuntu VPS has no web application, so its Default Domain is listed as plain text and there is no clickable URL. SSH and the browser console are the ways in.

## Power Controls

Control your server's power state:

- **Power Off** — stops the server. Data and the IPv4 address are kept. A powered-off server is billed at the full hourly rate, like a running one; only deleting the server stops the charge. With a balance of zero, a paused server is eventually deleted, whether RepoCloud paused it or you powered it off
- **Power On** — starts a stopped server. Requires a positive balance. A server RepoCloud paused at a zero balance starts again by itself once funds are added
- **Reboot** — restarts the server; the page says it restarts without data loss. The button shows only while the server is Online

> [!WARNING]
>
> When RepoCloud has paused a server because the balance reached zero, the only power button is a disabled **Power On**. Add funds and the server starts again by itself. See [Billing](https://repocloud.io/docs/manage/billing.md) for details on the billing-paused state.

## Browser Console

**Open Console** opens a browser terminal on the server's serial console, for the times SSH does not work: the page says it is useful for boot issues or firewall lockouts. A serial console is attached to the server's serial port and not to its network. Sign in as root with the root password. The button is disabled while the server is paused for a low balance.

## SSH Keys

The SSH Keys card keeps the list of public keys of your account: you can add a key, see it, and remove it. The list does not install or remove a key on a running server; which keys can log in as root is decided by `~/.ssh/authorized_keys` on the server.

- RepoCloud generates an Ed25519 key pair for the server at deployment and the deployment email attaches a private key; the root password (**Email Me**) is always another way in
- **Add SSH Key** opens a dialog with Key Name and Public Key ("Paste the contents of your ~/.ssh/id_ed25519.pub file") and stores the public key in your account's list. To let a teammate or another machine log in to a running server, append the public key as a line of `~/.ssh/authorized_keys` on that server
- Removing a key from the card deletes it from your account's list (and, for a key RepoCloud generated at a deployment, from RepoCloud's records); it never edits a server's `~/.ssh/authorized_keys`. To revoke access, delete the key's line from that file on the server; a session that is already open keeps running
- The list belongs to your account and is the same on every VPS page; the list itself does not put a key on any server

## Root Password

The manage page never shows the root password. **Email Me** sends the current one to your account's email. **Reset** asks for a confirmation, generates a new password, emails it, and stops the old one at once. Reset is offered only while the server is Online, and the row appears only when RepoCloud holds a password for the server. A password changed inside the server with `passwd` is not known to RepoCloud; Reset replaces it.

## Resize

Change your server's CPU, RAM, and disk by selecting a different tier:

- Choose a larger tier and press **Apply Resize**. A tier that is sold out is disabled, a resize can be refused while the server is busy, and nothing can be resized while the server is paused for a low balance
- **Disk downgrades are not possible** — once you resize to a tier with a larger disk, you cannot go back to a smaller disk. The limit is the disk size, so a tier with the same disk is allowed whatever its CPU and RAM
- Tiers with smaller disk than your current tier are disabled with a tooltip explaining why

A tooltip beside the Resize title warns that a bigger disk is permanent: you cannot go back to a smaller disk.

## Snapshots

A snapshot is a point-in-time copy of the server's disk, kept with the server: deleting the server deletes its snapshots, so a snapshot is not an off-server backup. **Create Snapshot** makes one at once, with an automatic label (`snap-<date>-<time>`) and no confirmation.

- **Up to 5 snapshots** per instance; a sixth is refused, so delete one first
- **$0.10 per GB per month**, charged hourly while the snapshot exists, on the size of the data it captured (a 20 GB disk holding about 5 GB gives about 5 GB), not on the disk size
- **Create** a snapshot before risky changes (upgrades, configuration changes, experiments)

### Restoring a Snapshot

Click **Restore** next to the target snapshot (it is shown on active snapshots only and is disabled while the server is paused for a low balance). If newer snapshots exist between the target and the current state, the confirmation dialog lists exactly which snapshots will be permanently deleted by the rollback. The target snapshot itself always survives. Everything written to the disk after the snapshot is rolled back too.

The server restarts during restore (about 10–25 seconds, the dialog's estimate). The manage page reloads by itself when the restore finishes, and after 2 minutes at the latest.

> [!WARNING]
>
> Snapshot restore is destructive to newer snapshots. The confirmation dialog clearly lists what will be lost. Read it carefully before confirming.

## Usage

Monitor your server's resource consumption. Click **View Usage Charts** in the Usage section of the manage page:

- **CPU** — cores used per hour
- **RAM** — peak memory usage in MB
- **Disk** — storage usage in GB
- **Bandwidth** — outbound data transfer in MB per hour

The usage page displays four charts, with a selector for the last 24 hours, 7 days, or 30 days, auto-refreshing every 60 seconds. The figures are hourly.

## Custom Domain

Point your own domain at the server with a **CNAME** record from your domain to the server's default domain (the verification page also shows an `_acme-challenge` CNAME), then add the domain on the **Custom Domain** card. The certificate is issued automatically once DNS is verified. A server named Ubuntu VPS has no Custom Domain card.

The Custom Domain card puts your domain on the server's default web address, whatever the server serves there. It does not send a domain to a service inside Coolify or Dokploy, which have their own domain settings.

See [Custom Domains](https://repocloud.io/docs/manage/custom-domains.md) for the full setup guide.

## Danger Zone

Permanently delete your server, all data, snapshots, and IPv4 reservation. **Delete Server** stays available while the server is paused for a low balance.

1. Click **Delete Server** in the Danger Zone section
2. Type the project name to confirm; the name must match exactly, and the button stays disabled until it does
3. Click **Delete Server** in the dialog. The browser returns to the dashboard when the server is gone

> [!WARNING]
>
> Server deletion is permanent and cannot be undone. All data, snapshots, and the dedicated IPv4 address are released, and no further hourly charges follow. Back up any important data before deleting.

## Billing-Paused Lockdown

When RepoCloud has paused a server because the balance reached zero, the manage page disables most actions. Still available: **Delete Server**, **Delete Snapshot**, **Email Me**, **View Usage Charts**, and the copy buttons. A warning banner counts down the whole days left before RepoCloud deletes the server (never below 0) and links to Billing with "Top up your balance"; this page does not publish the length of the period.

Disabled actions during a billing pause:
- Power On is the only power button, and it is disabled; Power Off and Reboot are not offered
- Resize
- Create snapshot, restore snapshot
- Console access
- SSH key changes
- Rename, custom domain, and the **Resume Chat** button of the DevOps AI Agent card ("Add funds to resume"); the root password **Reset** is not offered at all

If the balance stays at zero, RepoCloud deletes the server with its data, snapshots, and IPv4 reservation. A server you powered off yourself is not exempt: with a zero balance it is deleted the same way. RepoCloud emails the owner when it pauses a server for a zero balance ("Urgent: Your RepoCloud VPS Has Been Paused"; a server its owner powered off gets no such email) and may send reminders before the deletion.

**Auto-resume**: when your balance goes above zero, the servers RepoCloud paused start again by themselves and you get the email `Your VPS <project> is Back Online`. A server you powered off yourself stays off until you press **Power On**.

## Next Steps

> **[DevOps AI Agent](https://repocloud.io/docs/ai-agents/devops-ai-agent.md)**
>
> Resume the chat and see what the agent does on your server

> **[Custom Domains](https://repocloud.io/docs/manage/custom-domains.md)**
>
> Connect your own domain to your VPS

> **[Billing](https://repocloud.io/docs/manage/billing.md)**
>
> Understand VPS billing and paused rates

> **[API and MCP](https://repocloud.io/docs/api/introduction.md)**
>
> Programmatically manage VPS instances via the REST API
