maintenance:repair und maintenance:data-fingerprint bei Nexcloud Container?

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
Ich nutze Nextcloud 24.0.0 auf der DS als Docker Container (official, latest) und als Datenbank das Synology-Paket von MariaDB 10 (keinen Docker Container). In Nextcloud habe ich einen Admin-User und einen User für die Daten (Kalender und Kontakte). Auf die DS kann ich via ssh zugreifen.

Die Synchronisation der Daten zwischen Linux PC und Android Telefon (DAVx5) funktioniert grundsätzlich, trotzdem läuft es nicht rund. Nun wurde mir empfohlen maintenance:repair und maintenance:data-fingerprint zu probieren. Aber wie mache ich das bei meiner Konstellation?

Ist sudo -u www-data php occ maintenance:repair korrekt? Und wo gebe ich das ein? Im Docker Terminal oder via Konsolen auf meiner DS? Oder muss ich docker exec nutzen (davon habe ich gar keine Ahnung)?

Zu maintenance:data-fingerprint habe ich noch weniger gefunden, was ich verstand.
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Die sicherer Variante ist per SSH-Verbindung:

Wenn man deine Wunschbefehl und die Infos aus deinem Link kombiniert, kommt man zu folgenden Befehlen:
Code:
docker exec -u www-data ${name deines nextcloud container} php occ maintenance:repair
docker exec -u www-data ${name deines nextcloud container} php occ maintenance:data-fingerprint

Natürlich muss dabei ${name deines nextcloud container} mit dem echten Namen deines Containers ersetzt werden.

Da hier exec mit einem bestimmten User im Container gemacht wird, kann man das mit dem Terminal der Syno Docker-UI nicht nachstellen, ausser das Terminal wird zufällig als dieser User geöffnet - im schlimmsten Fall können Datei Berechtigungen so verändert werden, dass der Container danach nicht mehr richtig läuft. Sprich: im Zweifel kann der "vermeintlich bequeme Weg" über das Syno Docker-UI Terminal zu einem Weg mit deutlich mehr Aufwand werden.
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
Ich kann mich leider erst jetzt darum kümmern. :rolleyes: Da ich nichts kaputt machen will, möchte ich noch einmal nachfragen:

Screenshot_20220612_212857.png

Also mit der Konsole (ssh) auf der DS als Admin einloggen und dann:

Code:
docker exec -u www-data $Nextcloud php occ maintenance:repair
docker exec -u www-data $Nextcloud php occ maintenance:data-fingerprint

Korrekt?
 

haydibe

Benutzer
Sehr erfahren
Mitglied seit
12. Apr 2016
Beiträge
1.519
Punkte für Reaktionen
404
Punkte
103
Natürlich muss dabei ${name deines nextcloud container} mit dem echten Namen deines Containers ersetzt werden.
Wenn man das beachtet, dann sehen die beiden Befehle wie folgt aus:

Code:
docker exec -u www-data Nextcloud php occ maintenance:repair
docker exec -u www-data Nextcloud php occ maintenance:data-fingerprint
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
Ich wusste es. :oops:

Ich habe mich als Admin USER auf der DS angemeldet

Code:
uid=1026(USER) gid=100(users) groups=100(users),101(administrators)

und bekomme dennoch die Meldung

Code:
Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/Nextcloud/json": dial unix /var/run/docker.sock: connect: permission denied

Was mache ich falsch? Fehlt sudo?
 

wired2051

Benutzer
Mitglied seit
17. Mrz 2010
Beiträge
903
Punkte für Reaktionen
12
Punkte
44
Danke für Deine Geduld. Es hat funktioniert. (y)
 
  • Like
Reaktionen: haydibe


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat