#!/usr/bin/env python3 """ Utility to set the admin password for docker-web-ui. It writes a JSON file `auth.json` containing a PBKDF2-SHA256 password hash. Usage: python set_password.py Then enter the desired password when prompted. """ import getpass import json import os from werkzeug.security import generate_password_hash PROJECT_ROOT = os.path.dirname(__file__) AUTH_FILE = os.path.join(PROJECT_ROOT, 'auth.json') def main(): print('Create admin password for docker-web-ui') while True: pwd = getpass.getpass('Password: ') if not pwd: print('Empty password not allowed') continue pwd2 = getpass.getpass('Confirm: ') if pwd != pwd2: print('Passwords do not match, try again.') continue break ph = generate_password_hash(pwd) data = {'password_hash': ph} with open(AUTH_FILE, 'w') as f: json.dump(data, f) print(f'Wrote password hash to {AUTH_FILE}') if __name__ == '__main__': main()