
SurrealDB
Multi-model database for real-time apps with SQL-style queries and graph relations
Deploy SurrealDB in 3 Steps
Connect Your VPS
Add your server credentials to Server Compass
Select SurrealDB
Choose from our template library
Deploy & Configure
Fill in settings and click Deploy
SurrealDB CLI Deployment
Deploy SurrealDB the traditional way with SSH and Docker Compose.
Access Your VPS via Terminal
Open a terminal session and log into your VPS. Replace the placeholder with your actual IP.
# Connect via SSH
ssh root@your-vps-ip
# Alternative with key file
ssh -i /path/to/key root@your-vps-ipFirst time? Make sure Docker is installed on your VPS. Run: curl -fsSL https://get.docker.com | sh
Set Up Project Folder
Create a workspace for your deployment files.
# Create and navigate to project directory
mkdir -p ~/apps/surrealdb
cd ~/apps/surrealdbCreate the Compose File
Configure your containers with this Docker Compose setup:
services:
surrealdb:
image: surrealdb/surrealdb:latest
user: root
ports:
- "8000:8000"
volumes:
- surrealdb_data:/data
command: start --username root --password <your-surreal-pass> surrealkv:/data/database.db
restart: unless-stopped
healthcheck:
test: ["CMD", "surreal", "isready", "--endpoint", "http://localhost:8000"]
interval: 10s
timeout: 5s
retries: 5
volumes:
surrealdb_data:
PORTHost port to expose(default: 8000)SURREAL_USERRoot username(default: root)SURREAL_PASSRoot passwordDeploy Your Stack
Spin up the containers and verify the deployment.
# Start all services
docker compose up -d
# List running containers
docker compose ps
# Watch the logs
docker compose logs -fUpdate Firewall Settings
Allow incoming traffic on the application port.
# Allow the application port through firewall
sudo ufw allow 8000/tcp
sudo ufw reload
# Access your app at:
# http://your-server-ip:8000Skip the terminal. Use Server Compass instead.
Server Compass makes deploying SurrealDB effortless. Visual setup, one-click deploy, done.
- Beautiful interface
- One-click deploys
- Let's Encrypt SSL
- Zero downtime
- Container monitoring
- Easy rollbacks
After Deployment
After deploying SurrealDB with Server Compass, complete these steps to finish setup
Test database connection using surreal sql CLI
Create namespaces and databases for your applications
Define schemas with DEFINE TABLE and DEFINE FIELD
Create scoped users with limited permissions
Set up monitoring and alerts
Configure backup schedules for the data volume
Need help? Check out our documentation for detailed guides.
SurrealDB FAQ
Common questions about self-hosting SurrealDB
How do I deploy SurrealDB with Server Compass?
Simply download Server Compass, connect to your VPS, and select SurrealDB from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.
What are the system requirements for SurrealDB?
SurrealDB requires a minimum of 256MB RAM. We recommend a VPS with at least 1024MB RAM for optimal performance. Any modern Linux server with Docker support will work.
Can I migrate my existing SurrealDB data?
Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard SurrealDB backup and restore procedures.
How do I update SurrealDB to the latest version?
Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest SurrealDB image will be pulled and deployed with zero downtime.
Is SurrealDB free to self-host?
SurrealDB is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.
Ready to Self-Host SurrealDB?
Download Server Compass and deploy SurrealDB to your VPS in under 3 minutes. No Docker expertise required.
Download Server Compass


