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

# Run your own instance

> Studiograph is self-hostable: one server process runs the web app, the API, the agent, and sync for a workspace.

Studiograph runs as a single server process. One process serves the web app, the API, the built-in agent, and sync for one workspace. There is nothing else to operate — no separate database server or frontend deployment.

## What you need

* **Node.js 22.19 or later** — or Docker, which bundles it.
* **A model provider API key** for the agent: Anthropic, OpenAI, Google, xAI, Groq, or OpenRouter. You can set it during first boot or later in the web app under Settings.
* **Optionally, Cloudflare R2** for uploaded file storage. By default files are stored on the server's disk — see [Storage & backups](/self-hosting/storage-and-backups).

## Three ways to run it

| Method                                             | Best for                                                    | Setup                                |
| -------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------ |
| [Bare `studiograph serve`](#quickstart-bare-serve) | Any machine you control — a laptop, a VPS, a home server    | Install the npm package, init, serve |
| [Docker](/self-hosting/docker)                     | A host with Docker; reproducible setup with a single volume | `docker compose up -d`               |
| [Railway](/self-hosting/railway)                   | Managed hosting with one command                            | `studiograph deploy railway`         |

## Quickstart: bare serve

```bash theme={null}
npm install -g @studiograph/server
studiograph init "My Studio"
cd my-studio
studiograph serve
```

`init` creates a workspace directory: a git repository at the root plus a `.studiograph/` config directory, with a baseline commit. `serve` starts the server on port 8000 (host `0.0.0.0`) — run it from the workspace directory. On first boot it prompts for your AI provider and model, and the first browser visit creates the owner account.

Use `--port`/`--host` (or the `PORT`/`HOST` env vars) to change the bind address. If the port is taken, the server auto-increments to the next free one. It opens your browser automatically unless `STUDIOGRAPH_NO_OPEN=1` is set.

## Next steps

<Columns cols={2}>
  <Card title="Docker" href="/self-hosting/docker">
    Run the server in a container with a single persistent volume.
  </Card>

  <Card title="Railway" href="/self-hosting/railway">
    Provision and deploy a managed instance with one command.
  </Card>

  <Card title="Configuration" href="/self-hosting/configuration">
    Environment variables and where settings live.
  </Card>

  <Card title="Storage & backups" href="/self-hosting/storage-and-backups">
    What to back up, and the one-command backup bundle.
  </Card>
</Columns>
