-
-
Notifications
You must be signed in to change notification settings - Fork 141
Open
Labels
Description
Bug description
When starting up the v13 container with the foundryvtt-module-check.sh patch I get this npm error in the log...
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [debug] Sourcing patch file: /tmp/patch_url.sh.CrD0C0
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] Checking module compatibility with FoundryVTT version 12.331
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] Installing semver package
[foundry] | npm error code EACCES
[foundry] | npm error syscall open
[foundry] | npm error path /home/node/.npm/_cacache/tmp/5a9c03b4
[foundry] | npm error errno EACCES
[foundry] | npm error
[foundry] | npm error Your cache folder contains root-owned files, due to a bug in
[foundry] | npm error previous versions of npm which has since been addressed.
[foundry] | npm error
[foundry] | npm error To permanently fix this problem, please run:
[foundry] | npm error sudo chown -R 1001:1001 "/home/node/.npm"
[foundry] | npm error Log files were not written due to an error writing to the directory: /home/node/.npm/_logs
[foundry] | npm error You can rerun the command with `--loglevel=verbose` to see the logs in your terminal
You can see the root owned files:
$ podman run --rm -it --entrypoint bash docker.io/felddy/foundryvtt:13 -c "ls -l .npm"
total 8
drwxr-xr-x 5 root root 4096 Jun 27 12:31 _cacache
drwxr-xr-x 2 root root 4096 Jun 27 12:31 _logs
-rw-r--r-- 1 root root 0 Jun 27 12:31 _update-notifier-last-checked
Steps to reproduce
Start the container with CONTAINER_PATCH_URLS=https://gist.githubusercontent.com/felddy/a02d66c3817f8223652d96febe580153/raw/foundryvtt-module-check.sh and look at the logs
Expected behavior
The npm error should not happen. The semver package should successfully install and then the module compatibility check should take place.
Container metadata
com.foundryvtt.version = "13.346"
org.opencontainers.image.authors = "[email protected]"
org.opencontainers.image.created = "2025-06-27T12:33:01.449Z"
org.opencontainers.image.description = "An easy-to-deploy containerized Foundry Virtual Tabletop server."
org.opencontainers.image.licenses = "MIT"
org.opencontainers.image.revision = "33b246966037a7efa71845adb5462b33b30a75c6"
org.opencontainers.image.source = "https://github.com/felddy/foundryvtt-docker"
org.opencontainers.image.title = "foundryvtt-docker"
org.opencontainers.image.url = "https://github.com/felddy/foundryvtt-docker"
org.opencontainers.image.vendor = "Geekpad"
org.opencontainers.image.version = "13.346.0"Relevant log output
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [info] Starting felddy/foundryvtt container v13.346.0
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] CONTAINER_VERBOSE set. Debug logging enabled.
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] Running as: uid=1001(foundry) gid=1001(1001) groups=1001(1001)
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] Environment:
[foundry] | CONTAINER_CACHE=/data/container_cache
[foundry] | CONTAINER_CACHE_SIZE=2
[foundry] | CONTAINER_PATCH_URLS=https://gist.githubusercontent.com/felddy/a02d66c3817f8223652d96febe580153/raw/foundryvtt-module-check.sh
[foundry] | CONTAINER_VERBOSE=true
[foundry] | FOUNDRY_AWS_CONFIG=s3.json
[foundry] | FOUNDRY_COMPRESS_WEBSOCKET=true
[foundry] | FOUNDRY_MINIFY_STATIC_FILES=true
[foundry] | FOUNDRY_PROXY_PORT=10443
[foundry] | FOUNDRY_PROXY_SSL=true
[foundry] | FOUNDRY_TELEMETRY=false
[foundry] | FOUNDRY_VERSION=12.343
[foundry] | FOUNDRY_WORLD=oracle-of-war
[foundry] | HOME=/home/node
[foundry] | HOSTNAME=foundry
[foundry] | NODE_OPTIONS=--max-old-space-size=2048
[foundry] | NODE_VERSION=22.17.0
[foundry] | PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
[foundry] | PWD=/home/node
[foundry] | SHLVL=1
[foundry] | TZ=Europe/London
[foundry] | YARN_VERSION=1.22.22
[foundry] | _=/usr/bin/env
[foundry] | container=podman
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] Data directory: /data
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] Mount info for /data: /dev/vda2[/home/foundry/foundry/data] ext4 rw,relatime,errors=remount-ro
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] Testing permissions on /data/.container-permissions-test.txt
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] Volume write test succeeded.
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] Volume read test succeeded.
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] Volume delete test succeeded.
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [debug] All permissions tests succeeded.
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [warn] FOUNDRY_VERSION has been manually set and does not match the container's version.
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [warn] Expected 13.346 but found 12.343
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [warn] The container may not function properly with this version mismatch.
[foundry] | Entrypoint | 2025-07-15 21:12:01 | [info] Reading configured secrets from: /run/secrets/config.json
[5etools] | fetch https://dl-cdn.alpinelinux.org/alpine/v3.20/community/x86_64/APKINDEX.tar.gz
[foundry] | Entrypoint | 2025-07-15 21:12:02 | [info] No Foundry Virtual Tabletop installation detected.
[foundry] | Entrypoint | 2025-07-15 21:12:02 | [info] Using FOUNDRY_USERNAME and FOUNDRY_PASSWORD to authenticate.
[5etools] | v3.20.6-247-g5e93e903f04 [https://dl-cdn.alpinelinux.org/alpine/v3.20/main]
[5etools] | v3.20.6-245-g905bc1f918b [https://dl-cdn.alpinelinux.org/alpine/v3.20/community]
[5etools] | OK: 24179 distinct packages available
[foundry] | Authenticate | 2025-07-15 21:12:02 | [debug] Saving cookies to: /tmp/cookiejar.json
[foundry] | Authenticate | 2025-07-15 21:12:02 | [info] Requesting CSRF tokens from https://foundryvtt.com
[foundry] | Authenticate | 2025-07-15 21:12:02 | [debug] Fetching: https://foundryvtt.com
[5etools] | (1/1) Upgrading lighttpd (1.4.76-r0 -> 1.4.79-r0)
[5etools] | Executing lighttpd-1.4.79-r0.pre-upgrade
[5etools] | Executing busybox-1.36.1-r29.trigger
[5etools] | OK: 13 MiB in 28 packages
[5etools] | 2025-07-15 20:12:02: (../src/server.c.1974) server started (lighttpd/1.4.79)
[foundry] | Authenticate | 2025-07-15 21:12:03 | [info] Logging in as: REDACTED
[foundry] | Authenticate | 2025-07-15 21:12:03 | [debug] Fetching: https://foundryvtt.com/auth/login/
[foundry] | Authenticate | 2025-07-15 21:12:04 | [debug] Community URL: /community/REDACTED
[foundry] | Authenticate | 2025-07-15 21:12:04 | [info] Successfully logged in as: REDACTED
[foundry] | Entrypoint | 2025-07-15 21:12:04 | [info] Using authenticated credentials to fetch release URL.
[foundry] | ReleaseURL | 2025-07-15 21:12:04 | [debug] Loading cookies from: /tmp/cookiejar.json
[foundry] | ReleaseURL | 2025-07-15 21:12:04 | [info] Fetching presigned release URL for build 343...
[foundry] | ReleaseURL | 2025-07-15 21:12:04 | [debug] Attempt 1 of 1
[foundry] | ReleaseURL | 2025-07-15 21:12:04 | [debug] Fetching: https://foundryvtt.com/releases/download?build=343&platform=node&response_type=json
[foundry] | ReleaseURL | 2025-07-15 21:12:05 | [debug] Presigned URL: https://r2.foundryvtt.com/releases/12.343/FoundryVTT-12.343.zip?verify=REDACTED
[foundry] | Entrypoint | 2025-07-15 21:12:05 | [info] Using CONTAINER_CACHE: /data/container_cache
[foundry] | Entrypoint | 2025-07-15 21:12:05 | [info] Downloading Foundry Virtual Tabletop release.
[foundry] | % Total % Received % Xferd Average Speed Time Time Time Current
[foundry] | Dload Upload Total Spent Left Speed
[foundry] |
[foundry] | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0* Trying 172.66.163.254:443...
[foundry] | * Connected to r2.foundryvtt.com (172.66.163.254) port 443 (#0)
[foundry] | * ALPN: offers h2,http/1.1
[foundry] | } [5 bytes data]
[foundry] | * TLSv1.3 (OUT), TLS handshake, Client hello (1):
[foundry] | } [512 bytes data]
[foundry] | * CAfile: /etc/ssl/certs/ca-certificates.crt
[foundry] | * CApath: /etc/ssl/certs
[foundry] | { [5 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Server hello (2):
[foundry] | { [122 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[foundry] | { [19 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Certificate (11):
[foundry] | { [2526 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, CERT verify (15):
[foundry] | { [78 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Finished (20):
[foundry] | { [52 bytes data]
[foundry] | * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
[foundry] | } [1 bytes data]
[foundry] | * TLSv1.3 (OUT), TLS handshake, Finished (20):
[foundry] | } [52 bytes data]
[foundry] | * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
[foundry] | * ALPN: server accepted h2
[foundry] | * Server certificate:
[foundry] | * subject: CN=r2.foundryvtt.com
[foundry] | * start date: Jun 22 03:53:52 2025 GMT
[foundry] | * expire date: Sep 20 04:53:47 2025 GMT
[foundry] | * subjectAltName: host "r2.foundryvtt.com" matched cert's "r2.foundryvtt.com"
[foundry] | * issuer: C=US; O=Google Trust Services; CN=WE1
[foundry] | * SSL certificate verify ok.
[foundry] | } [5 bytes data]
[foundry] | * using HTTP/2
[foundry] | * h2h3 [:method: GET]
[foundry] | * h2h3 [:path: /releases/12.343/FoundryVTT-12.343.zip?verify=REDACTED]
[foundry] | * h2h3 [:scheme: https]
[foundry] | * h2h3 [:authority: r2.foundryvtt.com]
[foundry] | * h2h3 [user-agent: curl/7.88.1 (felddy/foundryvtt:13.346.0)]
[foundry] | * h2h3 [accept: */*]
[foundry] | * h2h3 [if-modified-since: Tue, 15 Jul 2025 19:57:48 GMT]
[foundry] | * Using Stream ID: 1 (easy handle 0x55b43c51f7a0)
[foundry] | } [5 bytes data]
[foundry] | > GET /releases/12.343/FoundryVTT-12.343.zip?verify=REDACTED HTTP/2
[foundry] |
[foundry] | > Host: r2.foundryvtt.com
[foundry] |
[foundry] | > user-agent: curl/7.88.1 (felddy/foundryvtt:13.346.0)
[foundry] |
[foundry] | > accept: */*
[foundry] |
[foundry] | > if-modified-since: Tue, 15 Jul 2025 19:57:48 GMT
[foundry] |
[foundry] | >
[foundry] |
[foundry] | { [5 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[foundry] | { [230 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[foundry] | { [230 bytes data]
[foundry] | * old SSL session ID is stale, removing
[foundry] | { [5 bytes data]
[foundry] | < HTTP/2 304
[foundry] |
[foundry] | < date: Tue, 15 Jul 2025 20:12:06 GMT
[foundry] |
[foundry] | < etag: "2fc1d36154ff6fd67ed4a7e9eb31a657-28"
[foundry] |
[foundry] | < last-modified: Thu, 08 May 2025 14:42:43 GMT
[foundry] |
[foundry] | < vary: Accept-Encoding
[foundry] |
[foundry] | < cache-control: max-age=14400
[foundry] |
[foundry] | < cf-cache-status: MISS
[foundry] |
[foundry] | < server: cloudflare
[foundry] |
[foundry] | < cf-ray: 95fbe9a8fe8a002f-LHR
[foundry] |
[foundry] | <
[foundry] |
[foundry] | { [0 bytes data]
[foundry] |
[foundry] | 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
[foundry] | * Connection #0 to host r2.foundryvtt.com left intact
[foundry] | Entrypoint | 2025-07-15 21:12:05 | [info] Installing Foundry Virtual Tabletop 12.343
[foundry] | Entrypoint | 2025-07-15 21:12:05 | [debug] Checking mime-type of release file: /data/container_cache/foundryvtt-12.343.zip
[foundry] | Entrypoint | 2025-07-15 21:12:05 | [debug] Found mime-type: application/zip
[foundry] | Entrypoint | 2025-07-15 21:12:05 | [debug] Extracting Linux release file.
[foundry] | Entrypoint | 2025-07-15 21:12:05 | [warn] You can conserve disk space by using Node.js releases instead of Linux releases.
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [debug] Installation completed.
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] Preserving release archive file in cache.
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] Cleaning up cache directory: /data/container_cache
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] Keeping 2 latest versions.
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] No cache cleanup was necessary.
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [warn] CONTAINER_PATCH_URLS is set: Only use patch URLs from trusted sources!
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] Downloading patch from URL: https://gist.githubusercontent.com/felddy/a02d66c3817f8223652d96febe580153/raw/foundryvtt-module-check.sh
[foundry] | * Trying 185.199.108.133:443...
[foundry] | * Connected to gist.githubusercontent.com (185.199.108.133) port 443 (#0)
[foundry] | * ALPN: offers h2,http/1.1
[foundry] | } [5 bytes data]
[foundry] | * TLSv1.3 (OUT), TLS handshake, Client hello (1):
[foundry] | } [512 bytes data]
[foundry] | * CAfile: /etc/ssl/certs/ca-certificates.crt
[foundry] | * CApath: /etc/ssl/certs
[foundry] | { [5 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Server hello (2):
[foundry] | { [122 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
[foundry] | { [19 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Certificate (11):
[foundry] | { [4668 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, CERT verify (15):
[foundry] | { [264 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Finished (20):
[foundry] | { [36 bytes data]
[foundry] | * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
[foundry] | } [1 bytes data]
[foundry] | * TLSv1.3 (OUT), TLS handshake, Finished (20):
[foundry] | } [36 bytes data]
[foundry] | * SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
[foundry] | * ALPN: server accepted h2
[foundry] | * Server certificate:
[foundry] | * subject: CN=*.github.io
[foundry] | * start date: Mar 7 00:00:00 2025 GMT
[foundry] | * expire date: Mar 7 23:59:59 2026 GMT
[foundry] | * subjectAltName: host "gist.githubusercontent.com" matched cert's "*.githubusercontent.com"
[foundry] | * issuer: C=GB; ST=Greater Manchester; L=Salford; O=Sectigo Limited; CN=Sectigo RSA Domain Validation Secure Server CA
[foundry] | * SSL certificate verify ok.
[foundry] | } [5 bytes data]
[foundry] | * using HTTP/2
[foundry] | * h2h3 [:method: GET]
[foundry] | * h2h3 [:path: /felddy/a02d66c3817f8223652d96febe580153/raw/foundryvtt-module-check.sh]
[foundry] | * h2h3 [:scheme: https]
[foundry] | * h2h3 [:authority: gist.githubusercontent.com]
[foundry] | * h2h3 [user-agent: curl/7.88.1 (felddy/foundryvtt:13.346.0)]
[foundry] | * h2h3 [accept: */*]
[foundry] | * Using Stream ID: 1 (easy handle 0x55a3b95087a0)
[foundry] | } [5 bytes data]
[foundry] | > GET /felddy/a02d66c3817f8223652d96febe580153/raw/foundryvtt-module-check.sh HTTP/2
[foundry] | > Host: gist.githubusercontent.com
[foundry] | > user-agent: curl/7.88.1 (felddy/foundryvtt:13.346.0)
[foundry] | > accept: */*
[foundry] | >
[foundry] | { [5 bytes data]
[foundry] | * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
[foundry] | { [193 bytes data]
[foundry] | < HTTP/2 200
[foundry] | < cache-control: max-age=300
[foundry] | < content-security-policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
[foundry] | < content-type: text/plain; charset=utf-8
[foundry] | < etag: "d25a40da7498b41864fee5ae5cc68ab95fe2e6cd1ac95c74a2fe9e14810154b0"
[foundry] | < strict-transport-security: max-age=31536000
[foundry] | < x-content-type-options: nosniff
[foundry] | < x-frame-options: deny
[foundry] | < x-xss-protection: 1; mode=block
[foundry] | < x-github-request-id: 4AA0:1A9BD1:24B66:543CD:6876B2B0
[foundry] | < accept-ranges: bytes
[foundry] | < date: Tue, 15 Jul 2025 20:12:08 GMT
[foundry] | < via: 1.1 varnish
[foundry] | < x-served-by: cache-man4143-MAN
[foundry] | < x-cache: HIT
[foundry] | < x-cache-hits: 1
[foundry] | < x-timer: S1752610328.441370,VS0,VE1
[foundry] | < vary: Authorization,Accept-Encoding
[foundry] | < access-control-allow-origin: *
[foundry] | < cross-origin-resource-policy: cross-origin
[foundry] | < x-fastly-request-id: b9dfb77a4724b6f1c5f9f8fdf54c239da15a1df6
[foundry] | < expires: Tue, 15 Jul 2025 20:17:08 GMT
[foundry] | < source-age: 25
[foundry] | < content-length: 2689
[foundry] | <
[foundry] | { [5 bytes data]
[foundry] | * Connection #0 to host gist.githubusercontent.com left intact
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [debug] Sourcing patch file: /tmp/patch_url.sh.CrD0C0
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] Checking module compatibility with FoundryVTT version 12.331
[foundry] | Entrypoint | 2025-07-15 21:12:07 | [info] Installing semver package
[foundry] | npm error code EACCES
[foundry] | npm error syscall open
[foundry] | npm error path /home/node/.npm/_cacache/tmp/5a9c03b4
[foundry] | npm error errno EACCES
[foundry] | npm error
[foundry] | npm error Your cache folder contains root-owned files, due to a bug in
[foundry] | npm error previous versions of npm which has since been addressed.
[foundry] | npm error
[foundry] | npm error To permanently fix this problem, please run:
[foundry] | npm error sudo chown -R 1001:1001 "/home/node/.npm"
[foundry] | npm error Log files were not written due to an error writing to the directory: /home/node/.npm/_logs
[foundry] | npm error You can rerun the command with `--loglevel=verbose` to see the logs in your terminalCode of Conduct
- I agree to follow this project's Code of Conduct
Reactions are currently unavailable