feat: Add script to generate bcrypt password hash
continuous-integration/drone/push Build is passing

This commit is contained in:
Paul Nothaft
2026-01-05 23:10:38 +01:00
parent a3869425c5
commit aae93ec8d2
+52
View File
@@ -0,0 +1,52 @@
#!/usr/bin/env node
/**
* Generate a bcrypt hash for ADMIN_PASSWORD_HASH
*
* Usage:
* node scripts/generate-hash.js "your-password-here"
*
* Or run interactively:
* node scripts/generate-hash.js
*/
const bcrypt = require('bcrypt');
const readline = require('readline');
const SALT_ROUNDS = 12;
async function generateHash(password) {
const hash = await bcrypt.hash(password, SALT_ROUNDS);
console.log('\n========================================');
console.log('Generated bcrypt hash:');
console.log('========================================');
console.log(hash);
console.log('========================================\n');
console.log('Set this as ADMIN_PASSWORD_HASH in your environment.');
console.log('For Portainer: paste the hash WITHOUT quotes.\n');
return hash;
}
async function main() {
const password = process.argv[2];
if (password) {
await generateHash(password);
} else {
// Interactive mode
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('Enter password to hash: ', async (answer) => {
if (answer) {
await generateHash(answer);
} else {
console.log('No password provided.');
}
rl.close();
});
}
}
main().catch(console.error);