diff --git a/CHANGELOG.md b/CHANGELOG.md index 318a15c..f1e7f2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.08.19] - 2026-02-20 + +### Added +- **Initialer Admin-User**: Existiert beim Start keine Datenbank, wird automatisch ein + verifizierter Admin-Account angelegt (`admin@localhost` / `changeme`). + Passwort-Änderung nach dem ersten Login empfohlen. + ## [0.08.18] - 2026-02-20 ### Changed diff --git a/config/config.yaml b/config/config.yaml index abf6e88..b09dc6b 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -1,4 +1,4 @@ -version: "0.08.18" +version: "0.08.19" bot: name: "MeshDD-Bot" diff --git a/main.py b/main.py index 1b06330..d1465ee 100644 --- a/main.py +++ b/main.py @@ -4,6 +4,7 @@ import signal import threading from meshbot import config +from meshbot.auth import hash_password from meshbot.database import Database from meshbot.bot import MeshBot from meshbot.nina import NinaBot @@ -21,9 +22,20 @@ async def main(): logger.info("Starting %s v%s", config.get("bot.name"), config.get("version")) # Database - db = Database(config.get("database.path", "meshdd.db")) + db = Database(config.get("database.path", "data/meshdd.db")) await db.connect() + # Seed initial admin if no users exist + if not await db.get_all_users(): + await db.create_user( + email="admin@localhost", + password=hash_password("changeme"), + name="Administrator", + role="admin", + is_verified=1, + ) + logger.info("Initial admin created: admin@localhost / changeme <- bitte Passwort aendern!") + # WebSocket Manager ws_manager = WebSocketManager()