Install on a fresh server

The fastest path is grit cloud init (the Quickstart). This page is the manual, step-by-step install for a fresh Ubuntu 24.04 VPS, so you know exactly what happens.

0. Prerequisites

  • Ports 80, 443, 8080 open. 2 vCPU / 4 GB RAM recommended.
  • A domain with DNS pointed at the server (an A record for orbita.example.com, plus a wildcard or per-app records).
Verify DNS first

dig orbita.example.com +short must return your server IP. Let's Encrypt cannot issue a certificate until it does.

1. Connect and update

ssh root@YOUR_SERVER_IP
apt update && apt upgrade -y
apt install -y curl git ufw

2. Firewall

ufw allow OpenSSH
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

3. Docker + Swarm

curl -fsSL https://get.docker.com | sh
docker --version          # 24+ expected
docker swarm init         # required — Orbita runs workloads as Swarm services

4. Install Orbita

curl -sSL https://raw.githubusercontent.com/MUKE-coder/orbita/main/install.sh \
  | sudo ORBITA_DOMAIN=orbita.example.com ORBITA_ACME_EMAIL=you@example.com bash -s -- --yes

The installer generates secrets, writes docker-compose.yml + .env, and starts Orbita + PostgreSQL + Redis + Traefik. Traefik requests a Let's Encrypt certificate on first request.

ENCRYPTION_MASTER_KEY

Generate a 32-byte key (openssl rand -hex 32). It derives every org's encryption key — a weak or missing value silently weakens all tenant secrets. Orbita refuses to start without it.

5. Verify

curl -s http://localhost:8080/health          # {"status":"ok","version":"0.1.0"}
cd /opt/orbita && docker compose ps            # orbita, postgres, redis, traefik → Up
curl -I https://orbita.example.com             # 200 from the outside world

Open https://orbita.example.com, register the first user (they become super-admin), and create your first organization.

Managing the install

cd /opt/orbita
docker compose pull orbita
docker compose up -d orbita     # migrations run automatically on startup

Next