diff --git a/komga/CHANGELOG.md b/komga/CHANGELOG.md index 7400ff2645..d995cecfa8 100644 --- a/komga/CHANGELOG.md +++ b/komga/CHANGELOG.md @@ -1,3 +1,7 @@ +## 1.26.1.2 (2026-08-12) + +- Fix : local disks (`localdisks`) and SMB shares failed to mount with `cannot mount /dev/sdX read-only`. Without an `apparmor.txt` the add-on ran under Docker's default AppArmor profile, which denies `mount` and raw block device access. Ships the same profile as the other add-ons that mount disks + ## 1.26.1.1 (2026-08-11) - Bound the nginx readiness probes (`--connect-timeout` / `--max-time`) so a stalled connection cannot hang the wait, and log a warning when Komga has not answered within 15 minutes diff --git a/komga/apparmor.txt b/komga/apparmor.txt new file mode 100644 index 0000000000..5ef63b834f --- /dev/null +++ b/komga/apparmor.txt @@ -0,0 +1,68 @@ + +#include + +profile komga_addon flags=(attach_disconnected,mediate_deleted) { + #include + + capability chown, + capability dac_override, + capability dac_read_search, + capability fowner, + capability setgid, + capability setuid, + capability sys_chroot, + capability sys_admin, + file, + signal, + mount, + umount, + remount, + network udp, + network tcp, + network dgram, + network stream, + network inet, + network inet6, + network netlink raw, + network unix dgram, + + +# Entrypoint stack + /init ix, + /run/{s6,s6-rc*,service}/** ix, + /package/** ix, + /command/** ix, + /run/{,**} rwk, + /dev/tty rw, + /bin/** ix, + /usr/bin/** ix, + /usr/lib/bashio/** ix, + /etc/s6/** rix, + /run/s6/** rix, + /etc/services.d/** rwix, + /etc/cont-init.d/** rwix, + /etc/cont-finish.d/** rwix, + /init rix, + /var/run/** mrwkl, + /var/run/ mrwkl, + /dev/i2c-1 mrwkl, + # Files required + /dev/fuse mrwkl, + /dev/sda1 mrwkl, + /dev/sdb1 mrwkl, + /dev/nvme0 mrwkl, + /dev/nvme1 mrwkl, + /dev/mmcblk0p1 mrwkl, + /dev/* mrwkl, + /tmp/** mrkwl, + + # Data access + /data/** rw, + + # suppress ptrace denials when using 'docker ps' or using 'ps' inside a container + ptrace (trace,read) peer=docker-default, + + # docker daemon confinement requires explict allow rule for signal + signal (receive) set=(kill,term) peer=/usr/bin/docker, + +} diff --git a/komga/config.yaml b/komga/config.yaml index 50b0597082..6d047ac161 100644 --- a/komga/config.yaml +++ b/komga/config.yaml @@ -101,4 +101,4 @@ schema: slug: komga udev: true url: https://github.com/alexbelgium/hassio-addons/tree/master/komga -version: "1.26.1.1" +version: "1.26.1.2"