-
-
Notifications
You must be signed in to change notification settings - Fork 139
Open
Labels
Description
Bug description
As far as I can tell, entrypoint.sh never actually reads from the container cache.
If $install_required = true, then it downloads Foundry VTT and saves it in the cache directory. It should first check to see if it's already there, and skip the download if it is.
Steps to reproduce
- Leave
CONTAINER_CACHEunset, or set it to some valid directory. - Run the docker image with
--rm. - Notice that it says
[info] No Foundry Virtual Tabletop installation detected.and downloads and installs Foundry VTT, with a log of[info] Using CONTAINER_CACHE: /data/container_cache. - Repeat, and notice that it never reads the cache but does the exact same thing again, even with
foundryvtt-13.351.zipin thecontainer_cache/directory.
Expected behavior
I expect it to use the cache!
Container metadata
com.foundryvtt.version = "13.351"
org.opencontainers.image.authors = "[email protected]"
org.opencontainers.image.created = "2025-11-14T19:50:02.052Z"
org.opencontainers.image.description = "An easy-to-deploy containerized Foundry Virtual Tabletop server."
org.opencontainers.image.licenses = "MIT"
org.opencontainers.image.revision = "9dc331a0c903cf66ae255a8a59634451b6a90eb6"
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.351.0"Relevant log output
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [debug] Data directory: /data
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [debug] Mount info for /data: storage[/foundry] zfs rw,relatime,xattr,noacl,casesensitive
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [debug] Testing permissions on /data/.container-permissions-test.txt
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [debug] Volume write test succeeded.
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [debug] Volume read test succeeded.
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [debug] Volume delete test succeeded.
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [debug] All permissions tests succeeded.
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [info] No Foundry Virtual Tabletop installation detected.
Dec 24 23:12:49 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:49 | [info] Using FOUNDRY_USERNAME and FOUNDRY_PASSWORD to authenticate.
Dec 24 23:12:49 box docker-foundry-start[240721]: Authenticate | 2025-12-25 07:12:49 | [debug] Saving cookies to: /tmp/cookiejar.json
Dec 24 23:12:49 box docker-foundry-start[240721]: Authenticate | 2025-12-25 07:12:49 | [info] Requesting CSRF tokens from https://foundryvtt.com
Dec 24 23:12:49 box docker-foundry-start[240721]: Authenticate | 2025-12-25 07:12:49 | [debug] Fetching: https://foundryvtt.com
Dec 24 23:12:49 box docker-foundry-start[240721]: Authenticate | 2025-12-25 07:12:49 | [info] Logging in as: [email protected]
Dec 24 23:12:49 box docker-foundry-start[240721]: Authenticate | 2025-12-25 07:12:49 | [debug] Fetching: https://foundryvtt.com/auth/login/
Dec 24 23:12:50 box docker-foundry-start[240721]: Authenticate | 2025-12-25 07:12:50 | [debug] Community URL: /community/soxy
Dec 24 23:12:50 box docker-foundry-start[240721]: Authenticate | 2025-12-25 07:12:50 | [info] Successfully logged in as: soxy
Dec 24 23:12:50 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:50 | [info] Using authenticated credentials to fetch release URL.
Dec 24 23:12:50 box docker-foundry-start[240721]: ReleaseURL | 2025-12-25 07:12:50 | [debug] Loading cookies from: /tmp/cookiejar.json
Dec 24 23:12:50 box docker-foundry-start[240721]: ReleaseURL | 2025-12-25 07:12:50 | [info] Fetching presigned release URL for build 351...
Dec 24 23:12:50 box docker-foundry-start[240721]: ReleaseURL | 2025-12-25 07:12:50 | [debug] Attempt 1 of 1
Dec 24 23:12:50 box docker-foundry-start[240721]: ReleaseURL | 2025-12-25 07:12:50 | [debug] Fetching: https://foundryvtt.com/releases/download?build=351&platform=node&response_type=json
Dec 24 23:12:50 box docker-foundry-start[240721]: ReleaseURL | 2025-12-25 07:12:50 | [debug] Presigned URL: https://r2.foundryvtt.com/releases/13.351/FoundryVTT-Node-13.351.zip?verify=1766646770-CD7LmQpO3u8USsYqPdXP6%2FmntDYl1QNYDXtE9gvx25Y%3D
Dec 24 23:12:50 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:50 | [info] Using CONTAINER_CACHE: /data/container_cache
Dec 24 23:12:50 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:50 | [info] Downloading Foundry Virtual Tabletop release.
Dec 24 23:12:55 box docker-foundry-start[240721]: % Total % Received % Xferd Average Speed Time Time Time Current
Dec 24 23:12:55 box docker-foundry-start[240721]: Dload Upload Total Spent Left Speed
Dec 24 23:12:55 box docker-foundry-start[240721]: 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Dec 24 23:12:55 box docker-foundry-start[240721]: 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
Dec 24 23:12:55 box docker-foundry-start[240721]: 0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
Dec 24 23:12:55 box docker-foundry-start[240721]: 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0
Dec 24 23:12:55 box docker-foundry-start[240721]: 0 0 0 0 0 0 0 0 --:--:-- 0:00:03 --:--:-- 0
Dec 24 23:12:55 box docker-foundry-start[240721]: 0 0 0 0 0 0 0 0 --:--:-- 0:00:04 --:--:-- 0* Trying 172.66.163.254:443...
Dec 24 23:12:55 box docker-foundry-start[240721]: * Connected to r2.foundryvtt.com (172.66.163.254) port 443 (#0)
Dec 24 23:12:55 box docker-foundry-start[240721]: * ALPN: offers h2,http/1.1
Dec 24 23:12:55 box docker-foundry-start[240721]: } [5 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (OUT), TLS handshake, Client hello (1):
Dec 24 23:12:55 box docker-foundry-start[240721]: } [512 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * CAfile: /etc/ssl/certs/ca-certificates.crt
Dec 24 23:12:55 box docker-foundry-start[240721]: * CApath: /etc/ssl/certs
Dec 24 23:12:55 box docker-foundry-start[240721]: { [5 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (IN), TLS handshake, Server hello (2):
Dec 24 23:12:55 box docker-foundry-start[240721]: { [122 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
Dec 24 23:12:55 box docker-foundry-start[240721]: { [19 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (IN), TLS handshake, Certificate (11):
Dec 24 23:12:55 box docker-foundry-start[240721]: { [2525 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (IN), TLS handshake, CERT verify (15):
Dec 24 23:12:55 box docker-foundry-start[240721]: { [79 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (IN), TLS handshake, Finished (20):
Dec 24 23:12:55 box docker-foundry-start[240721]: { [52 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
Dec 24 23:12:55 box docker-foundry-start[240721]: } [1 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (OUT), TLS handshake, Finished (20):
Dec 24 23:12:55 box docker-foundry-start[240721]: } [52 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
Dec 24 23:12:55 box docker-foundry-start[240721]: * ALPN: server accepted h2
Dec 24 23:12:55 box docker-foundry-start[240721]: * Server certificate:
Dec 24 23:12:55 box docker-foundry-start[240721]: * subject: CN=r2.foundryvtt.com
Dec 24 23:12:55 box docker-foundry-start[240721]: * start date: Dec 16 08:02:53 2025 GMT
Dec 24 23:12:55 box docker-foundry-start[240721]: * expire date: Mar 16 09:02:46 2026 GMT
Dec 24 23:12:55 box docker-foundry-start[240721]: * subjectAltName: host "r2.foundryvtt.com" matched cert's "r2.foundryvtt.com"
Dec 24 23:12:55 box docker-foundry-start[240721]: * issuer: C=US; O=Google Trust Services; CN=WE1
Dec 24 23:12:55 box docker-foundry-start[240721]: * SSL certificate verify ok.
Dec 24 23:12:55 box docker-foundry-start[240721]: } [5 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * using HTTP/2
Dec 24 23:12:55 box docker-foundry-start[240721]: * h2h3 [:method: GET]
Dec 24 23:12:55 box docker-foundry-start[240721]: * h2h3 [:path: /releases/13.351/FoundryVTT-Node-13.351.zip?verify=1766646770-CD7LmQpO3u8USsYqPdXP6%2FmntDYl1QNYDXtE9gvx25Y%3D]
Dec 24 23:12:55 box docker-foundry-start[240721]: * h2h3 [:scheme: https]
Dec 24 23:12:55 box docker-foundry-start[240721]: * h2h3 [:authority: r2.foundryvtt.com]
Dec 24 23:12:55 box docker-foundry-start[240721]: * h2h3 [user-agent: curl/7.88.1 (felddy/foundryvtt:13.351.0)]
Dec 24 23:12:55 box docker-foundry-start[240721]: * h2h3 [accept: */*]
Dec 24 23:12:55 box docker-foundry-start[240721]: * h2h3 [if-modified-since: Thu, 25 Dec 2025 06:02:22 GMT]
Dec 24 23:12:55 box docker-foundry-start[240721]: * Using Stream ID: 1 (easy handle 0x563e7105d7a0)
Dec 24 23:12:55 box docker-foundry-start[240721]: } [5 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: > GET /releases/13.351/FoundryVTT-Node-13.351.zip?verify=1766646770-CD7LmQpO3u8USsYqPdXP6%2FmntDYl1QNYDXtE9gvx25Y%3D HTTP/2
Dec 24 23:12:55 box docker-foundry-start[240721]: > Host: r2.foundryvtt.com
Dec 24 23:12:55 box docker-foundry-start[240721]: > user-agent: curl/7.88.1 (felddy/foundryvtt:13.351.0)
Dec 24 23:12:55 box docker-foundry-start[240721]: > accept: */*
Dec 24 23:12:55 box docker-foundry-start[240721]: > if-modified-since: Thu, 25 Dec 2025 06:02:22 GMT
Dec 24 23:12:55 box docker-foundry-start[240721]: >
Dec 24 23:12:55 box docker-foundry-start[240721]: { [5 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
Dec 24 23:12:55 box docker-foundry-start[240721]: { [230 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
Dec 24 23:12:55 box docker-foundry-start[240721]: { [230 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: * old SSL session ID is stale, removing
Dec 24 23:12:55 box docker-foundry-start[240721]: { [5 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: < HTTP/2 304
Dec 24 23:12:55 box docker-foundry-start[240721]: < date: Thu, 25 Dec 2025 07:12:55 GMT
Dec 24 23:12:55 box docker-foundry-start[240721]: < cf-cache-status: MISS
Dec 24 23:12:55 box docker-foundry-start[240721]: < vary: Accept-Encoding
Dec 24 23:12:55 box docker-foundry-start[240721]: < cache-control: max-age=14400
Dec 24 23:12:55 box docker-foundry-start[240721]: < server: cloudflare
Dec 24 23:12:55 box docker-foundry-start[240721]: < last-modified: Wed, 12 Nov 2025 19:12:50 GMT
Dec 24 23:12:55 box docker-foundry-start[240721]: < etag: "38021e29273371039a3c130b8d619125-19"
Dec 24 23:12:55 box docker-foundry-start[240721]: < cf-ray: 9b36886a69f5df5b-SEA
Dec 24 23:12:55 box docker-foundry-start[240721]: <
Dec 24 23:12:55 box docker-foundry-start[240721]: { [0 bytes data]
Dec 24 23:12:55 box docker-foundry-start[240721]: 0 0 0 0 0 0 0 0 --:--:-- 0:00:05 --:--:-- 0
Dec 24 23:12:55 box docker-foundry-start[240721]: * Connection #0 to host r2.foundryvtt.com left intact
Dec 24 23:12:55 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:55 | [info] Installing Foundry Virtual Tabletop 13.351
Dec 24 23:12:55 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:55 | [debug] Checking mime-type of release file: /data/container_cache/foundryvtt-13.351.zip
Dec 24 23:12:55 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:55 | [debug] Found mime-type: application/zip
Dec 24 23:12:55 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:55 | [debug] Extracting Node.js release file.
Dec 24 23:12:57 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:57 | [debug] Installation completed.
Dec 24 23:12:57 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:57 | [info] Preserving release archive file in cache.
Dec 24 23:12:57 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:57 | [debug] CONTAINER_CACHE_SIZE is not set. Skipping cache cleanup.
Dec 24 23:12:57 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:57 | [debug] Patching GUI update and configuration messages.
Dec 24 23:12:57 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:57 | [info] Not modifying existing installation license key.
Dec 24 23:12:57 box docker-foundry-start[240721]: Entrypoint | 2025-12-25 07:12:57 | [info] Starting launcher.Code of Conduct
- I agree to follow this project's Code of Conduct