# VPS

Back up any Linux server by discovering databases, files, containers, and repositories over SSH.

A VPS Stack connects to a server already registered in SimpleBackups and scans it for every resource worth protecting — MySQL, PostgreSQL, MongoDB, and Redis databases, web project files, Docker containers and volumes, Git repositories, and any additional paths you define. It is the right choice for self-hosted stacks, multi-site WordPress servers, and mixed-workload Linux boxes.

## Prerequisites

- A Linux server already added to SimpleBackups under **Servers** with SSH access configured
- The SSH user must have permission to read the paths you want to scan and to connect to local database sockets or ports

## Supported resource types

| Resource type | What gets backed up |
| --- | --- |
| Databases | MySQL, MariaDB, PostgreSQL, MongoDB, Redis — full dump |
| Web projects | File contents of `/var/www`, `/srv`, `/opt`, or custom paths |
| Home directories | File contents of `/home/*` |
| Docker containers | Running containers and their mounted volumes |
| Git repositories | Git repos detected under web directories |
| Custom paths | Any additional directory you specify |

## Discovery settings

| Setting | Default | What it does |
| --- | --- | --- |
| Discover Databases | On | Detects MySQL, PostgreSQL, MongoDB, Redis running on the server |
| Discover Web Projects | On | Scans `/var/www`, `/srv`, `/opt` |
| Discover Home Directories | Off | Scans `/home/*` |
| Discover Docker Containers | Off | Finds running containers and their volumes |
| Discover Git Repositories | Off | Finds Git repos in web directories |
| Custom Paths | — | Additional paths to scan |

## Setup guide

### Step 1 — Create a VPS Stack

Go to [Stacks](https://my.simplebackups.com/stack) → **Create Stack**, select **VPS** as the provider, and pick the linked server.

### Step 2 — Configure discovery

Toggle each resource type on or off, and add custom paths if the defaults don't cover your layout (for example, `/data/app` or `/opt/services`). You can adjust these settings later from **Stack → Configuration**.

### Step 3 — Run discovery

Click **Discover Resources**. SimpleBackups connects over SSH and returns a list of everything found. This typically takes 10–30 seconds.

### Step 4 — Review and enable

For each discovered resource, confirm or adjust the backup configuration (database name, path, credentials if needed) and click **Create Backup** to activate it. Backups then run on your Stack's schedule and land on the storage destination you selected.

## Troubleshooting

### Databases aren't discovered

- Verify the database service is actually running (`systemctl status mysql`, `pg_isready`, and so on)
- Ensure the SSH user can reach the local socket or port used by the database
- If you run databases inside Docker, enable **Discover Docker Containers** instead

### Web projects are missing

- Confirm your projects live in `/var/www`, `/srv`, or `/opt`; otherwise add the parent directory under **Custom Paths**
- Make sure the SSH user has read access to the target directories

### A custom path isn't picked up

- Paths must be absolute and readable by the SSH user
- Re-run discovery after adding a path — existing runs aren't re-scanned automatically

- [Stack Discovery Overview](https://simplebackups.com/docs/stack-discovery/overview): How Stacks scan your infrastructure and turn discovered resources into automated backups.
