Skip to main content

DigitalOcean

Deploy RushDB on a DigitalOcean Droplet using Docker Compose. The steps below assume a fresh Ubuntu 22.04 droplet.

1. Create a Droplet

  1. Log in to cloud.digitalocean.com
  2. Create a new Droplet — Ubuntu 22.04 LTS, minimum 4 GB RAM / 2 vCPU (Basic $24/mo or higher)
  3. Add your SSH key during creation

Verify the Prerequisites before continuing.

2. Install Docker

# SSH into your droplet
ssh root@YOUR_DROPLET_IP

# Install Docker + Compose plugin
curl -fsSL https://get.docker.com | sh
docker --version
docker compose version

3. Deploy RushDB

# Download the production Compose file
mkdir rushdb && cd rushdb
curl -O https://raw.githubusercontent.com/rush-db/rushdb/main/platform/docker-compose.yml
curl -O https://raw.githubusercontent.com/rush-db/rushdb/main/.env.example

# Configure environment
cp .env.example .env
nano .env # set NEO4J_PASSWORD, ENCRYPTION_KEY, etc.

# Start
docker compose up -d

See Environment Variables for the full configuration reference.

4. Configure Firewall

# DigitalOcean UFW setup
ufw allow OpenSSH
ufw allow 3000 # RushDB API
ufw allow 80 # HTTP (for reverse proxy)
ufw allow 443 # HTTPS (for reverse proxy)
ufw enable

5. (Optional) Add a Reverse Proxy

Use Caddy for automatic TLS:

apt install -y caddy

# /etc/caddy/Caddyfile
# api.yourdomain.com {
# reverse_proxy localhost:3000
# }

systemctl reload caddy

Verify

curl http://YOUR_DROPLET_IP:3000/health
# → {"status":"ok"}

Next: Get your API Key to start using the instance.