Skip to main content

FreeBSD

To install on FreeBSD, run the following commands in the terminal:

Installation

Install FFmpeg:

sudo pkg update
sudo pkg install ffmpeg

Install Yucca:

sudo mkdir -p /opt/yucca/ffmpeg
cd /opt/yucca
YUCCA_VER=$(fetch -qo - https://releases.yucca.app/latest/VERSION.txt)
sudo fetch https://releases.yucca.app/latest/yucca_freebsd_amd64.tar.gz
sudo fetch https://releases.yucca.app/latest/yucca_${YUCCA_VER}_checksums.txt
sha256 -c yucca_${YUCCA_VER}_checksums.txt --ignore-missing
sudo tar -xzvf yucca_freebsd_amd64.tar.gz
sudo rm -f yucca_freebsd_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 pw groupadd yucca -g 642
sudo pw useradd yucca -u 642 -g yucca -s /sbin/nologin -d /opt/yucca -c "Yucca Service User"
sudo chown -R yucca:yucca /opt/yucca
sudo chmod -R 2775 /opt/yucca

Autostart

  1. Create a file named yucca without an extension in the /usr/local/etc/rc.d/ directory.
  2. Copy the init script code into this file.
#!/bin/sh

# PROVIDE: yucca
# REQUIRE: LOGIN
# KEYWORD: shutdown

. /etc/rc.subr

name="yucca"
rcvar="yucca_enable"

load_rc_config $name

: ${yucca_enable:=no}
: ${yucca_pidfile="/var/run/yucca.pid"}
: ${yucca_user="yucca"}
: ${yucca_group="yucca"}
: ${yucca_logfile="/var/log/yucca.log"}
: ${yucca_command="/opt/yucca/yucca server --config /opt/yucca/yucca.toml"}

command="/opt/yucca/yucca"
command_args="server --config /opt/yucca/yucca.toml"
pidfile="/var/run/yucca.pid"
logfile="/var/log/yucca.log"

start_cmd="${name}_start"
stop_cmd="${name}_stop"
status_cmd="${name}_status"

yucca_start() {
echo "Starting $name."
if [ ! -f $pidfile ]; then
su $yucca_user -c "$yucca_command >> $yucca_logfile 2>&1 & echo \$! > $yucca_pidfile"
echo "$name started."
else
echo "$name is already running."
fi
}

yucca_stop() {
echo "Stopping $name."
if [ -f $pidfile ]; then
kill -TERM `cat $pidfile`
rm -f $pidfile
echo "$name stopped."
else
echo "$name is not running."
fi
}

yucca_status() {
if [ -f $pidfile ]; then
echo "$name is running."
else
echo "$name is not running."
fi
}

run_rc_command "$1"

  1. Make sure the script is executable using the command chmod +x /usr/local/etc/rc.d/yucca.
  2. Create the necessary directories and files for logs and the PID file. For example:
mkdir -p /var/log
touch /var/log/yucca.log
chown yucca:yucca /var/log/yucca.log
touch /var/run/yucca.pid
chown yucca:yucca /var/run/yucca.pid

Add yucca_enable="YES" to the /etc/rc.conf file to indicate that the yucca service should start at system boot.

Now you can manage the service using the following commands:

  • service yucca start — Start the service.
  • service yucca stop — Stop the service.
  • service yucca restart — Restart the service.
  • service yucca status — Check the service status.

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:

sudo service yucca restart

Removal

sudo service yucca stop
sudo rm -rf /opt/yucca /usr/local/etc/rc.d/yucca
sudo pw userdel yucca
sudo pw groupdel yucca