Перейти к содержанию

Установка на CentOS/RHEL/Fedora/SUSE

Если вам нужна помощь специалиста для решения этой или любой другой задачи, изучите наши условия технической поддержки.

Используйте PostgreSQL, при большим количестве камер

При эксплуатации в производственных (production) средах с большим количеством камер (больше 10-ти) и включённой детекцией движения мы рекомендуем использовать в качестве базы данных PostgreSQL, как более производительную. Как установить и настроить использование, читайте тут

Установка вручную

При обновлении на новую версию предварительно остановите сервер

sudo systemctl stop yucca

Начнем с создания пользователя и группы:

sudo useradd -M -U -r -u 9910 -s /bin/false -b /opt/yucca yucca

Выполните arch, чтобы узнать свою архитектуру

Вывод arch Обозначение в документации
x86_64 amd64
armv6l armv6
armv7l armv7
aarch64 arm64

Создаём каталог для установки и переходим в него, скачиваем последнюю версию Юкка:

(
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://releases.yucca.app/v0.8.0/linux_amd64/free/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
)
(
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://releases.yucca.app/v0.8.0/linux_armv6/free/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
)
(
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://releases.yucca.app/v0.8.0/linux_armv7/free/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
)
(
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://releases.yucca.app/v0.8.0/linux_arm64/free/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
)
(
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://releases.yucca.app/v0.8.0/linux_amd64/ent/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
)
(
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://releases.yucca.app/v0.8.0/linux_armv6/ent/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
)
(
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://releases.yucca.app/v0.8.0/linux_armv7/ent/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
)
(
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://releases.yucca.app/v0.8.0/linux_arm64/ent/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
)

Полный список доступных версий: https://releases.yucca.app/

Устанаваем ffmpeg и ffprobe:

Для корректной работы необходима версия FFmpeg не ниже 5.0

Можно использовать статическую сборку предложенную нами, или любую другую при условии, что ffmpeg и ffprobe доступны в системе по стандартному имени

(
cd /opt/yucca/ffmpeg
wget -q --show-progress https://releases.yucca.app/ffmpeg/5.0.1/ffmpeg-5.0.1-linux-amd64.tar.gz -O ffmpeg-5.0.1-linux-amd64.tar.gz
wget -q --show-progress https://releases.yucca.app/ffmpeg/5.0.1/ffmpeg-5.0.1-linux-amd64.tar.gz.md5 -O ffmpeg-5.0.1-linux-amd64.tar.gz.md5
md5sum -c ffmpeg-5.0.1-linux-amd64.tar.gz.md5
tar -xzf ffmpeg-5.0.1-linux-amd64.tar.gz ffmpeg
tar -xzf ffmpeg-5.0.1-linux-amd64.tar.gz ffprobe
rm -rf ffmpeg-5.0.1-linux-amd64.tar.gz ffmpeg-5.0.1-linux-amd64.tar.gz.md5
)
(
cd /opt/yucca/ffmpeg
wget -q --show-progress https://releases.yucca.app/ffmpeg/5.0.1/ffmpeg-5.0.1-linux-armv6.tar.gz -O ffmpeg-5.0.1-linux-armv6.tar.gz
wget -q --show-progress https://releases.yucca.app/ffmpeg/5.0.1/ffmpeg-5.0.1-linux-armv6.tar.gz.md5 -O ffmpeg-5.0.1-linux-armv6.tar.gz.md5
md5sum -c ffmpeg-5.0.1-linux-armv6.tar.gz.md5
tar -xzf ffmpeg-5.0.1-linux-armv6.tar.gz ffmpeg
tar -xzf ffmpeg-5.0.1-linux-armv6.tar.gz ffprobe
rm -rf ffmpeg-5.0.1-linux-armv6.tar.gz ffmpeg-5.0.1-linux-armv6.tar.gz.md5
)
(
cd /opt/yucca/ffmpeg
wget -q --show-progress https://releases.yucca.app/ffmpeg/5.0.1/ffmpeg-5.0.1-linux-armv7.tar.gz -O ffmpeg-5.0.1-linux-armv7.tar.gz
wget -q --show-progress https://releases.yucca.app/ffmpeg/5.0.1/ffmpeg-5.0.1-linux-armv7.tar.gz.md5 -O ffmpeg-5.0.1-linux-armv7.tar.gz.md5
md5sum -c ffmpeg-5.0.1-linux-armv7.tar.gz.md5
tar -xzf ffmpeg-5.0.1-linux-armv7.tar.gz ffmpeg
tar -xzf ffmpeg-5.0.1-linux-armv7.tar.gz ffprobe
rm -rf ffmpeg-5.0.1-linux-armv7.tar.gz ffmpeg-5.0.1-linux-armv7.tar.gz.md5
)
(
cd /opt/yucca/ffmpeg
wget -q --show-progress https://releases.yucca.app/ffmpeg/5.0.1/ffmpeg-5.0.1-linux-arm64.tar.gz -O ffmpeg-5.0.1-linux-arm64.tar.gz
wget -q --show-progress https://releases.yucca.app/ffmpeg/5.0.1/ffmpeg-5.0.1-linux-arm64.tar.gz.md5 -O ffmpeg-5.0.1-linux-arm64.tar.gz.md5
md5sum -c ffmpeg-5.0.1-linux-arm64.tar.gz.md5
tar -xzf ffmpeg-5.0.1-linux-arm64.tar.gz ffmpeg
tar -xzf ffmpeg-5.0.1-linux-arm64.tar.gz ffprobe
rm -rf ffmpeg-5.0.1-linux-arm64.tar.gz ffmpeg-5.0.1-linux-arm64.tar.gz.md5
)

Генерируем файл конфигурации со значениями по умолчанию:

sudo /opt/yucca/yucca server --config emtpy --show-config | sed 's|data_dir = ""|data_dir = "/opt/yucca/data"|' > /opt/yucca/yucca.toml

Задаем владельца и права доступа:

(
sudo chown -R yucca:yucca /opt/yucca
sudo chmod -R 2775 /opt/yucca
)

Создаём systemd unit-файл и обновляем список демонов, чтобы изменения вступили в силу:

(
sudo tee /lib/systemd/system/yucca.service <<EOF
[Unit]
Description=Yucca Stream <https://yucca.app>
Documentation=https://docs.yucca.app
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=simple
User=yucca
Group=yucca
SyslogIdentifier=yucca
PIDFile=/var/run/yucca.pid
LimitNOFILE=65535
ExecStart=/opt/yucca/yucca server --config /opt/yucca/yucca.toml
ExecStop=/bin/kill -s SIGTERM $MAINPID
Restart=on-failure
RestartSec=10s

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload
)

Теперь можно запустить сервер и проверить работу:

(
sudo systemctl enable yucca
sudo systemctl start yucca
)

Откройте порт в firewalld:

sudo firewall-cmd --permanent --new-service=yucca
sudo firewall-cmd --permanent --service=yucca --add-port=9910/tcp
sudo firewall-cmd --permanent --zone=public --add-service=yucca
sudo firewall-cmd --reload

После запуска Web-интерфейс будет доступен по адресу http://ip-вашего-сервера:9910