Skip to content

Overview

Self-hosted

Running SurrealDB yourself is quick to start and gives you full control over storage, configuration, and placement. Everything needed to start a server and to import and export data is in the command-line tool, packaged and distributed as a single executable that can be downloaded, installed, or run from within Docker.

For initial installation, see the installation guide. If you would rather not operate the infrastructure, see Instances for the managed option.

GuideTypical use
Deployment modelsChoosing between single-node, multi-node, embedded, and managed
DockerQuickest path; SurrealKV with a volume mount
KubernetesSingle SurrealDB pod with SurrealKV on a persistent volume
Managed KubernetesPaths on Amazon EKS, Google GKE, and Azure AKS
SurrealDS on KubernetesMulti-node cluster with the SurrealDB operator (Enterprise)
SurrealDS on your own machinesMulti-node cluster on servers or virtual machines without Kubernetes (Enterprise)

Most self-hosted workloads store data on disk, with one SurrealDB process per database directory. From SurrealDB 4.0 the on-disk engine is SurrealKV (surrealkv://). RocksDB (rocksdb://) was removed in SurrealDB 4.0; see Moving a RocksDB database to SurrealKV.

Once an instance is running, the Observability section covers the built-in metrics, audit logs and slow-query logs you can scrape over Prometheus or push over OTLP for production monitoring.

Self-hosted clusters can run Enterprise Edition, which adds distributed live queries, audit logging, FIPS-validated cryptography and support tiers on top of the same server. Enterprise also includes SurrealDS, the distributed storage engine for self-hosted multi-node clusters.

Was this page helpful?