Хранилище DO и загруженные резервные копии не отображаются

Я загрузил свою резервную копию через SSH на новый дисковый накопитель, но она не отображается в разделе администратора.

Мой файл app.yml выглядит так, как указано в инструкции здесь — Move Uploads and Backups to DigitalOcean Block Storage

## Контейнер Docker не имеет состояния; все данные хранятся в /shared
volumes:
   - volume:
      host: /mnt/volume_lon1_01/shared/standalone
      guest: /shared
   - volume:
      host: /mnt/volume_lon1_01/shared/standalone/log/var-log
      guest: /var/log
    - volume:
      host: /var/postgres_data_discourse
      guest: /shared/postgres_data

Это сводит меня с ума…

Вы пересобрали приложение после изменения/добавления этих значений?

Да, я пересобрал приложение после внесения изменений.

Какая должна быть директория?

Backups или backups/default?

В настоящее время резервная копия находится в /backups

Сегодня попробую восстановить его через командную строку, если не получится отобразить в интерфейсе.

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

Это тот же код, так что это ничего не изменит

Я только что сделал резервную копию, но не могу её нигде найти, в логах написано…

[2022-03-01 10:05:53] Making sure '/var/www/discourse/public/backups/default' exists...

Но её там нет! Где может быть резервная копия?

Я думал, что резервная копия будет на новом диске для хранения, что я упускаю?

Должен ли ./launcher rebuild app сбрасывать форум каждый раз?

Я не могу ничего загружать, изображения и т. д. тоже. Меня бесит, что это всегда ломает мою сборку, когда я следую тем руководствам, которые, как мне кажется, вполне decent. Я просто хотел добавить место для хранения на свой существующий хостинг, а теперь у меня нет сайта, это так раздражает :face_with_spiral_eyes:

Начав заново с использованием «официального руководства», вы создадите снимок при установке, чтобы при необходимости можно было откатиться.

Это путь внутри контейнера.

Я думаю, что резервная копия должна находиться

    /mnt/volume_lon1_01/shared/standalone/backups/default

вне контейнера.

Вот что я думал, но его там тоже не было. Я также не мог загружать ничего в посты, изображения и т.д., просто получал ошибку. Не думаю, что эта инструкция по хранению работает.

Вы перенесли все эти данные в новое место? Что вы видите в

  /mnt/volume_lon1_01/shared/standalone

и/или

  /mnt/volume_lon1_01/shared/

Я следовал руководству точно, и всё находилось в указанном месте, но теперь я начал заново.

Вот что я сделал:

Следовал этому руководству: discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub

Загрузил резервную копию через SSH в backups/default

Создал снимок на этом этапе, чтобы можно было откатиться, если что-то пойдёт не так

У меня есть том, смонтированный в /mnt/, готовый для переноса. При предыдущем перемещении каталогов я столкнулся со следующими проблемами:

  • Резервная копия не сохранялась в новую папку для резервных копий на томе (на самом деле я вообще не мог её найти)
  • Загрузка изображений завершалась ошибкой; я предполагаю, что это произошло из-за того, что файлы не могли быть загружены на новый том по какой-то причине

Проводились ли тесты загрузки изображений и резервного копирования с использованием этого руководства @techAPJ Move Uploads and Backups to DigitalOcean Block Storage

Ко всему прочему, мне приходится ждать Let’s Encrypt. Я полагаю, это занимает неделю, так как я не знал, что при пересборке будет пытаться получить новый сертификат каждый раз. Таким образом, я исчерпал все попытки. Я не могу получить доступ к сайту вообще, пока не получу SSL-сертификаты. HTTP работает минуту, но затем принудительно перенаправляется на HTTPS, из-за чего я не могу зарегистрироваться.

Я использовал эти команды, как указано в руководстве:

mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_lon1_01

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

Вы видите файлы, если зайдёте в контейнер и посмотрите в /shared/?

Вы можете обойти лимит Let’s Encrypt, следуя инструкции Настройка Let’s Encrypt для нескольких доменов.

Я пока ничего не переносил на новый том. Мне нужна ясность, так как я точно следовал инструкциям, но ничего не получилось.

Я вообще не понимаю тот пост и пока прекращаю с этим возиться. Буду просто ждать, потому что, как вы и говорите, это раздражает. Мне просто нужно, чтобы мой сайт снова заработал, и сделать его снимок, прежде чем что-либо ещё делать.

Кстати, @pfaffman, спасибо за помощь до сих пор, очень ценим

Тогда это не сработает, и вы не следовали инструкциям; более безопасный способ — скопировать файлы на новый том, чтобы вы могли легче переключаться туда и обратно. Возможно, инструкции показались бы безопаснее, если бы включали копирование файлов с последующим их удалением (что именно и делает mv, поскольку перемещение происходит между разделами).

Возможно, вы не заметили эту часть моего сообщения?

Теперь всё становится на свои места!

Рекомендую использовать rsync или cp для копирования файлов на новый раздел вместо mv. Это упростит возврат к исходной настройке в случае проблем. Затем вы можете просто выполнить:

 ./launcher destroy app
 ./launcher start app

Чтобы проверить, работает ли новая конфигурация. Если что-то пойдёт не так, вернитесь к резервной версии app.yml.

Это отличная идея, спасибо! Я попробую это сделать как можно скорее.