# Overview

Deploy BuildBase on your own infrastructure with full data sovereignty.

## What is Self-Hosted?

Self-hosted mode lets you run the BuildBase tenant server on your own infrastructure — your cloud, your data center, or on-premises. You get full control over your data, security policies, and network configuration while using the BuildBase dashboard to manage everything.

## How It Works

BuildBase uses a split architecture:

- **Central Server** — Hosted by us. Handles organization management, authentication, and the dashboard.
- **Tenant Server** — Hosted by you. Stores and processes all your organization's data — users, emails, workflows, subscriptions, and more.

The dashboard connects to your tenant server over the internet to display and manage your data. Your server communicates with the central server using ES256 signed tokens for secure authentication.

## Requirements

| Requirement | Details |
|---|---|
| **Server** | Linux (Ubuntu 20.04+ recommended), 2 GB RAM, 2 vCPU minimum |
| **Docker** | Docker Engine 20+ and Docker Compose v2 |
| **Database** | MongoDB 6.0+ (managed or self-hosted) |
| **Redis** | Redis 7+ (included in quick start compose) |
| **Network** | Public IP or domain name with ports 80/443 accessible |

## Deployment Options

### Quick Start (Testing)

One `docker-compose.yml` file that bundles MongoDB, Redis, and the app server. Everything runs locally — no external services needed.

```bash
docker compose up -d
```

[Get started with Quick Start](/self-hosted/quick-start)

### Production

Separate services with Nginx load balancer, multiple replicas, external MongoDB, SSL, and health monitoring.

[Production deployment guide](/self-hosted/production)

## Docker Image

The official Docker image is available on Docker Hub:

```bash
docker pull buildbaseapp/tenant-server:latest
```

- **Image**: [`buildbaseapp/tenant-server`](https://hub.docker.com/r/buildbaseapp/tenant-server)
- **Platform**: `linux/amd64`
- **Base**: Node.js 20 Alpine
- **Size**: ~500 MB
