> Markdown-версия страницы https://yucca.app/docs/install/linux/. Оглавление документации — [llms.txt](https://yucca.app/llms.txt), весь текст одним файлом — [llms-full.txt](https://yucca.app/llms-full.txt). Markdown-версия есть у любой страницы: добавьте `.md` к адресу без слеша на конце.

# Linux

> **Быстрая установка.** Если в вашем дистрибутиве есть apt, dnf/yum, zypper или apt-rpm, установку выполнит скрипт: `curl -fsSL https://releases.yucca.app/get.sh | sh` (для Plus / Enterprise — с флагом `--ent`). Ниже описана ручная установка из архива — она подходит для любых систем.

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

## Установка

**Yucca Free**

**AMD64**

```shell
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

```

**ARM64**

```shell
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_arm64.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_arm64.tar.gz
sudo rm -f yucca_linux_arm64.tar.gz yucca_${YUCCA_VER}_checksums.txt

```

**ARM**

```shell
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_arm.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_arm.tar.gz
sudo rm -f yucca_linux_arm.tar.gz yucca_${YUCCA_VER}_checksums.txt

```

**Yucca Plus / Enterprise**

**AMD64**

```shell
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-ent_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-ent_linux_amd64.tar.gz
sudo rm -f yucca-ent_linux_amd64.tar.gz yucca_${YUCCA_VER}_checksums.txt

```

**ARM64**

```shell
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-ent_linux_arm64.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-ent_linux_arm64.tar.gz
sudo rm -f yucca-ent_linux_arm64.tar.gz yucca_${YUCCA_VER}_checksums.txt

```

**ARM**

```shell
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-ent_linux_arm.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-ent_linux_arm.tar.gz
sudo rm -f yucca-ent_linux_arm.tar.gz yucca_${YUCCA_VER}_checksums.txt

```

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

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

```

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

```shell
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 файл:

```bash
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


```

Запустите сервер и проверьте работу:

```bash
sudo systemctl daemon-reload
sudo systemctl enable --now yucca

```

### OpenRC автозапуск

> **Примечание.** Используется к примеру в Gentoo

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

```shell
#!/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
}

```

3. Убедитесь, что скрипт имеет права на выполнение, используя команду `chmod +x /etc/init.d/yucca`.
4. Добавьте скрипт в автозапуск, выполнив команду `rc-update add yucca default`.
5. Теперь вы можете управлять сервисом с помощью следующих команд:

* `rc-service yucca start` - Запуск сервиса.
* `rc-service yucca stop` - Остановка сервиса.
* `rc-service yucca restart` - Перезапуск сервиса.
* `rc-service yucca status` - Проверка статуса сервиса.

### Upstart автозапуск

> **Примечание.** Используется к примеру в Synology NAS

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

```sh
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, и запустите сервис:

```sh
sudo initctl reload-configuration
sudo initctl start yucca

```

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

После установки и запуска, WEB-интерфейс будет доступен по адресу **[http://ip-вашего-сервера:9910](http://ip-%D0%B2%D0%B0%D1%88%D0%B5%D0%B3%D0%BE-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B0:9910)** . Если после установки интерфейс недоступен, проверьте статус сервиса и посмотрите журналы сервера.

## Обновление

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

```shell
sudo systemctl restart yucca

```

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

## Удаление

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

```
