Getting Started
Prerequisites
- Linux (x86_64 or aarch64)
- Docker installed and running
- Rust toolchain (for building from source)
protoc(Protocol Buffers compiler)
bash
sudo apt install protobuf-compiler build-essential pkg-config libssl-devbash
sudo dnf install protobuf-compiler gcc pkg-config openssl-develInstallation
From crates.io
bash
cargo install mallorcaThis installs the orca binary.
From source
bash
git clone https://github.com/mighty840/orca.git
cd orca
cargo build --release
# Binary at target/release/orcaPort binding (one-time)
Orca's proxy needs ports 80 and 443. On Linux, grant the capability after each install:
bash
sudo setcap 'cap_net_bind_service=+ep' $(which orca)Your First Cluster
Create a minimal configuration:
bash
mkdir -p services/web
cat > cluster.toml << 'EOF'
[cluster]
name = "my-cluster"
domain = "example.com"
acme_email = "ops@example.com"
EOF
cat > services/web/service.toml << 'EOF'
[[service]]
name = "web"
image = "nginx:alpine"
replicas = 2
port = 80
domain = "example.com"
health = "/"
EOFDeploy
bash
orca server & # Start the control plane
orca deploy # Auto-discovers services/*/service.tomlVerify
bash
orca status # Service health overview
orca logs web # Stream container logs
orca tui # Terminal dashboardTIP
For single-node setups, just omit the [[node]] sections in cluster.toml. Orca runs everything locally by default.
One-Click Database
bash
orca db create postgres mydb
# Deploys postgres:16 with auto-generated password, volume, and health check
# Stores credentials as secrets, prints the connection stringNext Steps
- Configuration reference -- cluster.toml and service.toml in detail
- Services -- projects, networks, and cross-service communication
- Deployment strategies -- rolling updates, canary, and rollback