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

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

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

Для работы потребуется Docker, инструкция для установки доступна на официальном сайте.

Быстрая установка Docker

bash <(curl -sSL https://get.docker.com)

Начиная с версии Юкка 0.6.0 возможна работа без Docker, сейчас мы занимаемся доработками этого функционала, вы можете помочь нам с тестированием и переключить работу сервер в новый режим работы, а затем сообщить о найденных ошибках через трекер или Telegram-чат.

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

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

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

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

sudo systemctl stop yucca

Начнем с создания пользователя и группы, затем добавим нового пользователя в группу docker, чтобы иметь возможность работать с Docker-контейнерами:

sudo useradd -M -U -s /bin/false -b /opt/yucca -G docker 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.7.1/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.7.1/linux_arm/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.7.1/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.7.1/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.7.1/linux_arm/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.7.1/linux_arm64/ent/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca

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

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

Для корректной работы необходима версия FFmpeg не ниже 4.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 docker.service

[Service]
Type=simple
User=yucca
Group=yucca
SyslogIdentifier=yucca
PIDFile=/var/run/yucca.pid
ExecStart=/opt/yucca/yucca server --config /opt/yucca/yucca.toml

ExecStop=/bin/kill -s SIGTERM $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target
EOF

sudo systemctl daemon-reload

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

sudo systemctl enable yucca
sudo systemctl start yucca

Настраиваем сетевой фильтр:

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