# Volcano Documentation

Volcano is AI infrastructure for agents and applications: functions, durable functions, sandboxes, databases, auth, realtime, storage, hosting, and locks.

Volcano is AI infrastructure for agents and applications. It gives you functions, durable functions, sandboxes, databases, authentication, realtime, file storage, frontend hosting, and distributed locks, all through one API.

## Quick start

New to Volcano? Start here:

1. [Quickstart guide](https://docs.volcano.dev/platform/getting-started/quickstart.md) — Deploy your first function in 5 minutes
2. [Core concepts](https://docs.volcano.dev/platform/getting-started/overview.md) — Understand how Volcano works
3. [Installation](https://docs.volcano.dev/platform/getting-started/installation.md) — Set up the SDK and CLI

## Ways to use Volcano

Everything Volcano does is one API. The dashboard, the CLI, the SDKs, and the
MCP server are all ways of calling it — see
[Ways to use Volcano](https://docs.volcano.dev/platform/interfaces/README.md) for which to reach for.

| Interface  | Reach for it when                                                                                                | Documentation                                                   |
| ---------- | ---------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------- |
| Dashboard  | Exploring, one-off changes, reading logs and usage                                                               | [Dashboard](https://docs.volcano.dev/platform/interfaces/dashboard.md)                            |
| CLI        | Deploying from a terminal or CI, migrations, local development                                                   | [CLI reference](https://docs.volcano.dev/cli.md)                                           |
| SDK        | Writing application code — auth, queries, storage, realtime, durable functions, sandboxes, and distributed locks | [JavaScript](https://docs.volcano.dev/sdk/js.md), [Python](https://docs.volcano.dev/sdk/python.md), [Ruby](https://docs.volcano.dev/sdk/ruby.md) |
| REST API   | Automating what the CLI does not cover                                                                           | [API reference](https://docs.volcano.dev/platform/api-reference/overview.md)                      |
| MCP server | Letting an AI agent inspect or change one project                                                                | [MCP server](https://docs.volcano.dev/platform/interfaces/mcp.md)                                 |

## Core features

### Functions

Agents and APIs in Node.js, Python, or Ruby, invoked over HTTP and deployed to the project's regions, with cron schedules and the caller's identity on the request.

| Guide                                                       | Description                          |
| ----------------------------------------------------------- | ------------------------------------ |
| [Overview](https://docs.volcano.dev/platform/functions/overview.md)                           | What functions are and how they work |
| [Creating functions](https://docs.volcano.dev/platform/functions/creating-functions.md)       | Deploy your first function           |
| [Invoking functions](https://docs.volcano.dev/platform/functions/invoking-functions.md)       | Call functions from your app         |
| [Scheduled invocations](https://docs.volcano.dev/platform/functions/scheduled-invocations.md) | Run a function on a cron schedule    |
| [User context](https://docs.volcano.dev/platform/functions/user-context.md)                   | Access authenticated user data       |
| [Environment variables](https://docs.volcano.dev/platform/functions/environment-variables.md) | Configure secrets and settings       |
| [Logs](https://docs.volcano.dev/platform/functions/logs.md)                                   | View and filter function logs        |

### Durable functions

JavaScript or Python workflows that checkpoint each step and resume for up to a year, with waits, retries, approvals, idempotent starts, and cron schedules.

| Guide                                                                       | Description                                                    |
| --------------------------------------------------------------------------- | -------------------------------------------------------------- |
| [Durable functions](https://docs.volcano.dev/platform/functions/durable-functions.md)                         | Long-running work that checkpoints and resumes                 |
| [Durable approvals](https://docs.volcano.dev/platform/functions/durable-approvals.md)                         | Pause a workflow until a person approves or denies it          |
| [Durable messages](https://docs.volcano.dev/platform/functions/durable-messages.md)                           | Send messages to a running workflow and read what it publishes |
| [Durable callbacks](https://docs.volcano.dev/platform/functions/durable-callbacks.md)                         | Let another system complete a waiting step with a token        |
| [Developing durable functions locally](https://docs.volcano.dev/platform/guides/durable-functions-locally.md) | Run one on your machine, then deploy it unchanged              |

### Sandboxes

Isolated sessions where agents and applications run commands, keep files, and serve HTTP, from a published preset or a custom template.

| Guide                                                                    | Description                                                     |
| ------------------------------------------------------------------------ | --------------------------------------------------------------- |
| [Overview](https://docs.volcano.dev/platform/sandboxes/overview.md)                                        | What Sandboxes do, who can use them, and how runtime is billed  |
| [Sandboxes guide](https://docs.volcano.dev/platform/guides/sandboxes.md)                                   | Sessions, files, HTTP access, user grants, and custom templates |
| [Deploy a custom template](https://docs.volcano.dev/platform/guides/sandboxes.md#deploy-a-custom-template) | Build your own image from a `Dockerfile` fragment               |
| [CLI](https://docs.volcano.dev/cli/sandboxes.md)                                                    | Run commands and manage sessions from a terminal                |

### Databases

PostgreSQL that auto-scales and branches in under a minute, with row-level security, a browser query builder or a direct connection, and backups with point-in-time restore on SUPERAGENT.

| Guide                                                 | Description                                                                            |
| ----------------------------------------------------- | -------------------------------------------------------------------------------------- |
| [Overview](https://docs.volcano.dev/platform/databases/overview.md)                     | Database features and access methods                                                   |
| [Quick start](https://docs.volcano.dev/platform/databases/quick-start.md)               | Set up a database in 5 minutes                                                         |
| [Branching](https://docs.volcano.dev/platform/databases/branching.md)                   | Fork a copy of a database for every pull request, migration, or test run               |
| [Backups and restore](https://docs.volcano.dev/platform/databases/backups.md)           | Back up a database and restore it to a backup or a point in time (SUPERAGENT)          |
| [Importing data](https://docs.volcano.dev/platform/databases/importing-data.md)         | Move an existing PostgreSQL database in with `pg_dump`, and bulk-load rows with `COPY` |
| [Query Builder API](https://docs.volcano.dev/platform/databases/query-builder-api.md)   | Query from the browser with the SDK                                                    |
| [REST API](https://docs.volcano.dev/platform/databases/rest-api.md)                     | HTTP endpoints for database operations                                                 |
| [Direct connection](https://docs.volcano.dev/platform/databases/direct-connection.md)   | Connect from a function with user impersonation                                        |
| [Row-level security](https://docs.volcano.dev/platform/databases/row-level-security.md) | Secure data with policies                                                              |
| [Auth helpers](https://docs.volcano.dev/platform/databases/auth-helpers.md)             | SQL functions for user context                                                         |

### Authentication

Email and password, Google, GitHub, Microsoft, and Apple, plus anonymous users that convert to a permanent account.

| Guide                                                     | Description                      |
| --------------------------------------------------------- | -------------------------------- |
| [Overview](https://docs.volcano.dev/platform/authentication/overview.md)                    | Authentication features and flow |
| [Quickstart](https://docs.volcano.dev/platform/authentication/quickstart.md)                | Add auth to your app             |
| [Concepts](https://docs.volcano.dev/platform/authentication/concepts.md)                    | Users, tokens, and sessions      |
| [OAuth providers](https://docs.volcano.dev/platform/authentication/oauth-providers.md)      | Google, GitHub, Microsoft, Apple |
| [Anonymous users](https://docs.volcano.dev/platform/authentication/anonymous-users.md)      | Guest access with upgrade path   |
| [Password reset](https://docs.volcano.dev/platform/authentication/password-reset.md)        | Forgot password flow             |
| [Configuration](https://docs.volcano.dev/platform/authentication/configuration/overview.md) | Customize auth behavior          |

### Storage

Buckets that are private by default, with access policies, per-file public links, and resumable uploads.

| Guide                                       | Description                      |
| ------------------------------------------- | -------------------------------- |
| [Overview](https://docs.volcano.dev/platform/storage/overview.md)             | Storage features and quick start |
| [JavaScript SDK](https://docs.volcano.dev/platform/storage/javascript-sdk.md) | Complete SDK reference           |
| [Policies](https://docs.volcano.dev/platform/storage/policies.md)             | RLS-style access control         |
| [Buckets](https://docs.volcano.dev/platform/storage/buckets.md)               | Creating and managing buckets    |

### Distributed locks

Renewable leases so one holder runs a task, with a fencing token the protected resource can check.

| Guide                                     | Description                                              |
| ----------------------------------------- | -------------------------------------------------------- |
| [JavaScript SDK](https://docs.volcano.dev/platform/locks/javascript-sdk.md) | Coordinate backend workers with renewable project leases |

### Realtime

Postgres changes, broadcast, and presence over WebSockets.

| Guide                                            | Description                                |
| ------------------------------------------------ | ------------------------------------------ |
| [Overview](https://docs.volcano.dev/platform/realtime/overview.md)                 | Realtime features and the connection model |
| [Postgres changes](https://docs.volcano.dev/platform/realtime/postgres-changes.md) | Subscribe to database changes              |
| [Broadcast](https://docs.volcano.dev/platform/realtime/broadcast.md)               | Send messages between clients              |
| [Presence](https://docs.volcano.dev/platform/realtime/presence.md)                 | Track who is online                        |
| [JavaScript SDK](https://docs.volcano.dev/platform/realtime/javascript-sdk.md)     | Client SDK reference                       |
| [Security](https://docs.volcano.dev/platform/realtime/security.md)                 | Channel authorization and limits           |

### Frontends

Next.js, static or server-rendered, served from the edge. A failed build never replaces the live version. Custom domains are on every plan.

| Guide                                      | Description                                              |
| ------------------------------------------ | -------------------------------------------------------- |
| [Overview](https://docs.volcano.dev/platform/frontends/overview.md)          | How frontends build, deploy, and serve                   |
| [Deploy a frontend](https://docs.volcano.dev/platform/frontends/deploy.md)   | Deploy a Next.js site with the CLI                       |
| [Frontend previews](https://docs.volcano.dev/platform/frontends/previews.md) | Deploy a build to its own URL, then promote or roll back |

### Security

| Guide                                                                     | Description                                                |
| ------------------------------------------------------------------------- | ---------------------------------------------------------- |
| [Anon keys](https://docs.volcano.dev/platform/authentication/security/anon-keys.md)                         | Public keys for frontend use                               |
| [Service keys](https://docs.volcano.dev/platform/authentication/security/service-keys.md)                   | Secret keys with admin access                              |
| [Project access tokens](https://docs.volcano.dev/platform/authentication/security/project-access-tokens.md) | Project-scoped API credentials for CI, scripts, and agents |
| [Token types](https://docs.volcano.dev/platform/authentication/security/token-types.md)                     | Understanding different token types                        |
| [Security checklist](https://docs.volcano.dev/platform/guides/security-checklist.md)                        | Production security guide                                  |

### Projects

| Guide                                                      | Description                                                                          |
| ---------------------------------------------------------- | ------------------------------------------------------------------------------------ |
| [Deploy from GitHub](https://docs.volcano.dev/platform/projects/git-deploy.md)               | Connect a repo and deploy on every push to the production branch                     |
| [Export your source to GitHub](https://docs.volcano.dev/platform/projects/export-to-git.md)  | Initialize an empty repository with a project's stored source and deploy it from Git |
| [Configuration manifest](https://docs.volcano.dev/platform/projects/configuration.md)        | Declarative `volcano-config.yaml` reference (config deploy/pull)                     |
| [Variable Environments](https://docs.volcano.dev/platform/projects/variable-environments.md) | Create and manage Project variable Environments                                      |
| [Project health](https://docs.volcano.dev/platform/projects/health.md)                       | Check project health and review operation failures and blocked storage use           |
| [Notifications](https://docs.volcano.dev/platform/projects/notifications.md)                 | Get an email or a signed webhook when a scheduled function keeps failing             |

## API reference

Complete REST API documentation for all Volcano endpoints.

| Reference                                         | Description                                               |
| ------------------------------------------------- | --------------------------------------------------------- |
| [Overview](https://docs.volcano.dev/platform/api-reference/overview.md)             | API basics and authentication                             |
| [Using the API](https://docs.volcano.dev/platform/api-reference/using-the-api.md)   | Create an access token, deploy, read logs, handle errors  |
| [OpenAPI specification](https://docs.volcano.dev/platform/api-reference/openapi.md) | Fetch the machine-readable contract and generate a client |
| [Authentication](https://docs.volcano.dev/platform/api-reference/authentication.md) | Auth headers and token types                              |
| [Auth endpoints](https://docs.volcano.dev/platform/api-reference/auth-endpoints.md) | Signup, signin, and user management                       |
| [Projects](https://docs.volcano.dev/platform/api-reference/projects.md)             | Project management endpoints                              |
| [Functions](https://docs.volcano.dev/platform/api-reference/functions.md)           | Function deployment and invocation                        |
| [Databases](https://docs.volcano.dev/platform/api-reference/databases.md)           | Database provisioning endpoints                           |
| [Storage](https://docs.volcano.dev/platform/api-reference/storage.md)               | Storage bucket and object endpoints                       |
| [Project locks](https://docs.volcano.dev/platform/api-reference/locks.md)           | Backend lease endpoints                                   |
| [Notifications](https://docs.volcano.dev/platform/api-reference/notifications.md)   | Alert settings, webhook secret rotation, and test sends   |
| [Errors](https://docs.volcano.dev/platform/api-reference/errors.md)                 | Error codes and handling                                  |

## Guides

Step-by-step guides for common tasks.

| Guide                                                      | Description                                                                         |
| ---------------------------------------------------------- | ----------------------------------------------------------------------------------- |
| [Deploy to production](https://docs.volcano.dev/platform/guides/production.md)               | Ship your project to the cloud                                                      |
| [Plans and limits](https://docs.volcano.dev/platform/guides/plans-and-limits.md)             | HOBBY vs SUPERAGENT limits by resource                                              |
| [Database migrations](https://docs.volcano.dev/platform/guides/migrations.md)                | Apply schema changes once each, rehearsed and backed up, or with the CLI            |
| [Deployment performance](https://docs.volcano.dev/platform/guides/deployment-performance.md) | Deployment latency objectives, phases, and telemetry                                |
| [Sandboxes](https://docs.volcano.dev/platform/guides/sandboxes.md)                           | Run commands and HTTP services in isolated sessions with plan-based runtime pricing |
| [Issues](https://docs.volcano.dev/platform/guides/issues.md)                                 | See runtime errors grouped into issues, and resolve or ignore them                  |
| [LavaFlow](https://docs.volcano.dev/platform/guides/lavaflow.md)                             | Have AI diagnose your issues, open pull requests that fix them, and merge them      |

## Examples

Working code examples in the [examples/](https://docs.volcano.dev/platform/examples/README.md) directory:

- **nodejs-hello/** — Simple Node.js function
- **python-data/** — Python data processing
- **frontend-auth-nextjs/** — Next.js frontend with authentication
- **function-sdk-example/** — Using the SDK inside a function
- **realtime-chat/** — Real-time chat with presence tracking

## Getting help

- [API reference](https://docs.volcano.dev/platform/api-reference/overview.md) — REST API endpoints, authentication, and errors
