add default admin user

This commit is contained in:
2025-05-26 22:20:52 +02:00
parent 0e03681d82
commit 791b232c0a
3 changed files with 48 additions and 0 deletions

19
app.py
View File

@@ -56,6 +56,25 @@ def create_app():
cleanup_trash() cleanup_trash()
click.echo("Trash cleanup completed.") click.echo("Trash cleanup completed.")
@app.cli.command("create-admin")
def create_admin():
"""Create the default administrator user."""
admin = User.query.filter_by(email='administrator@docupulse.com').first()
if admin:
click.echo("Admin user already exists.")
return
admin = User(
username='administrator',
email='administrator@docupulse.com',
is_admin=True,
is_active=True
)
admin.set_password('q]H488h[8?.A')
db.session.add(admin)
db.session.commit()
click.echo("Default administrator user created successfully.")
# Register custom filters # Register custom filters
app.jinja_env.filters['timeago'] = timeago app.jinja_env.filters['timeago'] = timeago

View File

@@ -48,6 +48,13 @@ with app.app_context():
print(f'Error creating site settings: {e}') print(f'Error creating site settings: {e}')
" "
# Initialize admin user
echo "Initializing admin user..."
python3 -c "
from init_admin import init_admin
init_admin()
"
# Start the application # Start the application
echo "Starting application..." echo "Starting application..."
exec gunicorn --bind 0.0.0.0:5000 app:app exec gunicorn --bind 0.0.0.0:5000 app:app

22
init_admin.py Normal file
View File

@@ -0,0 +1,22 @@
from app import app, db
from models import User
def init_admin():
with app.app_context():
admin = User.query.filter_by(email='administrator@docupulse.com').first()
if not admin:
admin = User(
username='administrator',
email='administrator@docupulse.com',
is_admin=True,
is_active=True
)
admin.set_password('q]H488h[8?.A')
db.session.add(admin)
db.session.commit()
print("Default administrator user created successfully.")
else:
print("Admin user already exists.")
if __name__ == '__main__':
init_admin()