Hi guys, I think we need to revive this post again:
The Rocket.Chat Apps Engine is broken on both Cloudron package versions 3.1.0 (upstream 8.2.1) and 3.2.0 (upstream 8.3.1). No marketplace apps can be installed or run.
Error logs:
error: failed reading lockfile '/app/code/bundle/programs/server/npm/node_modules/@rocket.chat/apps-engine/deno-runtime/deno.lock'
Caused by:
Error getting response at https://registry.npmjs.org/@msgpack/msgpack for package "@msgpack/msgpack": An npm specifier not found in cache: "@msgpack/msgpack", --cached-only is specified.
Root cause:
The deno.lock file is located in /app/code/, which is on the read-only Docker image layer. When Deno tries to resolve the @msgpack/msgpack npm dependency, it can't find it in cache and can't update the lockfile because the filesystem is read-only (Read-only file system, os error 30).
This means the Deno runtime can't start app subprocesses, so all marketplace apps (e.g. Giphy) fail with compiler errors and crash-loop.
Steps to reproduce:
Install or update to Rocket.Chat 3.1.0 or 3.2.0 on Cloudron
Go to Admin > Apps > Marketplace
Try to install any app (e.g. Giphy)
Installation fails with "The App had compiler errors, can not enable it"
Suggested fix:
Either pre-cache the @msgpack/msgpack npm package in the Docker image at build time, or move the Deno cache/lockfile to a writable location (e.g. /app/data/ or /tmp/).
Thanks!