Перейти до основного вмісту

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

Створіть unit-файл systemd:

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