Какие самые простые, но надёжные способы гарантируют, что форум на Discourse всегда можно будет восстановить?

За эти годы я помогал друзьям, которые размещали свои форумы самостоятельно.

Я убедил их арендовать сервер Hetzner, настроил автоматическое резервное копирование в Discourse, а затем синхронизировал эти бэкапы с моим Google Drive с помощью rclone и cron-задачи. Каждый администратор каждого форума имеет доступ к своим собственным резервным копиям в моём Drive. Для человека, не являющегося системным администратором, это, на мой взгляд, самое простое и безопасное решение.

Несколько раз я замечал, что токены в rClone не обновлялись (хотя бы на одном из инстансов), и мне приходилось настраивать его заново. Поскольку у меня нет никаких уведомлений о том, что синхронизация не удалась, я просто периодически вручную проверяю свой Drive, чтобы убедиться, что последние резервные копии свежие.

Если бы вы добровольно помогали кому-то или какой-либо организации разместить форум, какое решение вы бы предложили, чтобы гарантировать наличие резервных копий в надёжном месте, которые можно безопасно восстановить, если форум по какой-либо причине выйдет из строя?

Я делаю резервные копии с помощью rsync по SSH, используя ограниченный аккаунт, и запускаю это из cron. Хотя на самом деле я не делаю этого, но один из моих модераторов — да. Я создаю и скачиваю резервную копию, когда выполняю обновление. Таким образом, в первом случае мы можем потерять несколько дней активности на форуме, а во втором — месяц или больше.

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

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

Редактирование: хорошее замечание, необходимо иметь какой-то положительный контроль того, что процесс работает, и хотя бы поверхностное представление о том, что скачанные резервные копии в порядке.

Я не уделял особого внимания домену: в идеале он тоже должен иметь двойное администрирование и совместное владение в какой-то форме. Если мы потеряем контроль, форуму придётся появиться на новом домене — он мог бы отправлять дайджесты и уведомления членам по электронной почте, так что, при некотором доверии, они могли бы вернуться.

Для резервного копирования я бы рекомендовал S3. Если хотите быть на стороне безопасности, делайте ежедневные резервные копии форума. А если хотите быть на стороне максимальной безопасности — делайте резервные копии VPS.

Есть также:

Ну, я делаю резервное копирование базы данных каждый час :man_shrugging: Это тот же принцип, что и в электронной коммерции — нужно учитывать, какой максимальный период времени мы можем и/или хотим восстановить.

Резервное копирование на S3 и на внешний диск при помощи restic

Согласен. Если у вас есть файлы YML с конфигурацией S3, а сами резервные копии хранятся в S3, то для восстановления форума на новом сервере вам понадобятся только эти файлы YML. В качестве дополнительного преимущества это позволяет не забивать диск резервными копиями.

ВАЖНО: Не забывайте оплачивать счета за бакет S3, а также за виртуальную машину. Думаю, у Cloudflare тарифы самые дешевые?

У меня был случай, когда кто-то потерял доступ к своему аккаунту AWS, и все изображения были утеряны. Так что просто напоминание об оплате счетов — это расходы, которые нельзя недооценивать.