b1gmail → in neues & Moderners System überführen (bestehend aus grommunio, Nextcloud, HostBill und eigener aikQ Verwaltung) : Vollständige Projektübernahme

  • Dazu habe ich mir eine Software geschrieben die b1gmail in ei neues System Überführt, bestehend aus grommunio, Nextcloud, HostBill und eigener aikQ Verwaltung)

    Ziel ist es
    "nichts aus b1gmail geht verloren — es wird nur in ein moderneres System überführt"

    0. Die Kernaussage

    Zitat

    Es ist eine Übernahme, kein Neuanfang. Jede Datenkategorie aus b1gmail wird entweder live in das neue System überführt (Kunden, Domains, E-Mail, Cloud, Organizer, Passwörter) oder revisionssicher in ein Legacy-Archiv übernommen (Rechnungen/Bestellungen, alte Systemeinstellungen, Admin-Logs) — und bleibt dort im Portal abrufbar. Nichts wird gelöscht, nichts geht verloren.

    Die b1gmail-Quelldatenbank wird dabei nur gelesen und bleibt unverändert — ein Rückfall ist jederzeit möglich.


    1. Das Prinzip: Extrahieren → Transformieren → Laden → Verifizieren

    Die Übernahme läuft über ein eigenes Migrationswerkzeug (Python-Pipeline + REST-API), das vom aikQ-Portal aus gesteuert wird:

    1. Extrahieren — liest read-only alle bm60_*-Tabellen der b1gmail-MySQL-DB sowie die Maildir-/Webdisk-Dateien. Der Extractor passt sich Spaltenvarianten alter b1gmail-Versionen automatisch an.
    2. Transformieren — bildet die b1gmail-Strukturen auf die Zielsysteme ab (Mapping z. B. b1gmail-Gruppe → Tarif/Produkt).
    3. Laden — schreibt in die jeweils zuständigen Zielsysteme (siehe Abschnitt 2).
    4. Verifizieren — die übernommenen Daten sind anschließend direkt im aikQ-Portal prüfbar (Kunden, Organizer, Rechnungs-/Einstellungs-/Log-Archiv).

    Die Pipeline ist dry-run-fähig (Probelauf ohne Schreiben), resumebar (Fortsetzen nach Abbruch) und superadmin-abgesichert (verschlüsselte Quell-Zugangsdaten, AES-256).


    2. Die Zielsysteme — wer übernimmt was

    b1gmail-BereichZielsystem im neuen Stack
    Kunden / Konten / MandantenaikQ-Portal (users / Mandanten-Hierarchie)
    Domains, Aliase, Postfächer, E-Mailgrommunio (Mailserver, via Admin-API)
    Cloud / Webdisk-DateienNextcloud (via WebDAV + OCS-API)
    Organizer (Kontakte, Kalender, Aufgaben, Notizen, Arbeitsgruppen)aikQ-Portal (eigene Organizer-Module)
    Abrechnung (Produkte, Kunden, künftige Rechnungen)HostBill (führendes Abrechnungssystem)
    Rechnungs-/Bestell-/Zahlungs-HistorieaikQ-Portal Legacy-Archiv (/legacy-archive, /my-invoices)
    Alte Systemeinstellungen + Admin-LogsaikQ-Portal Legacy-Archiv
    PasswörteraikQ-Auth (MD5→bcrypt mit Fallback-Login)

    3. Vollständige Abdeckung — was konkret übernommen wird

    Legende: ✅ live migriert (geht 1:1 ins neue Live-System) · 🗄️ ins Archiv (revisionssicher abrufbar, geht nicht verloren) · ⚠️ live, mit Restabgleich (funktioniert, einzelne Spezialfälle vor dem Echtlauf prüfen).

    3.1 Kunden, Konten & Zugang

    Datenartb1gmail-QuelleZielStatus
    Kunden / Benutzerkontenbm60_usersPortal users + Profile
    Kundenprofile (Name, Firma, Adresse, Telefon …)bm60_users / bm60_userprefsuser_profiles⚠️
    Tarife / Gruppen / Paketebm60_gruppenHostBill-Produkte (per Mapping) + Quotas⚠️
    Passwörterbm60_users.passwd(+Salt)bcrypt, Fallback-Login
    2FA-Secretsbm60_2fa(Archiv; Nutzer reaktivieren 2FA neu)🗄️

    Passwort-Garantie: Alte MD5-/Salted-MD5-Hashes werden übernommen. Beim ersten Login im neuen System wird das Passwort automatisch auf bcrypt aufgewertet — kein Kunde wird ausgesperrt, niemand muss ein neues Passwort setzen.

    3.2 Domains & E-Mail

    Datenartb1gmail-QuelleZielStatus
    Domainsbm60_domainsgrommunio-Domains
    Aliasebm60_aliasegrommunio-Aliase
    Auto-Responder / Abwesenheitbm60_autorespondergrommunio OOF
    Weiterleitungenbm60_users (forward-Felder)grommunio-Forwarding
    E-Mails / Postfächer / Ordnerbm60_mails, Maildirgrommunio-Mailstore (EML-Export → Import)⚠️
    Filter / Regelnbm60_filter*grommunio Sieve⚠️
    Signaturenbm60_signaturenSignatur-Speicher⚠️
    Postfach-Quotasbm60_gruppen.speichergrommunio-Quotas⚠️

    Postfächer werden inkl. Prüfsumme (SHA-256-Manifest) als EML exportiert und in grommunio importiert. Filterregeln werden gelesen und nach Sieve übersetzt; einzelne exotische Aktionen sollten nach der Migration stichprobenartig geprüft werden.

    3.3 Cloud / Webdisk

    Datenartb1gmail-QuelleZielStatus
    Cloud-/Webdisk-Dateienbm60_diskfiles + DateisystemNextcloud (WebDAV-Upload)⚠️
    Speicher-Kontingentebm60_gruppen.webdiskNextcloud-Quota⚠️

    Nutzer werden in Nextcloud angelegt, Kontingente gesetzt und die Dateien per WebDAV hochgeladen.

    3.4 Organizer (Groupware)

    Datenartb1gmail-QuelleZielStatus
    Kontakte (inkl. Foto)bm60_adressenPortal /contacts(VCF)⚠️
    Kontaktgruppenbm60_adressen_gruppen*Portal Gruppen
    Kalender / Termine / Teilnehmerbm60_dates*Portal /calendar⚠️
    Erinnerungenbm60_dates.reminderPortal-Reminder + E-Mail⚠️
    Aufgaben / To-Dosbm60_tasklists, bm60_tasksPortal /tasks⚠️
    Notizen (Priorität, Datum)bm60_notesPortal /notes⚠️
    Arbeitsgruppen + Freigabenbm60_workgroups*Portal-Arbeitsgruppen⚠️

    3.5 Abrechnung — Historie bleibt, Zukunft läuft über HostBill

    Datenartb1gmail-QuelleZielStatus
    Produkte / Kunden (laufend)abgeleitet aus Gruppen/UsernHostBill⚠️
    Rechnungenbm60_invoicesPortal Legacy-Archiv🗄️
    Bestellungenbm60_ordersPortal Legacy-Archiv🗄️
    Zahlungen / Transaktionenbm60_transactionsPortal Legacy-Archiv🗄️
    Zitat

    Wichtig: Die komplette Rechnungs-/Zahlungs-Historie geht nicht verloren — sie wird ins Portal-Archiv übernommen und ist dort pro Kunde abrufbar (/my-invoices, /legacy-archive). NeueRechnungen erzeugt ab Übernahme HostBill als führendes System. Das ist Absicht, kein Datenverlust.

    3.6 Superadmin / System & Logs

    Datenartb1gmail-QuelleZielStatus
    Systemeinstellungen (Sprache, Wartung, Registrierung, SMTP …)bm60_prefsaktiv: system_settings; Rest: Legacy-Archiv⚠️/🗄️
    Benutzereinstellungen (Sprache, Zeitzone, Theme …)bm60_userprefsPortal-Userprofil + Prefs⚠️
    Admin-Kontenbm60_adminsArchiv (Portal hat eigene Admin-/Reseller-Hierarchie)🗄️
    System-Logsbm60_logsPortal Legacy-Archiv (/legacy-archive)🗄️

    Die wichtigsten Superadmin-Einstellungen werden aktiv ins neue System übernommen; alles Übrige wird vollständig archiviert und bleibt einsehbar — auch hier geht nichts verloren.


    4. „Nichts geht verloren” — die drei Garantien

    1. Quelle bleibt unangetastet. Auf b1gmail wird nur lesend zugegriffen. Das Altsystem bleibt während und nach der Migration intakt → jederzeit Rückfall möglich.
    2. Live-Migration + Legacy-Archiv. Aktive Daten gehen 1:1 ins neue Live-System; historische Daten (Rechnungen, Logs, Alteinstellungen) wandern in ein abrufbares Archiv im Portal. Jede Kategorie hat ein Ziel — keine fällt weg.
    3. Niemand wird ausgesperrt. Passwörter werden übernommen, alte Logins funktionieren weiter und werden beim ersten Login transparent auf bcrypt aufgewertet.

    5. Der Ablauf — Schritt für Schritt

    Gesteuert über das aikQ-Portal (Superadmin) bzw. die Migrations-REST-API:

    1. Quelle anlegen — b1gmail-DB + grommunio/HostBill/Nextcloud-Zugänge hinterlegen (verschlüsselt gespeichert).
    2. Verbindungstest (test-connection) — alle Zielsysteme erreichbar?
    3. Schema-Preflight (schema-preflight) — prüft die b1gmail-Tabellen/Spalten vor dem Lauf (fängt exotische Altschemata ab).
    4. Vorschau / Dry-Run (preview, start dry_run=true) — rechnet die Migration durch und schreibt nichts; erzeugt prüfbare JSON-Ausgaben (z. B. hostbill_clients.json, grommunio_users.json, invalid_clients.json).
    5. Selektive Migration — wahlweise nur HostBill, nur grommunio, nur Organizer, nur Billing-Archiv etc. (kontrolliert, in Etappen).
    6. Resume — bei Abbruch an der letzten abgeschlossenen Phase fortsetzen (Statusdatei migration_state.json).
    7. Verifikation im Portal — Kunden, /contacts, /calendar, /tasks, /notes, /my-invoices, /legacy-archive gegenprüfen.
    8. Passwort-Fallback aktiv — Kunden können sich sofort mit ihren alten Passwörtern anmelden.

  • karsten 28. Juni 2026 um 13:06

    Hat den Titel des Themas von „b1gmail → aikQ (bestehend aus grommunio, Nextcloud, HostBill und eigener aikQ Verwaltung) : Vollständige Projektübernahme“ zu „b1gmail → in neues & Moderners System überführen (bestehend aus grommunio, Nextcloud, HostBill und eigener aikQ Verwaltung) : Vollständige Projektübernahme“ geändert.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!