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

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

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

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

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

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

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

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

sudo systemctl stop yucca

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

sudo useradd -M -U -s /bin/false -b /opt/yucca -G docker yucca

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

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

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

sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://get.yucca.app/v0.6.0/linux_amd64/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://get.yucca.app/v0.6.0/linux_arm/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://get.yucca.app/v0.6.0/linux_arm64/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://ent-get.yucca.app/v0.6.0/linux_amd64/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://ent-get.yucca.app/v0.6.0/linux_arm/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca
sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
sudo wget https://ent-get.yucca.app/v0.6.0/linux_arm64/yucca -O /opt/yucca/yucca
sudo chmod +x /opt/yucca/yucca

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

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

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

cd /opt/yucca/ffmpeg
sudo wget https://get.yucca.app/ffmpeg/4.4/ffmpeg-4.4-amd64-static.tar.xz
sudo wget https://get.yucca.app/ffmpeg/4.4/ffmpeg-4.4-amd64-static.tar.xz.md5
md5sum -c ffmpeg-4.4-amd64-static.tar.xz.md5
sudo tar -xJvf ffmpeg-4.4-amd64-static.tar.xz ffmpeg-4.4-amd64-static/ffmpeg --strip-components 1
sudo tar -xJvf ffmpeg-4.4-amd64-static.tar.xz ffmpeg-4.4-amd64-static/ffprobe --strip-components 1
sudo rm -f ffmpeg-4.4-amd64-static.tar.xz*
cd /opt/yucca/ffmpeg
sudo wget https://get.yucca.app/ffmpeg/4.4/ffmpeg-4.4-armhf-static.tar.xz
sudo wget https://get.yucca.app/ffmpeg/4.4/ffmpeg-4.4-armhf-static.tar.xz.md5
md5sum -c ffmpeg-4.4-armhf-static.tar.xz.md5
sudo tar -xJvf ffmpeg-4.4-armhf-static.tar.xz ffmpeg-4.4-armhf-static/ffmpeg --strip-components 1
sudo tar -xJvf ffmpeg-4.4-armhf-static.tar.xz ffmpeg-4.4-armhf-static/ffprobe --strip-components 1
sudo rm -f ffmpeg-4.4-armhf-static.tar.xz*
cd /opt/yucca/ffmpeg
sudo wget https://get.yucca.app/ffmpeg/4.4/ffmpeg-4.4-arm64-static.tar.xz
sudo wget https://get.yucca.app/ffmpeg/4.4/ffmpeg-4.4-arm64-static.tar.xz.md5
md5sum -c ffmpeg-4.4-arm64-static.tar.xz.md5
sudo tar -xJvf ffmpeg-4.4-arm64-static.tar.xz ffmpeg-4.4-arm64-static/ffmpeg --strip-components 1
sudo tar -xJvf ffmpeg-4.4-arm64-static.tar.xz ffmpeg-4.4-arm64-static/ffprobe --strip-components 1
sudo rm -f ffmpeg-4.4-arm64-static.tar.xz*

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

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]
AmbientCapabilities=CAP_SYS_ADMIN
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