[GH-ISSUE #1332] Pangolin 1.9.0 causes "Validation error: Server secret must be defined" #1858

Closed
opened 2026-04-16 08:43:04 -05:00 by GiteaMirror · 4 comments
Owner

Originally created by @laugmanuel on GitHub (Aug 24, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/1332

Hi,

I've upgraded to Pangolin 1.9.0 just now, but I'm receiving the following error during startup:

pangolin  | > @fosrl/pangolin@0.0.0 start
pangolin  | > DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs'
pangolin  |
pangolin  | Starting migrations from version 1.9.0
pangolin  | Migrations to run:
pangolin  | All migrations completed successfully
pangolin  | /app/server/lib/config.ts:30
pangolin  |             throw new Error(`Invalid configuration file: ${errors}`);
pangolin  |                   ^
pangolin  |
pangolin  |
pangolin  | Error: Invalid configuration file: Validation error: Server secret must be defined
pangolin  |     at new eu (/app/server/lib/config.ts:30:19)
pangolin  |     at <anonymous> (/app/server/lib/config.ts:221:23)
pangolin  |     at async <anonymous> (/app/server/logger.ts:2:1)
pangolin  |     at async <anonymous> (/app/server/setup/ensureActions.ts:5:1)
pangolin  |
pangolin  | Node.js v22.18.0

I'm using SERVER_SECRET via environment variable to configure the secret. I verified it's existence and value using a custom entrypoint. I didn't change the config from 1.8.0 which was working just fine.

Originally created by @laugmanuel on GitHub (Aug 24, 2025). Original GitHub issue: https://github.com/fosrl/pangolin/issues/1332 Hi, I've upgraded to Pangolin 1.9.0 just now, but I'm receiving the following error during startup: ```txt pangolin | > @fosrl/pangolin@0.0.0 start pangolin | > DB_TYPE=sqlite NODE_OPTIONS=--enable-source-maps NODE_ENV=development ENVIRONMENT=prod sh -c 'node dist/migrations.mjs && node dist/server.mjs' pangolin | pangolin | Starting migrations from version 1.9.0 pangolin | Migrations to run: pangolin | All migrations completed successfully pangolin | /app/server/lib/config.ts:30 pangolin | throw new Error(`Invalid configuration file: ${errors}`); pangolin | ^ pangolin | pangolin | pangolin | Error: Invalid configuration file: Validation error: Server secret must be defined pangolin | at new eu (/app/server/lib/config.ts:30:19) pangolin | at <anonymous> (/app/server/lib/config.ts:221:23) pangolin | at async <anonymous> (/app/server/logger.ts:2:1) pangolin | at async <anonymous> (/app/server/setup/ensureActions.ts:5:1) pangolin | pangolin | Node.js v22.18.0 ``` I'm using `SERVER_SECRET` via environment variable to configure the secret. I verified it's existence and value using a custom entrypoint. I didn't change the config from 1.8.0 which was working just fine.
Author
Owner

@oschwartz10612 commented on GitHub (Aug 24, 2025):

Ahh okay looking into this right now! I think I know the issue.

Thanks for posting.

<!-- gh-comment-id:3218303494 --> @oschwartz10612 commented on GitHub (Aug 24, 2025): Ahh okay looking into this right now! I think I know the issue. Thanks for posting.
Author
Owner

@oschwartz10612 commented on GitHub (Aug 24, 2025):

Hey could you try pulling the latest container same tags to see if it is
fixed?

<!-- gh-comment-id:3218330101 --> @oschwartz10612 commented on GitHub (Aug 24, 2025): Hey could you try pulling the latest container same tags to see if it is fixed?
Author
Owner

@laugmanuel commented on GitHub (Aug 24, 2025):

Thank's for the fast response! The new build (cc8f040f29f1) does fix the issue for me.

<!-- gh-comment-id:3218332029 --> @laugmanuel commented on GitHub (Aug 24, 2025): Thank's for the fast response! The new build ([cc8f040f29f1](https://hub.docker.com/layers/fosrl/pangolin/1.9.0/images/sha256-cc8f040f29f1375759144be05542e38417885b8c78404949d062d3386779b629)) does fix the issue for me.
Author
Owner

@pvyswiss commented on GitHub (Jan 17, 2026):

This issue arrived again on 1.14.1 by manual deployment in docker. Even if you pre-create the key file:

pangolin | Starting migrations from version 1.14.1
pangolin | Migrations to run:
pangolin | All migrations completed successfully
pangolin | /app/server/lib/config.ts:30
pangolin | throw new Error(Invalid configuration file: ${errors});
pangolin | ^
pangolin |
pangolin | Error: Invalid configuration file: Validation error: Server secret must be defined
pangolin | at new Config (/app/server/lib/config.ts:30:19)
pangolin | at server/lib/config.ts (/app/server/lib/config.ts:229:23)
pangolin | at __init (file:///app/dist/server.mjs:20:56)
pangolin | at server/logger.ts (/app/server/logger.ts:2:1)
pangolin | at __init (file:///app/dist/server.mjs:20:56)
pangolin | at (/app/server/setup/ensureActions.ts:5:1)
pangolin | at ModuleJob.run (node:internal/modules/esm/module_job:413:25)
pangolin | at async onImport.tracePromise.proto (node:internal/modules/esm/loader:660:26)
pangolin | at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)

<!-- gh-comment-id:3763404826 --> @pvyswiss commented on GitHub (Jan 17, 2026): This issue arrived again on 1.14.1 by manual deployment in docker. Even if you pre-create the key file: pangolin | Starting migrations from version 1.14.1 pangolin | Migrations to run: pangolin | All migrations completed successfully pangolin | /app/server/lib/config.ts:30 pangolin | throw new Error(`Invalid configuration file: ${errors}`); pangolin | ^ pangolin | pangolin | Error: Invalid configuration file: Validation error: Server secret must be defined pangolin | at new Config (/app/server/lib/config.ts:30:19) pangolin | at server/lib/config.ts (/app/server/lib/config.ts:229:23) pangolin | at __init (file:///app/dist/server.mjs:20:56) pangolin | at server/logger.ts (/app/server/logger.ts:2:1) pangolin | at __init (file:///app/dist/server.mjs:20:56) pangolin | at <anonymous> (/app/server/setup/ensureActions.ts:5:1) pangolin | at ModuleJob.run (node:internal/modules/esm/module_job:413:25) pangolin | at async onImport.tracePromise.__proto__ (node:internal/modules/esm/loader:660:26) pangolin | at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:101:5)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#1858