Skip to main content

Linux

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