[GH-ISSUE #96] Password starting with "!" results in a crash when starting pangolin container. #3227

Closed
opened 2026-04-20 07:08:41 -05:00 by GiteaMirror · 7 comments
Owner

Originally created by @netxer on GitHub (Jan 22, 2025).
Original GitHub issue: https://github.com/fosrl/pangolin/issues/96

Error: Error loading configuration file: unknown tag !<!password> (46:1)

43 | email: sinofage@gmail.com
44 | password: !password
45 |
46 | flags:
------^
47 | require_email_verification: ...
48 | disable_signup_without_invi ...
at loadConfig (/app/server/lib/config.ts:163:27)
at Config.loadConfig (/app/server/lib/config.ts:173:27)
at new Config (/app/server/lib/config.ts:146:14)
at (/app/server/lib/config.ts:334:23)

Node.js v20.18.1

Originally created by @netxer on GitHub (Jan 22, 2025). Original GitHub issue: https://github.com/fosrl/pangolin/issues/96 Error: Error loading configuration file: unknown tag !<!password> (46:1) 43 | email: sinofage@gmail.com 44 | password: !password 45 | 46 | flags: ------^ 47 | require_email_verification: ... 48 | disable_signup_without_invi ... at loadConfig (/app/server/lib/config.ts:163:27) at Config.loadConfig (/app/server/lib/config.ts:173:27) at new Config (/app/server/lib/config.ts:146:14) at <anonymous> (/app/server/lib/config.ts:334:23) Node.js v20.18.1
Author
Owner

@miloschwartz commented on GitHub (Jan 22, 2025):

In YAML adding ! before a string indicates a tag or type. If you want to put ! in the beginning, you should surround the string with double quotes, like: password: "!password".

Also, this password will be rejected because it's not strong enough.

Admin Password: Must meet these requirements:

  • At least 8 characters
  • At least one uppercase letter
  • At least one lowercase letter
  • At least one digit
  • At least one special character
<!-- gh-comment-id:2607989575 --> @miloschwartz commented on GitHub (Jan 22, 2025): In YAML adding `!` before a string indicates a tag or type. If you want to put `!` in the beginning, you should surround the string with double quotes, like: `password: "!password"`. Also, this password will be rejected because it's not strong enough. Admin Password: Must meet these requirements: - At least 8 characters - At least one uppercase letter - At least one lowercase letter - At least one digit - At least one special character
Author
Owner

@netxer commented on GitHub (Jan 22, 2025):

"!password" isn't the real password, I have changed it from my original password that was inside the log.
But regardless of how strong or weak my password, there underling issue regarding there's no heads up on needing to add "" to the password, if you have ! as first latter in the password.
Don't think it's major issue but something should notify the end user he can't use ! as the first latter in password.

<!-- gh-comment-id:2608022323 --> @netxer commented on GitHub (Jan 22, 2025): "!password" isn't the real password, I have changed it from my original password that was inside the log. But regardless of how strong or weak my password, there underling issue regarding there's no heads up on needing to add "" to the password, if you have ! as first latter in the password. Don't think it's major issue but something should notify the end user he can't use ! as the first latter in password.
Author
Owner

@miloschwartz commented on GitHub (Jan 22, 2025):

That's fair, and I agree we should make this more clear. Did you use the installer script? I can update that script to use the quotes when creating the config files. I can also update the docs to use quotes in case someone copies.

<!-- gh-comment-id:2608026688 --> @miloschwartz commented on GitHub (Jan 22, 2025): That's fair, and I agree we should make this more clear. Did you use the installer script? I can update that script to use the quotes when creating the config files. I can also update the docs to use quotes in case someone copies.
Author
Owner

@netxer commented on GitHub (Jan 22, 2025):

Yea I used the automated installer.

<!-- gh-comment-id:2608028892 --> @netxer commented on GitHub (Jan 22, 2025): Yea I used the automated installer.
Author
Owner

@miloschwartz commented on GitHub (Jan 22, 2025):

I will update the docs, and update the installer to use quotes for the next release. Thanks for pointing this out

<!-- gh-comment-id:2608032767 --> @miloschwartz commented on GitHub (Jan 22, 2025): I will update the docs, and update the installer to use quotes for the next release. Thanks for pointing this out
Author
Owner

@ItsSK commented on GitHub (Jan 23, 2025):

I have also confirmed that any special character as the first letter in the password triggers a failed to-start pangolin, simply adding quotes around the password in the config/config.yml fixes the issue, it also would be ideal to not hardcode the password but pass it during runtime.

<!-- gh-comment-id:2609056035 --> @ItsSK commented on GitHub (Jan 23, 2025): I have also confirmed that any special character as the first letter in the password triggers a failed to-start pangolin, simply adding quotes around the password in the config/config.yml fixes the issue, it also would be ideal to not hardcode the password but pass it during runtime.
Author
Owner

@miloschwartz commented on GitHub (Jan 23, 2025):

it also would be ideal to not hardcode the password but pass it during runtime.

It's not well documented right now, but you can pass the password at runtime by setting the USERS_SERVERADMIN_PASSWORD environment variable. This will override anything in the config file.

<!-- gh-comment-id:2610219505 --> @miloschwartz commented on GitHub (Jan 23, 2025): > it also would be ideal to not hardcode the password but pass it during runtime. It's not well documented right now, but you can pass the password at runtime by setting the `USERS_SERVERADMIN_PASSWORD` environment variable. This will override anything in the config file.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/pangolin#3227