Puncte:0

Cum să remediați un container docker Nextcloud după ce omiteți o versiune majoră?

drapel mx

Rulez instanța mea privată Nextcloud folosind docker (docker-compose). Am încercat să fac upgrade la o versiune Nextcloud mai nouă, dar nu mi-am dat seama că nu trebuia să omit peste o versiune majoră (de la 21 la 23). Acum nu o pot începe deloc:

  • Când încerc să pornesc containerul cu versiunea 23 și să declanșez upgrade-ul, nu reușește, deoarece nu poate face upgrade de la 21:
    leifb@***:~/nextcloud$ sudo docker-compose exec --user www-data app php occ upgrade
    Nextcloud sau una dintre aplicații necesită actualizare - doar un număr limitat de comenzi sunt disponibile
    [...]
    Excepție: actualizările dintre mai multe versiuni majore și downgrade nu sunt acceptate.
    Actualizare esuata
    [...]
    
  • Când încerc să pornesc containerul cu versiunea <23, nu reușește deoarece crede că datele sunt din versiunea 23:
    app_1 | Nu se poate porni Nextcloud deoarece versiunea datelor (23.0.3.2) este mai mare decât versiunea imaginii docker (22.2.6.2) și nu este acceptată downgrade. Ești sigur că ai extras cea mai nouă versiune a imaginii?
    

Există vreo modalitate de a forța o actualizare sau de a începe cu versiunea 22?

Iată fișierul meu docker-compose:

versiunea: „2”

volume:
  nextcloud:
  db:

Servicii:
  db:
    imagine: mariadb
    reporniți: întotdeauna
    comandă: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volume:
      - db:/var/lib/mysql
    mediu inconjurator:
      - MYSQL_ROOT_PASSWORD=***
      - MYSQL_PASSWORD=***
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  aplicatie:
    imagine: nextcloud:22
    reporniți: întotdeauna
    porturi:
      - 9009:80
    link-uri:
      - db
    volume:
      - nextcloud:/var/www/html
    mediu inconjurator:
      - MYSQL_PASSWORD=***
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
      - OVERWITEHOST=***
      - OVERWRITEPROTOCOL=https

Mulțumesc!

Puncte:0
drapel mx

Am reușit să rezolv problema schimbând manual versiunea în versiunea.php dosarul nextcloud volum.

Acest lucru ar putea cauza probleme ireparabile, faceți o copie de rezervă a datelor dacă doriți să faceți același lucru!

Calea completă pentru acel fișier a fost: /var/lib/docker/volumes/nextcloud_nextcloud/_data/version.php

Aveam un vechi volum nextcloud în jurul căruia l-am creat când am configurat inițial nextcloud. Tocmai am folosit versiunea.php din acel volum, deoarece eram destul de sigur că are versiunea corectă.

Iată ce s-a schimbat:

"incorect" versiunea.php:

<?php 
$OC_Version = array(23,0,3,2);
$OC_VersionString = '23.0.3';
$OC_Edition = '';
$OC_Channel = 'stabil';
$OC_VersionCanBeUpgradedFrom = matrice (
  'nextcloud' => 
  matrice (
    '22.2' => adevărat,
    '23.0' => adevărat,
  ),
  'owncloud' => 
  matrice (
    '10.5' => adevărat,
  ),
);
$OC_Build = '2022-03-21T13:05:48+00:00 5f6449283b5eb3cd0c96f475ff6f68a6c73a8140';
$vendor = 'nextcloud';

"corect" versiunea.php:

<?php 
$OC_Version = array(21,0,1,1);
$OC_VersionString = '21.0.1';
$OC_Edition = '';
$OC_Channel = 'stabil';
$OC_VersionCanBeUpgradedFrom = matrice (
  'nextcloud' => 
  matrice (
    '20.0' => adevărat,
    '21.0' => adevărat,
  ),
  'owncloud' => 
  matrice (
    '10.5' => adevărat,
  ),
);
$OC_Build = '2021-04-08T13:32:52+00:00 bd555dbe8568b2509bd7d82fabbe38d76c86afbe'
;
$vendor = 'nextcloud';

După această schimbare, aș putea începe mai întâi nextcloud în versiunea 21, pentru a verifica dacă totul era încă acolo. Apoi am reușit să pornesc și să actualizez la 22 și 23 în pași foarte bine.

PS:

docker-compose exec --user www-data app php occ Vă permite să actualizați și să dezactivați manual modul de întreținere.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.