Skip to content

[BUGFIX] Fix fedora (rootful) podman & docker support#512

Merged
microtechno9000 merged 5 commits intoautomatic-ripping-machine:mainfrom
Stealcase:add-fedora-podman-support
Mar 12, 2026
Merged

[BUGFIX] Fix fedora (rootful) podman & docker support#512
microtechno9000 merged 5 commits intoautomatic-ripping-machine:mainfrom
Stealcase:add-fedora-podman-support

Conversation

@Stealcase
Copy link
Copy Markdown
Contributor

@Stealcase Stealcase commented Feb 7, 2026

Description

When following the instructions for running in a docker container in the arm wiki, a typical Fedora user would run into a permission issue in the container.
This would not stop the container or have a clear error message. This permission issue would have 2 symptoms:

  • The "Settings" page of the ARM UI would show a "unauthorized error 13" when attempting to show the CDROM
  • All attempts at reading physical media with the CDROM would end in a generic failure message "bailing out of sr0".

The root cause is a difference between a system default in Fedora and Ubuntu.

  • ✔️ The automatic-ripping-machine/scripts/installers/setup-docker.sh correctly gives the armuser on the host machine the group cdrom.
  • ✔️ The Dockerfile in arm-dependencies correctly gives the arm user the group cdrom
  • 🐞 But the GID for cdrom on ubuntu is 24, while the GID for the same group is 11 on Fedora, meaning that the arm user in practice does not receive the required permission to read the /dev/srx device on Fedora and downstream derivative distro host machines.

I use emojis to guide your eyes to the essentials, but no LLM was used in writing this text.

Type of change

  • [ x] Bug fix (non-breaking change which fixes an issue)
    Should not require documentation beyond what is in the Dockerfile

How Has This Been Tested?

  • Ran in podman on a fedora 42 system

Simplest test is to check permissions on the /dev/sr0 device on a fedora machine. Before this change it would display as such:

brw-rw----. 1 root 11 11, 0 Feb  7 13:12 /dev/sr0

After change it will display as so:

brw-rw----. 1 root cdrom_Fedora 11, 0 Feb  7 13:12 /dev/sr0

and ripping succeeded on a generic dvd.

Tests were run like this. make sure to fix your volume paths, notice the easy-to-miss . period in config!

podman run \
    -p "8080:8080" \
    -e ARM_UID="1000" \
    -e ARM_GID="1000" \
    -v /homea/arm:/home/arm:Z \
    -v /home/arm/.config:/etc/arm/config:Z \
    --device="/dev/sr0:/dev/sr0" \
    --restart always \
    --name arm \
    --cpuset-cpus='5,6' \
    localhost/automatic-ripping-machine:fedora
# Built image locally, so this test reflects that
  • Docker
  • There is no reason to assume this should have any negative impact on the docker runtime version of this image, as the mapping logic between GID of groups in the rootful host and the docker/podman runtime are equivalent.
  • Podman

Checklist:

  • My code follows the style guidelines of this project
    There is a similar change for the ARCH derivative distros in the Dockerfile so I followed that example.

  • I have performed a self-review of my own code

  • I have commented on my code, particularly in hard-to-understand areas

  • I have made corresponding changes to the documentation

  • My changes generate no new warnings

  • I have tested that my fix is effective or that my feature works

Changelog:

Include the details of changes made here

  • Explicitly adding the group 11 to the ubuntu image, and giving

Logs

When logged into the container image with the root user on a Fedora machine and running the following command, the output is

ls -al /dev/sr0
brw-rw----. 1 root cdrom_Fedora 11, 0 Feb  7 13:12 /dev/sr0

@Stealcase Stealcase marked this pull request as draft February 7, 2026 15:49
@Stealcase
Copy link
Copy Markdown
Contributor Author

Converted to draft after finding some issues when using the newest versions of ARM and a USB CDROM and still getting OTHER permission errors during mount in the ARM python scripts.

  • This PR does make it so the permissions are set correctly on /dev/srx
  • The new "auto mount" code is giving permission errors on when trying to mount the device, yet pyudev correctly discovers it.

Investigating

@Stealcase
Copy link
Copy Markdown
Contributor Author

Investigated.

  • for certain disks, MakeMKV gives up and the USB cdrom drive goes to sleep. Unrelated behaviour.

Marking as ready for review.

@Stealcase
Copy link
Copy Markdown
Contributor Author

This bugfix has now been working nicely for about 2 weeks in my own setup.

Copy link
Copy Markdown
Collaborator

@microtechno9000 microtechno9000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

approved, no GID conflict from what I can see. Ubuntu does not use gid 11 by default

@microtechno9000 microtechno9000 merged commit f5a5c91 into automatic-ripping-machine:main Mar 12, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants