Установка на 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