FreeBSD
To install on FreeBSD, run the following commands in the terminal:
Installation
Install FFmpeg:
sudo pkg update
sudo pkg install ffmpeg
Install Yucca:
- Yucca Free
- Yucca Plus / Enterprise
- AMD64
- ARM64
- ARM
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
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_arm64.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_arm64.tar.gz
sudo rm -f yucca_freebsd_arm64.tar.gz yucca_${YUCCA_VER}_checksums.txt
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_arm.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_arm.tar.gz
sudo rm -f yucca_freebsd_arm.tar.gz yucca_${YUCCA_VER}_checksums.txt
- AMD64
- ARM64
- ARM
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-ent_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-ent_freebsd_amd64.tar.gz
sudo rm -f yucca-ent_freebsd_amd64.tar.gz yucca_${YUCCA_VER}_checksums.txt
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-ent_freebsd_arm64.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-ent_freebsd_arm64.tar.gz
sudo rm -f yucca-ent_freebsd_arm64.tar.gz yucca_${YUCCA_VER}_checksums.txt
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-ent_freebsd_arm.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-ent_freebsd_arm.tar.gz
sudo rm -f yucca-ent_freebsd_arm.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
- Create a file named
yuccawithout an extension in the/usr/local/etc/rc.d/directory. - 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"
- Make sure the script is executable using the command
chmod +x /usr/local/etc/rc.d/yucca. - 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