Развёртывание через Docker Compose
Использование Docker Compose — это рекомендуемый способ развёртывания RUSEON Core на одиночных серверах, в homelab-средах и на периферийных edge-шлюзах.
Production-конфигурация docker-compose.yml
Создайте файл docker-compose.yml на вашем сервере:
yaml
version: "3.8"
services:
ruseon:
image: ghcr.io/rusegal/ruseon-core:latest
container_name: ruseon
restart: unless-stopped
network_mode: "host" # Рекомендуется для высокой производительности RTSP и 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)
Если требуется изолировать порты контейнера вместо режима 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 Сервер
- "50000-50100:50000-50100/udp" # Диапазон WebRTC ICE
volumes:
- ./config.yaml:/app/config.yaml:ro
- ./data:/app/data
- ./recordings:/app/recordings
environment:
- RUSEON_ENV=productionКоманды управления
bash
# Запуск сервиса в фоновом режиме
docker compose up -d
# Просмотр логов в реальном времени
docker compose logs -f ruseon
# Перезапуск сервиса
docker compose restart ruseon
# Обновление образа до актуальной версии
docker compose pull && docker compose up -d