When the user table is empty, init creates an admin via better-auth's
admin.createUser API. ADMIN_USERNAME / ADMIN_EMAIL / ADMIN_PASSWORD
configure it; password is generated and logged once if not provided.
Also silence the cosmetic async_hooks warning by marking it external.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>