From 0d772417e76dcd46102a566e6c6aaeb99e41524e Mon Sep 17 00:00:00 2001 From: Terranom674 Date: Mon, 17 Aug 2026 10:29:46 +0200 Subject: [PATCH] Add NC Connector migration workflow --- template/nc_connector_admin.tpl | 116 +++++++++++++++++++++----------- 1 file changed, 75 insertions(+), 41 deletions(-) diff --git a/template/nc_connector_admin.tpl b/template/nc_connector_admin.tpl index fb60947..8c1387b 100644 --- a/template/nc_connector_admin.tpl +++ b/template/nc_connector_admin.tpl @@ -1,62 +1,96 @@

NC Connector

-

Die bestehende Nextcloud-Piwigo-Anbindung wird in dieser ersten Phase nur erkannt und angezeigt. Es werden keine Zugangsdaten, PostgreSQL-Views, Sync-Dienste oder Galeriepfade verändert.

+

Bratonien Tools übernimmt die bestehende Nextcloud-Anbindung schrittweise in eine eigene Connection-Verwaltung. Der produktive Legacy-Sync bleibt während der Migration unverändert aktiv.

-

Verbindungsstatus

+

Migrationsstatus

Phase{$NC_CONNECTOR.phase|escape:html} - Bestehende Verbindung erkannt{if $NC_CONNECTOR.detected}Ja{else}Nein{/if} - Konfiguration{if $NC_CONNECTOR.config_readable}Lesbar{elseif $NC_CONNECTOR.config_exists}Vorhanden, aber nicht lesbar{else}Nicht gefunden{/if} - Piwigo-Sync aktiviert{if $NC_CONNECTOR.sync_enabled}Ja{else}Nein{/if} - Letzter Sync-Status{if $NC_CONNECTOR.sync_status.available}{$NC_CONNECTOR.sync_status.state|escape:html}{else}Nicht verfügbar{/if} - {if $NC_CONNECTOR.sync_status.time_label} - Letzte Statusmeldung{$NC_CONNECTOR.sync_status.time_label|escape:html} - {/if} + Legacy-Verbindung vorhanden{if $NC_CONNECTOR.legacy_present}Ja{else}Nein{/if} + Legacy-Konfiguration für PHP lesbar{if $NC_CONNECTOR.config_readable}Ja{else}Nein{/if} + Connector-Verbindungen{$NC_CONNECTOR.connection_count|escape:html} + Migrationspaket bereit{if $NC_CONNECTOR.migration_bundle_available}Ja{else}Nein{/if}
+ {if $NC_CONNECTOR.legacy_present && !$NC_CONNECTOR.config_readable} +

Die bestehende Konfiguration ist absichtlich nur für root lesbar. Sie wird nicht für den Webserver geöffnet. Stattdessen übernimmt ein einmaliger Connector-Helfer die Daten sicher in die eigene Connection-Verwaltung.

+ {/if} +
+ +
+

Bestehende Verbindung übernehmen

+ {if $NC_CONNECTOR.connection_count == 0} +

Führe im Piwigo-LXC einmalig folgenden Befehl als root aus:

+

{$NC_CONNECTOR.migration_command|escape:html}

+

Der Helfer liest die bisherige /etc/piwigo-sync/piwigo.conf, die zugehörige Passwortdatei und storages.tsv. Er verändert weder Nextcloud noch den laufenden Sync-Dienst oder den Shadow Tree.

+ + {if $NC_CONNECTOR.migration_bundle_available} +
+ + +
+

Der Import legt die Verbindung nur im NC Connector an. Sie bleibt deaktiviert; der bisherige Sync bleibt Produktionsverbindung.

+ {else} +

Noch kein Migrationspaket vorhanden. Nach Ausführen des Befehls diese Seite neu laden.

+ {/if} + {else} +

Die bestehende Verbindung wurde bereits in die Connector-Verwaltung übernommen. Der Legacy-Sync bleibt bis zur späteren Verifikation und kontrollierten Übergabe aktiv.

+ {/if} +
+ +
+

Connector-Verbindungen

+ {if $NC_CONNECTOR.connection_count > 0} + + + + + + + + + + + + + {foreach from=$NC_CONNECTOR.connections item=connection} + + + + + + + + + {/foreach} + +
NameAdapterHostQuelleStoragesStatus
{$connection.name|escape:html}{$connection.adapter|escape:html}{if $connection.host}{$connection.host|escape:html}{else}—{/if}{if $connection.source_view}{$connection.source_view|escape:html}{else}—{/if}{$connection.storage_count|escape:html}{$connection.takeover_state|escape:html}{if $connection.enabled} · aktiv{/if}
+ {else} +

Noch keine Verbindung in der eigenen Connector-Verwaltung.

+ {/if} +
+ +
+

Legacy-Sync

+
+ Konfiguration{if $NC_CONNECTOR.config_readable}Lesbar{elseif $NC_CONNECTOR.config_exists}Vorhanden, root-geschützt{else}Nicht gefunden{/if} + Piwigo-Sync laut lesbarer Konfiguration{if $NC_CONNECTOR.config_readable}{if $NC_CONNECTOR.sync_enabled}Ja{else}Nein{/if}{else}Nicht auslesbar{/if} + Letzter Status{if $NC_CONNECTOR.sync_status.available}{$NC_CONNECTOR.sync_status.state|escape:html}{else}Nicht verfügbar{/if} +
{if $NC_CONNECTOR.sync_status.message}

{$NC_CONNECTOR.sync_status.message|escape:html}

{/if} - - {if !$NC_CONNECTOR.detected} -

Die bestehende Verbindung konnte noch nicht vollständig erkannt werden. In dieser Phase wird nichts automatisch eingerichtet oder verändert.

- {/if} -
- -
-

Erkannte Nextcloud-Verbindung

-
- Host{if $NC_CONNECTOR.host}{$NC_CONNECTOR.host|escape:html}{else}—{/if} - Port{if $NC_CONNECTOR.port}{$NC_CONNECTOR.port|escape:html}{else}—{/if} - Datenbank{if $NC_CONNECTOR.database}{$NC_CONNECTOR.database|escape:html}{else}—{/if} - Reader{if $NC_CONNECTOR.user}{$NC_CONNECTOR.user|escape:html}{else}—{/if} - Quell-View{if $NC_CONNECTOR.view}{$NC_CONNECTOR.view|escape:html}{else}—{/if} - Passwortdatei{if $NC_CONNECTOR.password_file_exists}{if $NC_CONNECTOR.password_file_readable}Vorhanden und lesbar{else}Vorhanden, aber nicht lesbar{/if}{else}Nicht gefunden{/if} -
-

Das Passwort selbst wird von Bratonien Tools nicht gelesen oder angezeigt.

-
- -
-

Bestehender Sync

-
- Galeriepfad{if $NC_CONNECTOR.gallery_root}{$NC_CONNECTOR.gallery_root|escape:html}{else}—{/if} - Statusverzeichnis{if $NC_CONNECTOR.state_dir}{$NC_CONNECTOR.state_dir|escape:html}{else}—{/if} - Quiet Time{if $NC_CONNECTOR.quiet_seconds}{$NC_CONNECTOR.quiet_seconds|escape:html} s{else}—{/if} - Max. Wartezeit{if $NC_CONNECTOR.max_wait_seconds}{$NC_CONNECTOR.max_wait_seconds|escape:html} s{else}—{/if} - Full Sync{if $NC_CONNECTOR.full_sync_seconds}{$NC_CONNECTOR.full_sync_seconds|escape:html} s{else}—{/if} -

Migrationsschutz

-

Der vorhandene Sync bleibt die aktive Produktionsverbindung. Dieses Modul übernimmt aktuell noch keine Steuerung und besitzt keine Schreibaktion.

    -
  • kein Ändern der Nextcloud-Datenbank
  • -
  • kein Ändern von pg_hba.conf oder Reader-Zugangsdaten
  • -
  • kein Starten oder Stoppen des bestehenden Sync-Dienstes
  • +
  • kein Stoppen oder Ändern des bestehenden piwigo-sync
  • +
  • keine Änderung an PostgreSQL, Views, pg_hba.conf oder Reader-Rechten
  • +
  • keine Änderung an bestehenden Mounts
  • kein Neuaufbau des Gallery-/Shadow-Trees
  • +
  • importierte Connector-Verbindung bleibt zunächst deaktiviert