Skip to main content

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

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

Generate a configuration file with default values:

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:

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:

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:

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.
#!/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. Make sure the script is executable using the command chmod +x /etc/init.d/yucca.
  2. Add the script to autostart by running rc-update add yucca default.
  3. 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:

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:

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:

sudo systemctl restart yucca

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

Removal

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