Рейтинг:0

Как исправить док-контейнер Nextcloud после пропуска основной версии?

флаг mx

Я запускаю свой частный экземпляр Nextcloud, используя докер (docker-compose). Я попытался перейти на более новую версию Nextcloud, но не понял, что нельзя пропускать основную версию (с 21 по 23). Теперь вообще не могу запустить:

  • Когда я пытаюсь запустить контейнер с версией 23 и запустить обновление, происходит сбой, потому что он не может обновиться с версии 21:
    leifb@***:~/nextcloud$ sudo docker-compose exec --user www-data app php occ upgrade
    Nextcloud или одно из приложений требуют обновления — доступно только ограниченное количество команд
    [...]
    Исключение: обновления между несколькими основными версиями и более ранние версии не поддерживаются.
    Не удалось обновить
    [...]
    
  • Когда я пытаюсь запустить контейнер с версией <23, происходит сбой, потому что он думает, что данные относятся к версии 23:
    приложение_1 | Не удается запустить Nextcloud, поскольку версия данных (23.0.3.2) выше версии образа докера (22.2.6.2), а понижение версии не поддерживается. Вы уверены, что скачали самую новую версию образа?
    

Есть ли способ принудительно обновить или начать с версии 22?

Вот мой файл для создания докеров:

версия: '2'

тома:
  следующее облако:
  дБ:

Сервисы:
  дБ:
    изображение: mariadb
    перезапуск: всегда
    команда: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    тома:
      - БД:/вар/библиотека/mysql
    среда:
      - MYSQL_ROOT_PASSWORD=***
      - MYSQL_ПАРОЛЬ=***
      - MYSQL_DATABASE = следующее облако
      - MYSQL_USER=следующее облако

  приложение:
    изображение: следующее облако: 22
    перезапуск: всегда
    порты:
      - 9009:80
    ссылки:
      - дб
    тома:
      - следующее облако:/var/www/html
    среда:
      - MYSQL_ПАРОЛЬ=***
      - MYSQL_DATABASE = следующее облако
      - MYSQL_USER=следующее облако
      - MYSQL_HOST=дБ
      - ПЕРЕЗАПИСАТЬ ХОСТ=***
      - ПРОТОКОЛ ПЕРЕЗАПИСИ=https

Спасибо!

Рейтинг:0
флаг mx

Я смог решить проблему, вручную изменив версию в версия.php файл Nextcloud объем.

Это может привести к непоправимым проблемам, сделайте резервную копию своих данных, если хотите сделать то же самое!

Полный путь к этому файлу: /var/lib/docker/volumes/nextcloud_nextcloud/_data/version.php

У меня лежал старый том nextcloud, который я создал при первоначальной настройке nextcloud. я только что использовал версия.php из этого тома, так как я был совершенно уверен, что там правильная версия.

Вот что изменилось:

"неправильно" версия.php:

<?php 
$OC_Version = массив (23,0,3,2);
$OC_VersionString = '23.0.3';
$OC_Edition = '';
$OC_Channel = 'стабильный';
$OC_VersionCanBeUpgradedFrom = массив (
  'следующее облако' => 
  множество (
    '22.2' => верно,
    '23.0' => правда,
  ),
  'собственное облако' => 
  множество (
    '10,5' => правда,
  ),
);
$OC_Build = '2022-03-21T13:05:48+00:00 5f6449283b5eb3cd0c96f475ff6f68a6c73a8140';
$vendor = 'следующее облако';

"правильный" версия.php:

<?php 
$OC_Version = массив (21,0,1,1);
$OC_VersionString = '21.0.1';
$OC_Edition = '';
$OC_Channel = 'стабильный';
$OC_VersionCanBeUpgradedFrom = массив (
  'следующее облако' => 
  множество (
    '20.0' => правда,
    '21.0' => правда,
  ),
  'собственное облако' => 
  множество (
    '10,5' => правда,
  ),
);
$OC_Build = '2021-04-08T13:32:52+00:00 bd555dbe8568b2509bd7d82fabbe38d76c86afbe'
;
$vendor = 'следующее облако';

После этого изменения я мог сначала запустить nextcloud в версии 21, чтобы проверить, все ли там по-прежнему. Затем я смог запустить и обновить до 22 и 23 шагами просто отлично.

PS:

docker-compose exec --user www-data приложение php occ Позволяет вручную обновлять и отключать режим обслуживания.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.