I'm not sure if it's an SSL thing or not but in Portainer my Foundry v13 instance reports as Unhealthy
check_health.sh code, manually executed curl command and manually executed ./check_health.sh
* h2h3 [:scheme: https]
* h2h3 [:authority: r2.foundryvtt.com]
* h2h3 [user-agent: curl/7.88.1 (felddy/foundryvtt:13.351.0)]
* h2h3 [accept: */*]
* h2h3 [if-modified-since: Tue, 18 Nov 2025 21:15:24 GMT]
* Using Stream ID: 1 (easy handle 0x562ac42c77a0)
} [5 bytes data]
> GET /releases/13.351/FoundryVTT-Node-13.351.zip?verify=1766968777-SIvxbMK56%2Bv3%2Fy%2FX5RXKSwd9nDQEzOktj%2FpS52BnFyE%3D HTTP/2
> Host: r2.foundryvtt.com
> user-agent: curl/7.88.1 (felddy/foundryvtt:13.351.0)
> accept: */*
> if-modified-since: Tue, 18 Nov 2025 21:15:24 GMT
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [230 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [230 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/2 403
< date: Sat, 11 Apr 2026 09:29:26 GMT
< content-type: text/html; charset=UTF-8
< cache-control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
< expires: Thu, 01 Jan 1970 00:00:01 GMT
< referrer-policy: same-origin
< x-frame-options: SAMEORIGIN
< server: cloudflare
< cf-ray: 9ea8f781ab23cd77-SYD
* The requested URL returned error: 403
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
* Connection #0 to host r2.foundryvtt.com left intact
curl: (22) The requested URL returned error: 403
Entrypoint | 2026-04-11 09:29:26 | [warn] Download from presigned URL failed with exit code 22.
Entrypoint | 2026-04-11 09:29:26 | [info] Falling back to existing cached release file: /data/container_cache/foundryvtt-13.351.zip
Entrypoint | 2026-04-11 09:29:26 | [info] Installing Foundry Virtual Tabletop 13.351
Entrypoint | 2026-04-11 09:29:26 | [debug] Checking mime-type of release file: /data/container_cache/foundryvtt-13.351.zip
Entrypoint | 2026-04-11 09:29:26 | [debug] Found mime-type: application/zip
Entrypoint | 2026-04-11 09:29:26 | [debug] Extracting Node.js release file.
Entrypoint | 2026-04-11 09:29:30 | [debug] Installation completed.
Entrypoint | 2026-04-11 09:29:30 | [info] Preserving release archive file in cache.
Entrypoint | 2026-04-11 09:29:30 | [debug] CONTAINER_CACHE_SIZE is not set. Skipping cache cleanup.
Entrypoint | 2026-04-11 09:29:30 | [debug] Patching GUI update and configuration messages.
Entrypoint | 2026-04-11 09:29:30 | [info] Not modifying existing installation license key.
Entrypoint | 2026-04-11 09:29:30 | [info] Starting launcher.
Entrypoint | 2026-04-11 09:29:30 | [debug] Waiting for child pid: 69 to exit.
Launcher | 2026-04-11 09:29:30 | [debug] Ensuring /data/Config directory exists.
Launcher | 2026-04-11 09:29:30 | [warn] CONTAINER_PRESERVE_CONFIG is set: Not updating options.json
Launcher | 2026-04-11 09:29:30 | [warn] CONTAINER_PRESERVE_CONFIG is set: Not updating admin.txt
Launcher | 2026-04-11 09:29:30 | [info] Starting Foundry Virtual Tabletop.
FoundryVTT | 2026-04-11 09:29:31 | [info] Running on Node.js - Version 22.21.1
FoundryVTT | 2026-04-11 09:29:31 | [info] Foundry Virtual Tabletop - Version 13 Build 351
FoundryVTT | 2026-04-11 09:29:31 | [info] User Data Directory - "/data"
FoundryVTT | 2026-04-11 09:29:31 | [info] Application Options:
{
"awsConfig": null,
"compressSocket": false,
"compressStatic": false,
"cssTheme": "dark",
"fullscreen": false,
"hostname": null,
"hotReload": false,
"language": "en.core",
"localHostname": null,
"passwordSalt": null,
"port": 30000,
"protocol": null,
"proxyPort": null,
"proxySSL": false,
"routePrefix": null,
"sslCert": "******/fullchain.pem",
"sslKey": "******/privkey.pem",
"telemetry": true,
"updateChannel": "stable",
"upnp": false,
"upnpLeaseDuration": null,
"world": null,
"deleteNEDB": false,
"serviceConfig": null,
"adminPassword": "••••••••••••••••",
"noBackups": false
}
FoundryVTT | 2026-04-11 09:29:31 | [info] Software license verification succeeded
FoundryVTT | 2026-04-11 09:29:31 | [info] Server started and listening on port 30000
Bug description
I'm not sure if it's an SSL thing or not but in Portainer my Foundry v13 instance reports as Unhealthy
Full configuration:
Foundry Inspection.txt
check_health.sh code, manually executed curl command and manually executed ./check_health.sh
Steps to reproduce
Expected behavior
The container should report as Hea
Container metadata
Relevant log output
Code of Conduct