Перейти к основному содержимому

Linux

Для установки в любых Linux-системах (Arch Linux, NixOS, Alpine Linux и другие), выполните в терминале следующие команды:

Установка

sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
YUCCA_VER=$(curl -sSLf https://releases.yucca.app/latest/VERSION.txt)
sudo wget https://releases.yucca.app/latest/yucca_linux_amd64.tar.gz
sudo wget https://releases.yucca.app/latest/yucca_${YUCCA_VER}_checksums.txt
sha256sum -c yucca_${YUCCA_VER}_checksums.txt --ignore-missing
sudo tar -xzvf yucca_linux_amd64.tar.gz
sudo rm -f yucca_linux_amd64.tar.gz yucca_${YUCCA_VER}_checksums.txt

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

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

Создаём пользователя и задаем владельца и права доступа:

sudo groupadd --gid 642 --force yucca
sudo useradd --system -u 642 --no-create-home --shell /bin/false --home-dir /opt/yucca --gid yucca yucca
sudo chown -R yucca:yucca /opt/yucca
sudo chmod -R 2775 /opt/yucca

Systemd автозапуск

примечание

Используется в большинстве популярных дистрибутивов, например Debian, RHEL и SUSE

Создайте systemd unit файл:

sudo tee /lib/systemd/system/yucca.service <<EOF
[Unit]
Description=Yucca 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=/run/yucca.pid
LimitNOFILE=1024
WorkingDirectory=/opt/yucca
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 --now yucca

OpenRC автозапуск

примечание

Используется к примеру в Gentoo

  1. Создайте файл с именем yucca без расширения в каталоге /etc/init.d/.
  2. Скопируйте код скрипта инициализации в этот файл.
#!/sbin/openrc-run

name="yucca"
command="/opt/yucca/yucca"
command_args="server --config /opt/yucca/yucca.toml"
pidfile="/run/yucca.pid"
output_log="/var/log/yucca.log"

# Устанавливаем ulimit
ulimit -n 1024

depend() {
need syslog net
}

start_pre() {
# Создаем каталог для PID-файла
checkpath --directory --owner yucca:yucca --mode 0755 $(dirname ${pidfile})
}

start() {
ebegin "Starting ${name}"
# Запускаем yucca с указанными параметрами
start-stop-daemon --start --background \
--make-pidfile --pidfile ${pidfile} \
--chuid yucca:yucca \
--exec ${command} -- ${command_args} >> ${output_log} 2>&1
eend $?
}

stop() {
ebegin "Stopping ${name}"
# Останавливаем yucca
start-stop-daemon --stop --quiet --pidfile ${pidfile}
eend $?
}

restart() {
svc_stop
svc_start
}
  1. Убедитесь, что скрипт имеет права на выполнение, используя команду chmod +x /etc/init.d/yucca.
  2. Добавьте скрипт в автозапуск, выполнив команду rc-update add yucca default.
  3. Теперь вы можете управлять сервисом с помощью следующих команд:
  • rc-service yucca start - Запуск сервиса.
  • rc-service yucca stop - Остановка сервиса.
  • rc-service yucca restart - Перезапуск сервиса.
  • rc-service yucca status - Проверка статуса сервиса.

Upstart автозапуск

примечание

Используется к примеру в Synology NAS

Создайте скрипт автозапуска Upstart init:

sudo tee /etc/init/yucca.conf <<EOF
description "Yucca https://yucca.app"
author "Yucca"

start on filesystem or runlevel [2345]
stop on runlevel [!2345]

respawn
respawn limit 10 10
setuid yucca
setgid yucca
chdir /opt/yucca
limit nofile 1024 1024
script
exec /opt/yucca/yucca server --config /opt/yucca/yucca.toml
end script

EOF

Обновите конфигурацию Upstart, и запустите сервис:

sudo initctl reload-configuration
sudo initctl start yucca

Проверка работы

После установки и запуска, WEB-интерфейс будет доступен по адресу http://ip-вашего-сервера:9910 . Если после установки интерфейс недоступен, проверьте статус сервиса и посмотрите журналы сервера.

Обновление

Скачайте актуальный архив (см. раздел «Установка» выше), распакуйте его поверх каталога /opt/yucca и перезапустите сервис — например, для systemd:

sudo systemctl restart yucca

Для OpenRC используйте sudo rc-service yucca restart, для Upstart — sudo initctl restart yucca.

Удаление

sudo systemctl disable --now yucca
sudo rm -rf /opt/yucca
sudo userdel yucca
sudo groupdel yucca