pnpm Error on ZFS filesystem error #1533

Closed
opened 2026-02-05 01:28:51 +03:00 by OVERLORD · 11 comments
Owner

Originally created by @dsrdatta on GitHub (Aug 25, 2025).

Originally assigned to: @vhsdream on GitHub.

Have you read and understood the above guidelines?

yes

📜 What is the name of the script you are using?

Immich

📂 What was the exact command used to execute the script?

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/immich.sh)"

⚙️ What settings are you using?

  • Default Settings
  • Advanced Settings

🖥️ Which Linux distribution are you using?

Debian 12

📝 Provide a clear and concise description of the issue.

I am getting an error if I try to install immich on a ZFS file-system but the script seems to work fine on ext4, i.e., if the lxc storage is ext4 works fine but fails on ZFS. I have a ZFS mirror which I use for all lxcs & VMs.

🔄 Steps to reproduce the issue.

  1. run latest install script
  2. choose lxc storage as zfs
  3. intel-VAAPI yes
  4. open-vino yes
  5. error as immich web install

Paste the full error output (if available).

 ERR_PNPM_EAGAIN  EAGAIN: resource temporarily unavailable, copyfile '/root/.local/share/pnpm/store/v10/files/5e/8096c72f163368f4d3e131aca410889ab2c1b40d380af33ec63b43a720b97dfd1fa8b4f7335580005618a28975e8a75e12fab1e1c207787277e922ecce5a62-exec' -> '/opt/immich/source/node_modules/.pnpm/@esbuild+darwin-arm64@0.19.12/node_modules/@esbuild/darwin-arm64_tmp_90921/bin/esbuild'

[ERROR] in line 301: exit code 0: while executing command $STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install

[ERROR] in line 1353: exit code 0: while executing command lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/${var_install}.sh)"

🖼️ Additional context (optional).

Image
Originally created by @dsrdatta on GitHub (Aug 25, 2025). Originally assigned to: @vhsdream on GitHub. ### ✅ Have you read and understood the above guidelines? yes ### 📜 What is the name of the script you are using? Immich ### 📂 What was the exact command used to execute the script? bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/immich.sh)" ### ⚙️ What settings are you using? - [ ] Default Settings - [x] Advanced Settings ### 🖥️ Which Linux distribution are you using? Debian 12 ### 📝 Provide a clear and concise description of the issue. I am getting an error if I try to install immich on a ZFS file-system but the script seems to work fine on ext4, i.e., if the lxc storage is ext4 works fine but fails on ZFS. I have a ZFS mirror which I use for all lxcs & VMs. ### 🔄 Steps to reproduce the issue. 1. run latest install script 2. choose lxc storage as zfs 3. intel-VAAPI yes 4. open-vino yes 5. error as immich web install ### ❌ Paste the full error output (if available).  ERR_PNPM_EAGAIN  EAGAIN: resource temporarily unavailable, copyfile '/root/.local/share/pnpm/store/v10/files/5e/8096c72f163368f4d3e131aca410889ab2c1b40d380af33ec63b43a720b97dfd1fa8b4f7335580005618a28975e8a75e12fab1e1c207787277e922ecce5a62-exec' -> '/opt/immich/source/node_modules/.pnpm/@esbuild+darwin-arm64@0.19.12/node_modules/@esbuild/darwin-arm64_tmp_90921/bin/esbuild' [ERROR] in line 301: exit code 0: while executing command $STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install [ERROR] in line 1353: exit code 0: while executing command lxc-attach -n "$CTID" -- bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/install/${var_install}.sh)" ### 🖼️ Additional context (optional). <img width="2694" height="849" alt="Image" src="https://github.com/user-attachments/assets/df575793-4a25-43fd-be2f-1dedcea30b97" />
OVERLORD added the questionbuginvestigation labels 2026-02-05 01:28:51 +03:00
Author
Owner

@michelroegl-brunner commented on GitHub (Aug 25, 2025):

@vhsdream

@michelroegl-brunner commented on GitHub (Aug 25, 2025): @vhsdream
Author
Owner

@vhsdream commented on GitHub (Aug 25, 2025):

@dsrdatta That ain't it. I use ZFS and have zero issues:

Image

Are you sure your mirror is OK?

@vhsdream commented on GitHub (Aug 25, 2025): @dsrdatta That ain't it. I use ZFS and have zero issues: <img width="754" height="291" alt="Image" src="https://github.com/user-attachments/assets/b3cfce74-615c-450f-be49-d79c6f7e3030" /> Are you sure your mirror is OK?
Author
Owner

@dsrdatta commented on GitHub (Aug 25, 2025):

@vhsdream Thanks for looking into it, zfs looks fine I think. There is a zfs update recommendation but I am its not that old 2.3.3 at-least. I am using running latest pve9. Do you think it could something to do with Debian12 lxc on pve9 ?

Image
@dsrdatta commented on GitHub (Aug 25, 2025): @vhsdream Thanks for looking into it, zfs looks fine I think. There is a zfs update recommendation but I am its not that old 2.3.3 at-least. I am using running latest pve9. Do you think it could something to do with Debian12 lxc on pve9 ? <img width="988" height="382" alt="Image" src="https://github.com/user-attachments/assets/cda88bb8-f4fa-4de9-8635-2cc568f6115f" />
Author
Owner

@vhsdream commented on GitHub (Aug 25, 2025):

@dsrdatta Thanks for confirming. I have to admit I know next to nothing about ZFS so I'll be of limited use here.

And about the Bookworm LXC running on PVE9 - it could be related; there have been a few weird issues that people have been reporting, that I can't test as I haven't updated my nodes to 9 yet.

@vhsdream commented on GitHub (Aug 25, 2025): @dsrdatta Thanks for confirming. I have to admit I know next to nothing about ZFS so I'll be of limited use here. And about the Bookworm LXC running on PVE9 - it could be related; there have been a few weird issues that people have been reporting, that I can't test as I haven't updated my nodes to 9 yet.
Author
Owner

@dsrdatta commented on GitHub (Aug 27, 2025):

@vhsdream looks like there is a wierd bug with pnpm between pnpm, docker and ZFS.

Adding -package-import-method=hardlink to $STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install seems to work in line 303 in immich-install.sh not sure why it worked.

Found solution here https://github.com/hoppscotch/hoppscotch/issues/4960#issuecomment-2780903150

EDIT:- more reference: https://github.com/pnpm/pnpm/issues/7024#issuecomment-1825412952

@dsrdatta commented on GitHub (Aug 27, 2025): @vhsdream looks like there is a wierd bug with pnpm between pnpm, docker and ZFS. Adding `-package-import-method=hardlink` to `$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install` seems to work in line 303 in immich-install.sh not sure why it worked. Found solution here [https://github.com/hoppscotch/hoppscotch/issues/4960#issuecomment-2780903150](https://github.com/hoppscotch/hoppscotch/issues/4960#issuecomment-2780903150) EDIT:- more reference: [https://github.com/pnpm/pnpm/issues/7024#issuecomment-1825412952](https://github.com/pnpm/pnpm/issues/7024#issuecomment-1825412952)
Author
Owner

@vhsdream commented on GitHub (Aug 27, 2025):

@dsrdatta Whoa thanks for coming through! OK I will have to figure out a way to ensure this has no other effects, and if it's safe to use that flag even without a ZFS filesystem underneath.

@vhsdream commented on GitHub (Aug 27, 2025): @dsrdatta Whoa thanks for coming through! OK I will have to figure out a way to ensure this has no other effects, and if it's safe to use that flag even without a ZFS filesystem underneath.
Author
Owner

@vhsdream commented on GitHub (Aug 28, 2025):

@dsrdatta Would you be willing to test a fresh install of Immich if you can spare the resources? Instead of a build-time flag I've instead appended to the existing .npmrc in /opt/immich/source/web, and rather than using hardlinks I've opted for a good old-fashioned copy. Since my implementation of ZFS was fine I can't really say if what I did will help you, without you testing it.

Before blindly running the install script from my fork, please check out the changes to ensure I'm not hacking your world:

d690fe95ea

Then, if you feel OK with that, you can paste this into your Node:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/vhsdream/ProxmoxVE/refs/heads/fix/immich-pnpm/ct/immich.sh)"

@vhsdream commented on GitHub (Aug 28, 2025): @dsrdatta Would you be willing to test a fresh install of Immich if you can spare the resources? Instead of a build-time flag I've instead appended to the existing `.npmrc` in `/opt/immich/source/web`, and rather than using hardlinks I've opted for a good old-fashioned copy. Since my implementation of ZFS was fine I can't really say if what I did will help you, without you testing it. Before blindly running the install script from my fork, please check out the changes to ensure I'm not hacking your world: https://github.com/vhsdream/ProxmoxVE/commit/d690fe95eae727e6dc69cf2d512e7cdaf940db88 Then, if you feel OK with that, you can paste this into your Node: `bash -c "$(curl -fsSL https://raw.githubusercontent.com/vhsdream/ProxmoxVE/refs/heads/fix/immich-pnpm/ct/immich.sh)"`
Author
Owner

@dsrdatta commented on GitHub (Aug 29, 2025):

@vhsdream thanks. I tested this unfortunately, having the exact same error. On pnpm repo, someone suggested to use package-import-method=clone-or-copy . Technically auto, the default, should work as it goes from cloning>hardlinks>copying by default. weird bug.

@dsrdatta commented on GitHub (Aug 29, 2025): @vhsdream thanks. I tested this unfortunately, having the exact same error. On pnpm repo, someone suggested to use `package-import-method=clone-or-copy `. Technically `auto`, the default, should work as it goes from cloning>hardlinks>copying by default. weird bug.
Author
Owner

@vhsdream commented on GitHub (Sep 2, 2025):

@dsrdatta So I think what I did had zero effect because Immich recently switched from npm to pnpm, and that .npmrc will only work for pnpm v9 anyway. I've now explicitly added packageImportMethod: auto to the pnpm-workspace.yaml file (and you're correct about auto being the default). If possible please test another install. If it still doesn't work then the next test will just be hardlink only.

Commit with change: d94a13b9e8

Install script: bash -c "$(curl -fsSL https://raw.githubusercontent.com/vhsdream/ProxmoxVE/refs/heads/fix/immich-pnpm/ct/immich.sh)"

@vhsdream commented on GitHub (Sep 2, 2025): @dsrdatta So I think what I did had zero effect because Immich recently switched from npm to pnpm, and that .npmrc will only work for pnpm v9 anyway. I've now explicitly added `packageImportMethod: auto` to the `pnpm-workspace.yaml` file (and you're correct about auto being the default). If possible please test another install. If it still doesn't work then the next test will just be hardlink only. Commit with change: https://github.com/vhsdream/ProxmoxVE/commit/d94a13b9e8d706fb72c962a5e07592a02aead205 Install script: `bash -c "$(curl -fsSL https://raw.githubusercontent.com/vhsdream/ProxmoxVE/refs/heads/fix/immich-pnpm/ct/immich.sh)"`
Author
Owner

@schmidma commented on GitHub (Sep 15, 2025):

I tried to add

echo "packageImportMethod: auto" >>./pnpm-workspace.yaml

to install/immich-install.sh. This did not work, and ended up in the same error message of

ERR_PNPM_EAGAIN  EAGAIN: resource temporarily unavailable, copyfile [...]

Changing this to packageImportMethod: clone-or-copy also did not work.

Only adding --package-import-method=hardlink to

$STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install --package-import-method=hardlink

successfully installed.

Changes: 65e561dcbe...10582c933c

@schmidma commented on GitHub (Sep 15, 2025): I tried to add ```sh echo "packageImportMethod: auto" >>./pnpm-workspace.yaml ``` to `install/immich-install.sh`. This did not work, and ended up in the same error message of ``` ERR_PNPM_EAGAIN  EAGAIN: resource temporarily unavailable, copyfile [...] ``` Changing this to `packageImportMethod: clone-or-copy` also did not work. Only adding `--package-import-method=hardlink` to ``` $STD pnpm --filter @immich/sdk --filter immich-web --frozen-lockfile --force install --package-import-method=hardlink ``` successfully installed. Changes: https://github.com/schmidma/ProxmoxVE/compare/65e561dcbe90f54148e2c6c1440a1524775aed7a...10582c933cf5c7d58ec3b1c1addbe9bf8d6a2f49
Author
Owner

@vhsdream commented on GitHub (Sep 17, 2025):

@schmidma Thanks again, but I'm going to potentially annoy you by asking you to confirm that if we have packageImportMethod: hardlink in /opt/immich/source/pnpm-workspace.yaml that it'll work for you. It should be the same as adding the flag to the command, just cleaner.

@vhsdream commented on GitHub (Sep 17, 2025): @schmidma Thanks again, but I'm going to potentially annoy you by asking you to confirm that if we have `packageImportMethod: hardlink` in `/opt/immich/source/pnpm-workspace.yaml` that it'll work for you. It should be the same as adding the flag to the command, just cleaner.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ProxmoxVE#1533