β
Have you read and understood the above guidelines?
yes
π Did you run the script with verbose mode enabled?
Yes, verbose mode was enabled and the output is included below
π What is the name of the script you are using?
Calibre-Web
π What was the exact command used to execute the script?
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/calibre-web.sh)"
βοΈ What settings are you using?
π₯οΈ Which Linux distribution are you using?
Debian 13
π§± Is this Proxmox host running arm64?
No
π Which Proxmox version are you on?
pve-manager/9.2.10/43df2e01f27a1a19 (running kernel: 7.0.14-11-pve)
π Provide a clear and concise description of the issue.
Install fails with several access denied issues, along with "file not found 'requirements.txt'". According to Claude, it's because the most recent release (August 8 version 0.6.27) broke this.
What actually broke: Up through recent versions, Calibre-Web's GitHub release was a flat layout with requirements.txt and cps.py sitting at the repo root. As of 0.6.27, upstream restructured the project into a proper installable Python package: everything now lives under src/calibreweb/, dependencies are declared in pyproject.toml, and the old requirements.txt moved to src/calibreweb/requirements.txt. cps.py no longer exists at all β it's replaced by a console-script entry point (cps = calibreweb.main:main).
The community-scripts calibre-web-install.sh script hasn't caught up with this yet β it still does cd /opt/calibre-web && uv pip install -r requirements.txt, and that file simply isn't there anymore. (It would also fail later trying to run /opt/calibre-web/cps.py, since that file's gone too.) The udisks2 ... uevent: Permission denied lines earlier in your log are unrelated noise β normal for unprivileged LXC containers that can't write to /sys, and harmless.
π Steps to reproduce the issue.
Run script on a Proxmox VE host.
β Paste the full error output (if available).
Setting up udisks2 (2.10.1-12.1+deb13u2) ...
nvme0n1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.3/0000:04:00.0/nvme/nvme0/nvme0n1/uevent': Permission denied
nvme1n1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.4/0000:05:00.0/nvme/nvme1/nvme1n1/uevent': Permission denied
nvme1n1p1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.4/0000:05:00.0/nvme/nvme1/nvme1n1/nvme1n1p1/uevent': Permission denied
nvme1n1p2: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.4/0000:05:00.0/nvme/nvme1/nvme1n1/nvme1n1p2/uevent': Permission denied
nvme1n1p3: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.4/0000:05:00.0/nvme/nvme1/nvme1n1/nvme1n1p3/uevent': Permission denied
rbd0: Failed to write 'change' to '/sys/devices/rbd/0/block/rbd0/uevent': Permission denied
rbd1: Failed to write 'change' to '/sys/devices/rbd/1/block/rbd1/uevent': Permission denied
rbd2: Failed to write 'change' to '/sys/devices/rbd/2/block/rbd2/uevent': Permission denied
loop0: Failed to write 'change' to '/sys/devices/virtual/block/loop0/uevent': Permission denied
loop1: Failed to write 'change' to '/sys/devices/virtual/block/loop1/uevent': Permission denied
loop2: Failed to write 'change' to '/sys/devices/virtual/block/loop2/uevent': Permission denied
loop3: Failed to write 'change' to '/sys/devices/virtual/block/loop3/uevent': Permission denied
loop4: Failed to write 'change' to '/sys/devices/virtual/block/loop4/uevent': Permission denied
loop5: Failed to write 'change' to '/sys/devices/virtual/block/loop5/uevent': Permission denied
loop6: Failed to write 'change' to '/sys/devices/virtual/block/loop6/uevent': Permission denied
loop7: Failed to write 'change' to '/sys/devices/virtual/block/loop7/uevent': Permission denied
dm-0: Failed to write 'change' to '/sys/devices/virtual/block/dm-0/uevent': Permission denied
dm-1: Failed to write 'change' to '/sys/devices/virtual/block/dm-1/uevent': Permission denied
dm-10: Failed to write 'change' to '/sys/devices/virtual/block/dm-10/uevent': Permission denied
dm-11: Failed to write 'change' to '/sys/devices/virtual/block/dm-11/uevent': Permission denied
dm-12: Failed to write 'change' to '/sys/devices/virtual/block/dm-12/uevent': Permission denied
dm-13: Failed to write 'change' to '/sys/devices/virtual/block/dm-13/uevent': Permission denied
dm-14: Failed to write 'change' to '/sys/devices/virtual/block/dm-14/uevent': Permission denied
dm-2: Failed to write 'change' to '/sys/devices/virtual/block/dm-2/uevent': Permission denied
dm-3: Failed to write 'change' to '/sys/devices/virtual/block/dm-3/uevent': Permission denied
dm-4: Failed to write 'change' to '/sys/devices/virtual/block/dm-4/uevent': Permission denied
dm-5: Failed to write 'change' to '/sys/devices/virtual/block/dm-5/uevent': Permission denied
dm-6: Failed to write 'change' to '/sys/devices/virtual/block/dm-6/uevent': Permission denied
dm-7: Failed to write 'change' to '/sys/devices/virtual/block/dm-7/uevent': Permission denied
dm-8: Failed to write 'change' to '/sys/devices/virtual/block/dm-8/uevent': Permission denied
dm-9: Failed to write 'change' to '/sys/devices/virtual/block/dm-9/uevent': Permission denied
Created symlink '/etc/systemd/system/graphical.target.wants/udisks2.service' β '/usr/lib/systemd/system/udisks2.service'.
Processing triggers for fontconfig (2.15.0-2.3) ...
Processing triggers for hicolor-icon-theme (0.18-2) ...
Processing triggers for libc-bin (2.41-12+deb13u3) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for libglib2.0-0t64:amd64 (2.84.4-3deb13u3) ...
Processing triggers for dbus (1.16.2-2) ...
Setting up libgtk-3-0t64:amd64 (3.24.49-3) ...
Processing triggers for shared-mime-info (2.4-5+b2) ...
Processing triggers for udev (257.13-1deb13u1) ...
Setting up at-spi2-core (2.56.2-1+deb13u1) ...
Processing triggers for mailcap (3.74) ...
Setting up libgtk-3-bin (3.24.49-3) ...
Setting up qt6-gtk-platformtheme:amd64 (6.8.2+dfsg-9+deb13u2) ...
Processing triggers for sgml-base (1.31+nmu1) ...
Setting up polkitd (126-2) ...
Creating group 'polkitd' with GID 988.
Creating user 'polkitd' (User for polkitd) with UID 988 and GID 988.
Processing triggers for dictionaries-common (1.30.10) ...
Processing triggers for libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-4+deb13u1) ...
Processing triggers for libc-bin (2.41-12+deb13u3) ...
βοΈ Installed Calibre
βοΈ Deployed: Calibre-Web (0.6.27)
βοΈ Setup uv 0.12.3
β³ Installing Python DependenciesUsing CPython 3.13.5 interpreter at: /usr/bin/python3
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
Resolved 4 packages in 273ms
Prepared 4 packages in 75ms
ββββββββββββββββββββ [0/4] Installing wheels... warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
If the cache and target directories are on different filesystems, hardlinking may not be supported.
If this is intentional, set export UV_LINK_MODE=copy or use --link-mode=copy to suppress this warning.
Installed 4 packages in 65ms
- packaging==26.3
- pip==26.2.1
- setuptools==84.0.0
- wheel==0.48.0
error: File not found: requirements.txt
βοΈ in line 42: exit code 2 (Misuse of shell builtins (e.g. syntax error)): while executing command uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir -r requirements.txt
--- Last 20 lines of log ---
[2026-08-12 07:35:40] [INFO] Setting up Container OS
[2026-08-12 07:35:41] [OK] Set up Container OS
[2026-08-12 07:35:41] [OK] Network Connected: 10.20.69.150
[2026-08-12 07:35:42] [OK] IPv4 Internet Connected
[2026-08-12 07:35:42] [ERROR] IPv6 Internet Not Connected
[2026-08-12 07:35:42] [OK] Git DNS: github.com:(βοΈ ) raw.githubusercontent.com:(βοΈ ) api.github.com:(βοΈ ) git.community-scripts.org:(βοΈ )
[2026-08-12 07:35:42] [INFO] Updating Container OS
[2026-08-12 07:43:38] [OK] Updated Container OS
[2026-08-12 07:43:38] [INFO] Installing Dependencies
[2026-08-12 07:52:13] [OK] Installed Dependencies
[2026-08-12 07:52:13] [INFO] Installing Calibre (for eBook conversion)
[2026-08-12 08:20:33] [OK] Installed Calibre
[2026-08-12 08:20:44] [INFO] Fetching GitHub release: Calibre-Web (0.6.27)
[2026-08-12 08:20:45] [OK] Deployed: Calibre-Web (0.6.27)
[2026-08-12 08:20:45] [INFO] Setup uv 0.12.3
[2026-08-12 08:20:56] [OK] Setup uv 0.12.3
[2026-08-12 08:20:56] [INFO] Installing Python Dependencies
[2026-08-12 08:20:57] [ERROR] in line 42: exit code 2 (Misuse of shell builtins (e.g. syntax error)): while executing command uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir -r requirements.txt
βοΈ Installation failed in container 136 (exit code: 2)
π Installation log: /tmp/calibre-web-136-64bc555d.log
Error: Misuse of shell builtins (e.g. syntax error)
πΌοΈ Additional context (optional).
No response
β Have you read and understood the above guidelines?
yes
π Did you run the script with verbose mode enabled?
Yes, verbose mode was enabled and the output is included below
π What is the name of the script you are using?
Calibre-Web
π What was the exact command used to execute the script?
bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/calibre-web.sh)"
βοΈ What settings are you using?
π₯οΈ Which Linux distribution are you using?
Debian 13
π§± Is this Proxmox host running arm64?
No
π Which Proxmox version are you on?
pve-manager/9.2.10/43df2e01f27a1a19 (running kernel: 7.0.14-11-pve)
π Provide a clear and concise description of the issue.
Install fails with several access denied issues, along with "file not found 'requirements.txt'". According to Claude, it's because the most recent release (August 8 version 0.6.27) broke this.
π Steps to reproduce the issue.
Run script on a Proxmox VE host.
β Paste the full error output (if available).
Setting up udisks2 (2.10.1-12.1+deb13u2) ...
nvme0n1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.3/0000:04:00.0/nvme/nvme0/nvme0n1/uevent': Permission denied
nvme1n1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.4/0000:05:00.0/nvme/nvme1/nvme1n1/uevent': Permission denied
nvme1n1p1: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.4/0000:05:00.0/nvme/nvme1/nvme1n1/nvme1n1p1/uevent': Permission denied
nvme1n1p2: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.4/0000:05:00.0/nvme/nvme1/nvme1n1/nvme1n1p2/uevent': Permission denied
nvme1n1p3: Failed to write 'change' to '/sys/devices/pci0000:00/0000:00:02.4/0000:05:00.0/nvme/nvme1/nvme1n1/nvme1n1p3/uevent': Permission denied
rbd0: Failed to write 'change' to '/sys/devices/rbd/0/block/rbd0/uevent': Permission denied
rbd1: Failed to write 'change' to '/sys/devices/rbd/1/block/rbd1/uevent': Permission denied
rbd2: Failed to write 'change' to '/sys/devices/rbd/2/block/rbd2/uevent': Permission denied
loop0: Failed to write 'change' to '/sys/devices/virtual/block/loop0/uevent': Permission denied
loop1: Failed to write 'change' to '/sys/devices/virtual/block/loop1/uevent': Permission denied
loop2: Failed to write 'change' to '/sys/devices/virtual/block/loop2/uevent': Permission denied
loop3: Failed to write 'change' to '/sys/devices/virtual/block/loop3/uevent': Permission denied
loop4: Failed to write 'change' to '/sys/devices/virtual/block/loop4/uevent': Permission denied
loop5: Failed to write 'change' to '/sys/devices/virtual/block/loop5/uevent': Permission denied
loop6: Failed to write 'change' to '/sys/devices/virtual/block/loop6/uevent': Permission denied
loop7: Failed to write 'change' to '/sys/devices/virtual/block/loop7/uevent': Permission denied
dm-0: Failed to write 'change' to '/sys/devices/virtual/block/dm-0/uevent': Permission denied
dm-1: Failed to write 'change' to '/sys/devices/virtual/block/dm-1/uevent': Permission denied
dm-10: Failed to write 'change' to '/sys/devices/virtual/block/dm-10/uevent': Permission denied
dm-11: Failed to write 'change' to '/sys/devices/virtual/block/dm-11/uevent': Permission denied
dm-12: Failed to write 'change' to '/sys/devices/virtual/block/dm-12/uevent': Permission denied
dm-13: Failed to write 'change' to '/sys/devices/virtual/block/dm-13/uevent': Permission denied
dm-14: Failed to write 'change' to '/sys/devices/virtual/block/dm-14/uevent': Permission denied
dm-2: Failed to write 'change' to '/sys/devices/virtual/block/dm-2/uevent': Permission denied
dm-3: Failed to write 'change' to '/sys/devices/virtual/block/dm-3/uevent': Permission denied
dm-4: Failed to write 'change' to '/sys/devices/virtual/block/dm-4/uevent': Permission denied
dm-5: Failed to write 'change' to '/sys/devices/virtual/block/dm-5/uevent': Permission denied
dm-6: Failed to write 'change' to '/sys/devices/virtual/block/dm-6/uevent': Permission denied
dm-7: Failed to write 'change' to '/sys/devices/virtual/block/dm-7/uevent': Permission denied
dm-8: Failed to write 'change' to '/sys/devices/virtual/block/dm-8/uevent': Permission denied
dm-9: Failed to write 'change' to '/sys/devices/virtual/block/dm-9/uevent': Permission denied
Created symlink '/etc/systemd/system/graphical.target.wants/udisks2.service' β '/usr/lib/systemd/system/udisks2.service'.
Processing triggers for fontconfig (2.15.0-2.3) ...
Processing triggers for hicolor-icon-theme (0.18-2) ...
Processing triggers for libc-bin (2.41-12+deb13u3) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for libglib2.0-0t64:amd64 (2.84.4-3
deb13u3) ...deb13u1) ...Processing triggers for dbus (1.16.2-2) ...
Setting up libgtk-3-0t64:amd64 (3.24.49-3) ...
Processing triggers for shared-mime-info (2.4-5+b2) ...
Processing triggers for udev (257.13-1
Setting up at-spi2-core (2.56.2-1+deb13u1) ...
Processing triggers for mailcap (3.74) ...
Setting up libgtk-3-bin (3.24.49-3) ...
Setting up qt6-gtk-platformtheme:amd64 (6.8.2+dfsg-9+deb13u2) ...
Processing triggers for sgml-base (1.31+nmu1) ...
Setting up polkitd (126-2) ...
Creating group 'polkitd' with GID 988.
Creating user 'polkitd' (User for polkitd) with UID 988 and GID 988.
Processing triggers for dictionaries-common (1.30.10) ...
Processing triggers for libgdk-pixbuf-2.0-0:amd64 (2.42.12+dfsg-4+deb13u1) ...
Processing triggers for libc-bin (2.41-12+deb13u3) ...
βοΈ Installed Calibre
βοΈ Deployed: Calibre-Web (0.6.27)
βοΈ Setup uv 0.12.3
β³ Installing Python DependenciesUsing CPython 3.13.5 interpreter at: /usr/bin/python3
Creating virtual environment at: .venv
Activate with: source .venv/bin/activate
Resolved 4 packages in 273ms
Prepared 4 packages in 75ms
ββββββββββββββββββββ [0/4] Installing wheels... warning: Failed to hardlink files; falling back to full copy. This may lead to degraded performance.
If the cache and target directories are on different filesystems, hardlinking may not be supported.
If this is intentional, set
export UV_LINK_MODE=copyor use--link-mode=copyto suppress this warning.Installed 4 packages in 65ms
error: File not found:
requirements.txtβοΈ in line 42: exit code 2 (Misuse of shell builtins (e.g. syntax error)): while executing command uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir -r requirements.txt
--- Last 20 lines of log ---
[2026-08-12 07:35:40] [INFO] Setting up Container OS
[2026-08-12 07:35:41] [OK] Set up Container OS
[2026-08-12 07:35:41] [OK] Network Connected: 10.20.69.150
[2026-08-12 07:35:42] [OK] IPv4 Internet Connected
[2026-08-12 07:35:42] [ERROR] IPv6 Internet Not Connected
[2026-08-12 07:35:42] [OK] Git DNS: github.com:(βοΈ ) raw.githubusercontent.com:(βοΈ ) api.github.com:(βοΈ ) git.community-scripts.org:(βοΈ )
[2026-08-12 07:35:42] [INFO] Updating Container OS
[2026-08-12 07:43:38] [OK] Updated Container OS
[2026-08-12 07:43:38] [INFO] Installing Dependencies
[2026-08-12 07:52:13] [OK] Installed Dependencies
[2026-08-12 07:52:13] [INFO] Installing Calibre (for eBook conversion)
[2026-08-12 08:20:33] [OK] Installed Calibre
[2026-08-12 08:20:44] [INFO] Fetching GitHub release: Calibre-Web (0.6.27)
[2026-08-12 08:20:45] [OK] Deployed: Calibre-Web (0.6.27)
[2026-08-12 08:20:45] [INFO] Setup uv 0.12.3
[2026-08-12 08:20:56] [OK] Setup uv 0.12.3
[2026-08-12 08:20:56] [INFO] Installing Python Dependencies
[2026-08-12 08:20:57] [ERROR] in line 42: exit code 2 (Misuse of shell builtins (e.g. syntax error)): while executing command uv pip install --python /opt/calibre-web/.venv/bin/python --no-cache-dir -r requirements.txt
βοΈ Installation failed in container 136 (exit code: 2)
π Installation log: /tmp/calibre-web-136-64bc555d.log
Error: Misuse of shell builtins (e.g. syntax error)
πΌοΈ Additional context (optional).
No response