Bug description
When using the "Pre-installed distribution builds" option described in the README, username and password cannot be used to fetch the required license key.
This appears to be an oversight in the src/entrypoint.sh script. The username and password are only used to fetch a license file during the control flow which downloads and installs Foundry. The next conditional executed (line 353 at time of writing) is one which expects the license file to already be present.
Steps to reproduce
- Set up a compose file with a relevant
build: section
- Build and run the compose project
- Observe the attached log output, and see that the web UI is stuck behind the "enter license key" page.
Minimal compose file:
services:
foundry:
build:
context: https://github.com/felddy/foundryvtt-docker.git#develop
secrets:
- foundry_username
- foundry_password
env_file:
- env.secret # Contains FOUNDRY_USERNAME and FOUNDRY_PASSWORD with the same content as the secrets
secrets:
foundry_username:
file: username.secret
foundry_password:
file: password.secret
Expected behavior
Authentication proceeds using environment variables, and the license key is fetched.
Container metadata
# Note that there are more here as docker compose adds a lot of metadata about my setup, but they're unrelated to this issue.
"com.foundryvtt.version": "13.342"
"org.opencontainers.image.authors": "markf+github@geekpad.com"
"org.opencontainers.image.vendor": "Geekpad"
Relevant log output
Entrypoint | 2025-05-18 05:26:13 | [info] Starting felddy/foundryvtt container v13.342.2
Entrypoint | 2025-05-18 05:26:13 | [info] Foundry Virtual Tabletop 13.342 is installed.
Entrypoint | 2025-05-18 05:26:13 | [info] Installation not yet licensed.
Entrypoint | 2025-05-18 05:26:13 | [warn] Unable to apply a license key since neither a license key nor credentials were provided. The license key will need to be entered in the browser.
Entrypoint | 2025-05-18 05:26:13 | [info] Starting launcher.
Launcher | 2025-05-18 05:26:13 | [info] Generating options.json file.
Launcher | 2025-05-18 05:26:13 | [info] Setting 'Admin Access Key'.
Launcher | 2025-05-18 05:26:13 | [info] Starting Foundry Virtual Tabletop.
FoundryVTT | 2025-05-18 05:26:13 | [info] Running on Node.js - Version 22.15.1
FoundryVTT | 2025-05-18 05:26:13 | [info] Foundry Virtual Tabletop - Version 13 Build 342
FoundryVTT | 2025-05-18 05:26:13 | [info] User Data Directory - "/data"
FoundryVTT | 2025-05-18 05:26:13 | [info] Application Options:
{
"awsConfig": null,
"compressSocket": false,
"compressStatic": true,
"cssTheme": "dark",
"fullscreen": false,
"hostname": "<snip>",
"hotReload": false,
"language": "en.core",
"localHostname": null,
"passwordSalt": "<snip>",
"port": 30000,
"protocol": null,
"proxyPort": 443,
"proxySSL": true,
"routePrefix": null,
"sslCert": null,
"sslKey": null,
"updateChannel": "stable",
"upnp": false,
"upnpLeaseDuration": null,
"world": null,
"adminPassword": "••••••••••••••••",
"deleteNEDB": false,
"noBackups": false,
"serviceConfig": null
}
FoundryVTT | 2025-05-18 05:26:13 | [warn] Software license requires signature.
FoundryVTT | 2025-05-18 05:26:13 | [info] Server started and listening on port 30000
Code of Conduct
Bug description
When using the "Pre-installed distribution builds" option described in the README, username and password cannot be used to fetch the required license key.
This appears to be an oversight in the src/entrypoint.sh script. The username and password are only used to fetch a license file during the control flow which downloads and installs Foundry. The next conditional executed (line 353 at time of writing) is one which expects the license file to already be present.
Steps to reproduce
build:sectionMinimal compose file:
Expected behavior
Authentication proceeds using environment variables, and the license key is fetched.
Container metadata
Relevant log output
Code of Conduct