---
title: "Self-Hosted Deployment"
sidebar_label: "Deployment Quickstart"
description: "Run Gobii on your own infrastructure with Docker Compose and plan optional workers, channels, tools, MCP, and integrations."
---

Run Gobii locally or in your own infrastructure with Docker Compose. This guide covers initial setup, the first-run wizard, optional services, and key integration prerequisites.

## Installation and Set-up

### Prerequisites

- Docker Desktop (or Docker Engine) with at least 12 GB RAM allocated.
- Git.
- An API key for the LLM provider you plan to use.

### Clone and run

```bash
git clone https://github.com/gobii-ai/gobii-platform.git
cd gobii-platform
docker compose up --build
```

When the stack is up, open `http://localhost:8000`.

### First-run wizard

Complete the setup flow in the browser:

- Create the first admin account.
- Pick an LLM provider and model, then add the API key.
- Sign in and create your first Gobii.

You can update providers and models later in **Console → LLM Config**.

## Optional services

Gobii ships additional Compose profiles for self-hosted deployments:

- `beat`: scheduled jobs and background dispatchers.
- `email`: IMAP IDLE watchers for low-latency email triggers.
- `obs`: Flower (Celery observability UI).

Example:

```bash
docker compose --profile beat --profile email up --build
```

For inbound email configuration, see [Email And SMS](/using-gobii/email-and-sms).

## Operational capabilities to plan

Depending on which Gobii features you enable, your deployment may also need:

- Provider webhooks for inbound email, SMS, status, opens, and clicks.
- Public callback URLs for OAuth and MCP server authorization.
- File storage suitable for uploaded and generated files.
- Sandbox compute for custom tools if that feature is enabled.
- Pipedream configuration for connected apps and app-trigger webhooks.
- Worker capacity for browser work, tools, scheduled jobs, and background processing.
- LLM routing configuration for persistent agents and browser tasks.
- Eval-local or staging settings for quality checks before prompt, routing, or system-skill changes.

## Integrations

### Bright Data

Bright Data is preconfigured as a platform MCP server in self-hosted deployments. You only need to supply the token:

1. Set `BRIGHT_DATA_TOKEN` in your deployment environment.
   - For Docker Compose, place it in a `.env` file and pass it into the `web` and `worker` services (or use an `env_file`).
   - Optional: set `BRIGHT_DATA_WEB_UNLOCKER_ZONE` if you use Bright Data Web Unlocker.
   - Optional: add `WEB_UNLOCKER_ZONE_FALLBACK` to the Bright Data MCP server environment to retry failed search calls with a fallback Web Unlocker zone. If you want this sourced from the deployment environment, add it to the server metadata `env_fallback` map.
2. Restart the stack so the containers pick up the variable.
3. In the Console, open **MCP Servers** and enable Bright Data tools for the agents that should use them.

See [MCP Servers](/using-gobii/mcp-servers) for user/admin MCP server management and [Remote MCP](/developers/mcp-server) for Gobii's developer MCP endpoint.
