Alternate Install TrueNAS - microtechno9000/automatic-ripping-machine GitHub Wiki
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 is a step-by-step walkthrough adding ARM (Automatic Ripping Machine) to a TrueNAS Scale system as a custom app.
Note: The following guide was performed on TrueNAS Scale Cobie (24.04). Prior versions of TrueNAS Scale have an issue with GPU Allocation, which Cobia fixes.
-
Create App
Create a custom app via Apps → Discover Apps → Custom App
Tip
Refer to the TrueNAS Documentation for additional information: Documentation Hub
-
Set the App Name
Name the Application, e.g.
arm
,autorip
, or any other arbitrary name. -
Set the Repository
Set the Image Repository to
automaticrippingmachine/automatic-ripping-machine
and leave the Image Tage onlatest
. -
Managing Permissions
The ARM container's internal user has User ID (
uid
)1000
and Group ID (gid
)1000
. In most TrueNAS Scale installations, no user or group with this ID exists, and directory/file permissions are likely not these ids. Therefore, you will need to make sure the container user has read and write permissions in the paths you will be setting in Step 6.You have 2 choices for this:
-
Preferred:
In the Container Environment Variables section add the variables
ARM_UID
andARM_GID
and set both to568
. This is TrueNAS' defaultapps
user/group, which will most likely already have access to your directories and files. -
Alternate:
Adjust the directory and file permissions to allow read/write access for user and group ID
1000
, either bychown
ing the directories/files, or adding corresponding ACLs.
-
Preferred:
In the Container Environment Variables section add the variables
-
Port Forwarding
Enable port forwarding to allow access to ARM outside the docker container. ARM uses a default internal port of
8080
, configure the 'Node Port' to any unused port.Container Port Node Port Protocol 8080
<your port>
TCP Protocol
Where
your-port
is the port the WebUI will be reachable at later. Make sure it does not conflict with a port of your other Apps. -
Storage
Under Storage you need to map the 5 directories listed below. Note the Host Paths need to be created ahead of time to show up in the Host Path selector. Where you put these is your choice, but specifically for the
media
andmusic
volumes, a path on your storage pools is highly recommended. For a reference what each of these directories are used for, read our guide on Understanding Docker Volumes for A.R.M..Next to Host Path Volumes click Add and configure the following directories:
Local Path ARM Docker Directory <path_to_arm_user_home_folder>
/home/arm
<path_to_music_folder>
/home/arm/music
<path_to_logs_folder>
/home/arm/logs
<path_to_media_folder>
/home/arm/media
<path_to_config_folder>
/etc/arm/config
Important
Please make sure to not check any of the Read Only boxes.
-
Media Drives
Assign the required CD, DVD or Blu-ray drives in the system to ARM.
needs verification, see PR comments
In the Workload Details section under Security Context, enable the Privileged Mode checkbox.
Warning
As of the current TrueNAS Scale Cobia release, there seems to be no way to pass only a single drive to a Docker container. This may change in Electric Eel with the replacement of the Kubernetes Engine in favor of Docker Compose.
That being said, running containers in Privileged Mode comes with inherent security risks. If you are not comfortable with this, you may want to hold off for now and check back later after Electric Eel is released.
-
GPU Configuration (Optional)
If you don’t have a compatible GPU or wish to keep your video files raw, you can skip this step as this is only required for transcoding. Continue down to the Resource Reservation section and into the GPU Configuration If you do, continue down to the Resource Reservation section. Under GPU Configuration allocate at least a single one of the compatible GPUs to enable the NVENC. It will show you multiple GPUs that you can allocate, choose at least one.
Important
For NVIDIA GPUs, not only do you need to allocate your GPU, but you must also add a pair of variables in the Container Environment Variables section:
- Name:
NVIDIA_VISIBLE_DEVICES
Value:all
- Name:
NVIDIA_DRIVER_CAPABILITIES
Value:all
-
Enable Web Portal (Optional)
Not a necessary step, but this will create a button on the ARM app in TrueNAS Scale to allow quick access to the ARM Web GUI. Note: Port forwarding is required to enable the Web Portal
-
Install
Click the Install button at the bottom and wait for it to complete.
If everything was done properly, ARM should now work.
Head into the WebGUI either using the web portal button on the ARM app if you made one
or using the ip:port
in the browser to check if ARM is working.
- provscan (via discord)
- mihawk90