Skip to content

Docker Container Reports as Unhealthy #1398

Description

@Bazag83

Bug description

I'm not sure if it's an SSL thing or not but in Portainer my Foundry v13 instance reports as Unhealthy

Image Image

Full configuration:

Foundry Inspection.txt

check_health.sh code, manually executed curl command and manually executed ./check_health.sh

Image

Steps to reproduce

  1. Create a docker container according to standard installation method.
  2. Add generated SSL certificate and and private key to the stored data folder.
  3. Add SSL certificate within settings. Pointing to the Certificate and private key files stored.

Expected behavior

The container should report as Hea

Container metadata

com.foundryvtt.version = "13.351"
org.opencontainers.image.authors = "markf+github@geekpad.com"
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

* 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

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions