Ubuntu 25.04 Install - microtechno9000/automatic-ripping-machine GitHub Wiki
Ubuntu 25.04 Manual Install Guide
[!CAUTION] This installation method is not supported or maintained by the ARM Developers. For full support and continued maintenance, we recommend installing ARM via the supported Docker Container. This installation method was developed for those that wish to use ARM without Docker.
Use at your own risk
This guide was tested starting from an Ubuntu 25.04 minimal installation, so it should cover installing all of the dependencies you would need with any 25.04 install.
Pre-Install (only if necessary)
If you have a new DVD drive that you haven't used before, some require setting the region before they can play anything. Be aware most DVD players only let you change the region a handful (4 or 5?) of times then lockout any further changes. If your region is already set or you have a region free DVD drive you can skip this step.
sudo apt-get install regionset
sudo regionset /dev/sr0
Install
Setup 'arm' user
Sets up the arm
user that will run the ARM processes.
sudo groupadd arm
sudo useradd -m arm -g arm -G cdrom
Set up repos and install dependencies
sudo add-apt-repository ppa:heyarje/makemkv-beta # add repository for makemkv binary
sudo apt update -y
sudo apt install git python3.13-venv libcurl4-gnutls-dev gcc python3-dev libffi-dev libdiscid0 handbrake-cli eject lsdvd at makemkv-bin
Install and setup ARM
cd /opt
sudo mkdir arm
sudo chown arm:arm arm
sudo chmod 775 arm
sudo git clone --recurse-submodules https://github.com/automatic-ripping-machine/automatic-ripping-machine.git arm
sudo chown -R arm:arm arm
cd arm
sudo cp /opt/arm/setup/51-automatic-ripping-machine-venv.rules /etc/udev/rules.d/
sudo chmod +x /opt/arm/scripts/thickclient/arm_venv_wrapper.sh
sudo cp setup/arm.yaml arm.yaml
sudo chown arm:arm arm.yaml
sudo mkdir -p /etc/arm/config
sudo ln -s /opt/arm/arm.yaml /etc/arm/config
sudo cp /opt/arm/setup/apprise.yaml /etc/arm/config
sudo cp --no-clobber /opt/arm/setup/.abcde.conf /etc/.abcde.conf
sudo chown arm:arm /etc/.abcde.conf
sudo ln -sf /etc/.abcde.conf /etc/arm/config/abcde.conf
Set up drives
Create a mount point for each dvd drive.
If you don't know the device name, try running dmesg | grep -i -E '\b(dvd|cd)\b'
. The mountpoint needs to be /mnt/dev/.
So if your device name is sr0
, set the mountpoint with this command:
sudo mkdir -p /mnt/dev/sr0
Repeat this for each device you plan on using with ARM.
Create entries in /etc/fstab to allow non-root to mount dvd-roms Example (create for each optical drive you plan on using for ARM):
/dev/sr0 /mnt/dev/sr0 udf,iso9660 users,noauto,exec,utf8 0 0
Installing the ARMui service
Create folders required to run the ARM service:
sudo -u arm mkdir -p /home/arm/logs/progress
sudo -u arm mkdir -p /home/arm/media/raw
sudo -u arm mkdir -p /home/arm/media/transcode
sudo -u arm mkdir -p /home/arm/media/completed
Edit python dependencies to fix incompatibilities with latest Ubuntu. Some of the dependencies are too old to run with the latest Ubuntu, but updating them to newer versions seems to work fine.
- Edit
/opt/arm/arm-dependencies/requirements.txt
- Remove the version specifier for
cffi
- Remove the version specifier for
SQLAlchemy
Set up a python venv
and install the necessary dependencies:
sudo -u arm bash
cd /opt/arm
python3 -m venv venv
source venv/bin/activate
pip install -r arm-dependencies/requirements.txt
Create the systemd service file
sudo cp /opt/arm/setup/armui.service /etc/systemd/system/armui.service
Now we can reload the rules and start the arm service with
sudo systemctl daemon-reload
sudo systemctl enable armui
sudo systemctl start armui
Post install
You should now have the ARM UI running at http://localhost:8080
The default username and password is
- Username: admin
- Password: password
Alternatively, you can insert a disc or trigger it manually by running
/opt/arm/venv/bin/python3 /opt/arm/arm/ripper/main.py -d sr0 | at now
in a terminal/ssh