Skip to content

Docker Compose Production Deployment ​

Using Docker Compose is the recommended method for deploying RUSEON Core in single-node production, homelab, and edge gateway environments.


Production docker-compose.yml ​

Create a docker-compose.yml file on your server:

yaml
version: "3.8"

services:
  ruseon:
    image: ghcr.io/rusegal/ruseon-core:latest
    container_name: ruseon
    restart: unless-stopped
    network_mode: "host" # Recommended for high-throughput RTSP and WebRTC ICE
    volumes:
      - ./config.yaml:/app/config.yaml:ro
      - ./data:/app/data
      - /mnt/storage/recordings:/app/recordings
      - /mnt/storage/backups:/app/backups
    environment:
      - RUSEON_ENV=production
      - RUSEON_LOG_LEVEL=info
      - GOMEMLIMIT=4GiB
      - GOMAXPROCS=4
    healthcheck:
      test: ["CMD-SHELL", "wget -qO- http://localhost:8080/livez || exit 1"]
      interval: 15s
      timeout: 3s
      retries: 3
      start_period: 5s
    logging:
      driver: "json-file"
      options:
        max-size: "50m"
        max-file: "5"
    deploy:
      resources:
        limits:
          memory: 4096M
          cpus: "4.0"
        reservations:
          memory: 512M

Bridge Network Variant (Isolated Ports) ​

If you prefer standard Docker bridge networking instead of network_mode: host:

yaml
version: "3.8"

services:
  ruseon:
    image: ghcr.io/rusegal/ruseon-core:latest
    container_name: ruseon
    restart: unless-stopped
    ports:
      - "8080:8080" # Web UI, REST API, WHEP, HLS
      - "8554:8554" # RTSP Server
      - "50000-50100:50000-50100/udp" # WebRTC ICE Media Range
    volumes:
      - ./config.yaml:/app/config.yaml:ro
      - ./data:/app/data
      - ./recordings:/app/recordings
    environment:
      - RUSEON_ENV=production

Operational Commands ​

bash
# Start RUSEON Core in background
docker compose up -d

# View live container logs
docker compose logs -f ruseon

# Restart the service
docker compose restart ruseon

# Update to latest release image
docker compose pull && docker compose up -d

Released under the MIT License.