> Markdown version of https://yucca.app/en/docs/install/linux/. Documentation index: [llms.txt](https://yucca.app/en/llms.txt), full text in one file: [llms-full.txt](https://yucca.app/en/llms-full.txt). Any page is available as Markdown: append `.md` to its URL without the trailing slash.

# Linux

> **Quick install.** If your distribution has apt, dnf/yum, zypper or apt-rpm, the installation script will do the job: `curl -fsSL https://releases.yucca.app/get.sh | sh` (add `--ent` for Plus / Enterprise). The manual installation from an archive described below works on any system.

To install on any Linux system (Arch Linux, NixOS, Alpine Linux, and others), run the following commands in the terminal:

## Installation

**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

```

Generate a configuration file with default values:

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

```

Create a user and set ownership and access rights:

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

> **Note.** Used in most popular distributions, such as Debian, RHEL, and SUSE

Create a systemd unit file:

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


```

Start the server and check that it's working:

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

```

### OpenRC autostart

> **Note.** Used, for example, in Gentoo

1. Create a file named `yucca` without an extension in the `/etc/init.d/` directory.
2. Copy the init script code into this file.

```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. Make sure the script is executable using the command `chmod +x /etc/init.d/yucca`.
4. Add the script to autostart by running `rc-update add yucca default`.
5. Now you can manage the service using the following commands:

* `rc-service yucca start` — Start the service.
* `rc-service yucca stop` — Stop the service.
* `rc-service yucca restart` — Restart the service.
* `rc-service yucca status` — Check the service status.

### Upstart autostart

> **Note.** Used, for example, in Synology NAS

Create an Upstart init autostart script:

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

```

Update the Upstart configuration and start the service:

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

```

## Checking the installation

After installation and startup, the web interface will be available at **<http://your-server-ip:9910>**. If the interface is not available after installation, check the service status and review the server logs.

## Update

Download the latest archive (see the «Installation» section above), extract it over the `/opt/yucca` directory, and restart the service — for example, for systemd:

```shell
sudo systemctl restart yucca

```

For OpenRC use `sudo rc-service yucca restart`, for Upstart — `sudo initctl restart yucca`.

## Removal

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

```
