Điểm:0

Làm cách nào để sửa bộ chứa docker Nextcloud sau khi bỏ qua một phiên bản chính?

lá cờ mx

Tôi đang chạy phiên bản Nextcloud riêng tư của mình bằng docker (docker-compose). Tôi đã cố nâng cấp lên phiên bản Nextcloud mới hơn nhưng không nhận ra rằng mình không được phép bỏ qua phiên bản chính (từ 21 đến 23). Bây giờ tôi không thể bắt đầu nó cả:

  • Khi tôi cố khởi động vùng chứa với phiên bản 23 và kích hoạt nâng cấp, nó không thành công vì không thể nâng cấp từ phiên bản 21:
    leifb@***:~/nextcloud$ sudo docker-compose exec --user www-data app php occ upgrade
    Nextcloud hoặc một trong các ứng dụng yêu cầu nâng cấp - chỉ có một số lệnh hạn chế
    […]
    Ngoại lệ: Cập nhật giữa nhiều phiên bản chính và hạ cấp không được hỗ trợ.
    Cập nhật không thành công
    […]
    
  • Khi tôi cố khởi động vùng chứa với phiên bản <23, nó không thành công vì cho rằng dữ liệu là từ phiên bản 23:
    ứng dụng_1 | Không thể khởi động Nextcloud vì phiên bản của dữ liệu (23.0.3.2) cao hơn phiên bản hình ảnh docker (22.2.6.2) và không hỗ trợ hạ cấp. Bạn có chắc là bạn đã kéo phiên bản hình ảnh mới nhất?
    

Có cách nào để buộc nâng cấp hoặc bắt đầu với phiên bản 22 không?

Đây là tập tin docker-compose của tôi:

phiên bản: '2'

khối lượng:
  đám mây tiếp theo:
  đb:

dịch vụ:
  đb:
    hình ảnh: mariadb
    khởi động lại: luôn luôn
    lệnh: --transaction-isolation=READ-CAM KẾT --binlog-format=ROW
    khối lượng:
      - db:/var/lib/mysql
    môi trường:
      - MYSQL_ROOT_PASSWORD=***
      - MYSQL_PASSWORD=***
      - MYSQL_DATABASE=đám mây tiếp theo
      - MYSQL_USER=nextcloud

  ứng dụng:
    hình ảnh: nextcloud:22
    khởi động lại: luôn luôn
    cổng:
      - 9009:80
    liên kết:
      - db
    khối lượng:
      - nextcloud:/var/www/html
    môi trường:
      - MYSQL_PASSWORD=***
      - MYSQL_DATABASE=đám mây tiếp theo
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
      - OVERWRITEHOST=***
      - OVERWRITEPROTOCOL=https

Cảm ơn bạn!

Điểm:0
lá cờ mx

Tôi đã có thể khắc phục sự cố bằng cách thay đổi thủ công phiên bản trong phiên bản.php tập tin của đám mây tiếp theo âm lượng.

Điều này có thể gây ra các vấn đề không thể khắc phục được, hãy sao lưu dữ liệu của bạn nếu bạn muốn làm điều tương tự!

Đường dẫn đầy đủ cho tệp đó là: /var/lib/docker/volumes/nextcloud_nextcloud/_data/version.php

Tôi có một ổ đĩa nextcloud cũ nằm xung quanh mà tôi đã tạo khi thiết lập nextcloud lần đầu. tôi chỉ sử dụng phiên bản.php từ tập đó, vì tôi khá tự tin rằng nó có phiên bản chính xác.

Đây là những gì đã thay đổi:

"không đúng" phiên bản.php:

<?php 
$OC_Version = mảng(23,0,3,2);
$OC_VersionString = '23.0.3';
$OC_Edition = '';
$OC_Channel = 'ổn định';
$OC_VersionCanBeUpgradedFrom = mảng (
  'đám mây tiếp theo' => 
  mảng (
    '22,2' => đúng,
    '23.0' => đúng,
  ),
  'đám mây riêng' => 
  mảng (
    '10,5' => đúng,
  ),
);
$OC_Build = '2022-03-21T13:05:48+00:00 5f6449283b5eb3cd0c96f475ff6f68a6c73a8140';
$vendor = 'nextcloud';

"Chính xác" phiên bản.php:

<?php 
$OC_Version = mảng(21,0,1,1);
$OC_VersionString = '21.0.1';
$OC_Edition = '';
$OC_Channel = 'ổn định';
$OC_VersionCanBeUpgradedFrom = mảng (
  'đám mây tiếp theo' => 
  mảng (
    '20.0' => đúng,
    '21.0' => đúng,
  ),
  'đám mây riêng' => 
  mảng (
    '10,5' => đúng,
  ),
);
$OC_Build = '2021-04-08T13:32:52+00:00 bd555dbe8568b2509bd7d82fabbe38d76c86afbe'
;
$vendor = 'nextcloud';

Sau thay đổi đó, trước tiên tôi có thể bắt đầu nextcloud trong phiên bản 21 để kiểm tra xem mọi thứ có còn ở đó không. Tiếp theo, tôi có thể bắt đầu và cập nhật lên 22 và 23 theo từng bước.

Tái bút:

docker-compose exec --user www-data app php occ Cho phép bạn cập nhật thủ công và tắt chế độ bảo trì.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.