Getting Started
Installation
Run Sockudo locally with Docker or from source.
Option 1: Docker (Fastest)
Using Official Docker Images
Pull and run the official Sockudo Docker image:
From Docker Hub:
Terminal
# Pull the latest image
docker pull sockudo/sockudo:latest
# Run with default configuration
docker run -d \
--name sockudo \
-p 6001:6001 \
-p 9601:9601 \
sockudo/sockudo:latest
From GitHub Container Registry:
Terminal
# Pull the latest image
docker pull ghcr.io/sockudo/sockudo:latest
# Run with default configuration
docker run -d \
--name sockudo \
-p 6001:6001 \
-p 9601:9601 \
ghcr.io/sockudo/sockudo:latest
Use specific version tags:
Terminal
# Docker Hub
docker run -d \
--name sockudo \
-p 6001:6001 \
-p 9601:9601 \
sockudo/sockudo:v1.0.0
# Or GitHub Container Registry
docker run -d \
--name sockudo \
-p 6001:6001 \
-p 9601:9601 \
ghcr.io/sockudo/sockudo:v1.0.0
With custom configuration:
Terminal
docker run -d \
--name sockudo \
-p 6001:6001 \
-p 9601:9601 \
-v $(pwd)/config:/app/config \
sockudo/sockudo:latest
Using Docker Compose
For development with the full repository:
Terminal
cd sockudo
docker compose up -d --build
Default endpoints:
- Server:
http://localhost:6001 - Metrics:
http://localhost:9601/metrics
Health checks:
Terminal
curl http://localhost:6001/up
curl http://localhost:6001/up/app-id
curl http://localhost:9601/metrics
Official Docker images are available on Docker Hub and GitHub Container Registry. Images are tagged with version numbers and
latest for the most recent release.Option 2: Cargo Binstall (Precompiled Binary)
Install precompiled binaries directly using cargo-binstall:
Terminal
# Install cargo-binstall if you don't have it
cargo install cargo-binstall
# Install sockudo
cargo binstall sockudo
# Run sockudo
sockudo
Or install with specific features:
Terminal
# Install with all features
cargo binstall sockudo --features full
# Install with specific features
cargo binstall sockudo --features redis,mysql
cargo-binstall downloads precompiled binaries when available, making installation much faster than compiling from source.
Option 3: Build From Source
Requirements:
- Rust toolchain
- (Optional) external services depending on enabled features (
redis,nats, SQL backends)
Terminal
cd sockudo
# Local-only feature set (default)
cargo run --release
# Full feature build
cargo run --release --features full
Or install globally:
Terminal
# Install with default features
cargo install sockudo
# Install with all features
cargo install sockudo --features full
Build Feature Flags
sockudo supports compile-time features to trim dependencies:
local(default): in-memory only.redis,redis-cluster,nats: horizontal adapters.mysql,postgres,dynamodb,scylladb: app manager backends.sqs,lambda: AWS queue/webhook integrations.full: all optional backends enabled.
Config Loading Order
At startup, configuration is applied in this order:
- Internal defaults.
config/config.jsonif present.--configfile if passed.- Environment variables (highest priority).
Custom config file:
Terminal
cargo run --release -- --config ./config/production.json
Next
- Build first realtime round-trip: First Connection
- Configure private/presence auth: Authentication