rsiot::doc::external_services

Module sentryshot

Source
Expand description

§Sentryshot

Сохранение потока с видеокамеры. Ссылка на репозиторий.

§docker

services:
  sentryshot:
    shm_size: 500m
    image: codeberg.org/sentryshot/sentryshot:v0.2.17
    ports:
      - 2020:2020
    environment:
      - TZ=Europe/Minsk
    profiles:
      - target
    volumes:
      - ./config_services/sentryshot/configs:/app/configs
      - ./config_services/sentryshot/storage:/app/storage

§Файлы конфигурации

§./sentryshot/configs/sentryshot.toml

Проверить max_disk_usage.

# Port app will be served on.
port = 2020

# Directory where recordings will be stored.
storage_dir = "/app/storage"

# Directory where configs will be stored.
config_dir = "/app/configs"

# Directory where the plugins are located.
plugin_dir = "/app/plugins"


# Maximum allowed storage space in GigaBytes.
# Recordings are delete automatically before this limit is exceeded.
max_disk_usage = 100



# PLUGINS

# Authentication. One must be enabled.

# Basic Auth.
[[plugin]]
name = "auth_basic"
enable = false

# No authentication.
[[plugin]]
name = "auth_none"
enable = true



# Motion detection.
# Documentation ./plugins/motion/README.md
[[plugin]]
name = "motion"
enable = false

# TFlite object detection.
# Enabling will generate a `tflite.toml` file.
[[plugin]]
name = "tflite"
enable = false


# Thumbnail downscaling.
# Downscale video thumbnails to improve page load times and data usage.
[[plugin]]
name = "thumb_scale"
enable = false

§./sentryshot/configs/monitors/

В папке хранятся файлы конфигурации для каждой камеры. Пример файла ‘tapo.json’ для камеры RTSP:

{
  "alwaysRecord": true,
  "enable": true,
  "id": "tapo",
  "name": "tapo",
  "source": "rtsp",
  "sourcertsp": {
    "mainStream": "rtsp://administrator:Admin123!@192.168.31.3:554/stream1",
    "protocol": "tcp"
  },
  "videoLength": 15
}