Skip to content

Docker Container Deployment ​

RUSEON Core provides official, minimal multi-architecture Docker container images published to GitHub Container Registry (ghcr.io/rusegal/ruseon-core). Images are based on scratch/alpine and contain zero unnecessary binaries or attack surfaces.


Quick Start Run Command ​

To run RUSEON Core in a standalone Docker container:

bash
docker run -d \
  --name ruseon \
  --restart unless-stopped \
  -p 8080:8080 \
  -p 8554:8554 \
  -p 50000-50100:50000-50100/udp \
  -v /var/lib/ruseon/data:/app/data \
  -v /var/lib/ruseon/recordings:/app/recordings \
  -v /etc/ruseon/config.yaml:/app/config.yaml:ro \
  -e RUSEON_ENV=production \
  ghcr.io/rusegal/ruseon-core:latest

Port Mappings Explained ​

PortProtocolServiceDescription
8080TCPHTTP / WebSocket / WHEPWeb UI, REST API, HLS streaming, and WHEP signaling
8554TCP/UDPRTSP ServerInbound camera RTSP ingestion and RTSP re-streaming
50000-50100UDPWebRTC Media / ICEDirect peer-to-peer media transport for ultra-low latency playback

Persistent Volumes ​

Always mount host directories for persistent state:

  1. /app/data — BadgerDB database (/app/data/db).
  2. /app/recordings — fMP4 video archive.
  3. /app/config.yaml — Read-only configuration file.

Healthcheck Configuration ​

RUSEON Core exposes strict, non-blocking health endpoints:

bash
docker run -d \
  --name ruseon \
  --health-cmd="wget -qO- http://localhost:8080/livez || exit 1" \
  --health-interval=10s \
  --health-timeout=3s \
  --health-retries=3 \
  ghcr.io/rusegal/ruseon-core:latest

Released under the MIT License.