Пишу краткую документацию для администраторов форумов Discourse, которые я помог настроить. Что-то упустил?

Я настроил форумы Discourse для нескольких друзей и ассоциаций. Я хочу, чтобы они были более автономными в администрировании, чтобы мне реже приходилось вмешиваться лично.

Они используют Discourse в качестве пользователей и совладельцев админ-панели уже несколько месяцев или лет. Они не «новые администраторы», но им не хватает глубоких знаний о том, как поддерживать Discourse в повседневной работе (помимо базовой модерации), что нужно знать администратору и как действовать в случае технических сбоев, так как раньше я всегда брал эти вопросы на себя.

Я по-прежнему буду доступен в будущем, но цель — позволить им самостоятельно отслеживать и решать наиболее распространенные проблемы.

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


Обновления

Через веб-интерфейс

Запускайте обновления, когда в админ-панели появляется красный смайлик с недовольным выражением лица (это означает, что есть важное обновление для применения).
Обновления выполняются по адресу:
https://tonforum.fr/admin/upgrade

Иногда они выполняются в два этапа: сначала необходимо обновить «Docker_Manager», прежде чем можно будет обновить остальную часть:

Через командную строку

Иногда обновление необходимо выполнить через командную строку (страница администратора Discourse явно укажет на это, если это потребуется).

  1. Подключитесь к серверу через SSH.
  2. Пересоберите форум (пересборка всегда обновляет Discourse) с помощью следующей команды:
  3. /var/discourse/launcher rebuild app
    
  4. Периодически, после того как вы убедились, что форум работает корректно, может быть полезно удалить неиспользуемые образы Docker (остатки от предыдущих обновлений), чтобы освободить место на диске:
    /var/discourse/launcher cleanup
    

Расположение важных файлов на сервере

app.yml

Содержит конфигурацию сервера и список установленных плагинов. Очень полезно, если вам нужно перенести форум на другой сервер или применить определенные конфигурации (например, переместить загрузки и резервные копии на другой диск). Он находится здесь:

/var/discourse/containers/app.yml

mail-receiver.yml

Содержит конфигурацию программного обеспечения, которое позволяет получать ответы по электронной почте и публиковать их на форуме. Он находится здесь:

/var/discourse/containers/mail-receiver.yml

Резервные копии

Файлы резервных копий хранятся здесь:

/var/discourse/shared/standalone/backups/default

Важные страницы в админ-панели форума

Некоторые страницы могут быть полезны :robot:

Темы и компоненты

Они включают пользовательские CSS и HTML:

https://tonforum.fr/admin/config/customize/themes

Логи

Электронная почта

Полезно для отладки:

https://tonforum.fr/admin/email-logs

Действия персонала

Очень полезно. Здесь ведется запись (почти) всех изменений настроек сайта и других действий, выполненных модераторами и администраторами.

https://tonforum.fr/admin/logs/staff_action_logs

Логи ошибок

Могут дать подсказки, когда проблема неочевидна:

https://tonforum.fr/logs/

Резервные копии

Чтобы изменить частоту резервного копирования и максимальное количество резервных копий, просмотреть их или загрузить:

https://tonforum.fr/admin/backups

Ресурсы

https://meta.discourse.org
Официальная поддержка. Не стесняйтесь публиковать сообщения там; участники сообщества и разработчики обычно очень помогают.


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

10 лайков

Хочу прояснить несколько моментов.

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

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

Соединяя эти два совета: всегда делайте резервную копию и скачивайте её перед попыткой обновления.

3 лайка

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

Вот довольно полная цитата из оригинального поста. У Canapin есть хороший ответ со ссылкой на резервное копирование в Google Drive и Dropbox.

@Canapin, с приложением launcher rebuild разве не нужно запускать его так:

./launcher r build app

Так я привык запускать его, следуя другим инструкциям на этом сайте. Хотя я узнал, что часто существует множество способов сделать одно и то же. Lol

Отличная статья, очень полезно.

1 лайк

Но поскольку перед этим вы выполняете cd /var/discourse, то ./ просто указывает на эту директорию, то есть путь к launcher по сути является /var/discourse/launcher, верно?

Я не знал об этом. Я просто использовал это, как в других руководствах по Discourse. Но это логично. Спасибо.

Интересно, стоит ли добавить несколько советов по эскалации? Если человек, читающий документ, не знает, как подключиться к хосту по SSH для расследования или исправления проблемы, то кто тогда сможет? Возможно, стоит добавить совет о том, как задавать вопросы здесь, на Meta, а также напоминание о том, что можно использовать ask.

4 лайка

Хорошо, что я это узнал. Я знал только о скачивании резервной копии, созданной самим форумом.

1 лайк

Спасибо за вашу помощь!

Я добавил это в начало моего руководства:

Убедитесь, что вы готовы к любой ситуации

Настоятельно рекомендуется, в дополнение к локальным резервным копиям (сохраненным на том же сервере, что и форум), иметь копию этих резервных копий на другом сервере или в облаке[1].

Также полезно хранить копию файла /var/discourse/containers/app.yml в надежном месте[2]. Этот необязательный файл используется в случае переустановки форума или миграции на другой сервер.

Если у вас возникнут серьезные сомнения по любому вопросу, свяжитесь со мной (canapin@gmail.com).

Добавил это в раздел обновлений:

:information_source: Перед выполнением обновления настоятельно рекомендуется загрузить последнюю резервную копию вашего форума.

Добавил следующее:

Что делать, если форум больше не работает?

Пересборка форума решает многие проблемы и выполняется той же командой, что и обновление через командную строку:

/var/discourse/launcher rebuild app

Что делать, если форум все еще не работает после пересборки?

Обратитесь ко мне (canapin@gmail.com) или опубликуйте сообщение на официальном форуме поддержки.

Также я упомянул ask.discourse.org в конце руководства.

Ресурсы

https://meta.discourse.org : официальная поддержка, не стесняйтесь публиковать сообщения там — участники сообщества и разработчики очень отзывчивы
https://ask.discourse.com : чат-бот, обученный на данных поддержки Discourse, удивительно эффективен для ответов на вопросы (да, действительно)

Полный текст

Убедитесь, что вы готовы к любой ситуации

Настоятельно рекомендуется, в дополнение к локальным резервным копиям (сохраненным на том же сервере, что и форум), иметь копию этих резервных копий на другом сервере или в облаке[1:1].

Также полезно хранить копию файла /var/discourse/containers/app.yml в надежном месте[2:1]. Этот необязательный файл используется в случае переустановки форума или миграции на другой сервер.

Если у вас возникнут серьезные сомнения по любому вопросу, свяжитесь со мной (canapin@gmail.com).

Обновления

:information_source: Перед выполнением обновления настоятельно рекомендуется загрузить последнюю резервную копию вашего форума.

Через интерфейс

Выполняйте обновления, когда в панели администратора появляется грустный красный смайлик (это означает, что есть важное обновление).
Обновления выполняются через https://yourforum.com/admin/upgrade

Иногда они выполняются в два этапа: сначала нужно обновить «Docker_Manager», прежде чем можно будет обновить остальное:

Через командную строку

Иногда обновление необходимо выполнить через командную строку (страница администратора Discourse сообщит об этом, если это потребуется).

  1. Подключитесь к серверу через SSH.
  2. Пересоберите форум (пересборка всегда обновляет Discourse), используя следующую команду:
  3. /var/discourse/launcher rebuild app
    
  4. Время от времени, убедившись, что форум работает корректно, может быть полезно удалить неиспользуемые образы Docker (остатки предыдущих обновлений), чтобы освободить место на диске:
    /var/discourse/launcher cleanup
    

Что делать, если форум больше не работает?

Пересборка форума решает многие проблемы и выполняется той же командой, что и обновление через командную строку:

/var/discourse/launcher rebuild app

Думаю, сейчас все довольно хорошо, и я ничего важного не упустил :slight_smile:


  1. Если я установил ваш форум, ваши резервные копии автоматически копируются в мой Google Диск, но в идеале в будущем они должны сохраняться в пространстве, за которое вы отвечаете. Мы поговорим об этом однажды :smile: ↩︎ ↩︎

  2. Он содержит имя пользователя и пароль почтового сервера, а также электронную почту администратора высшего уровня (на самом деле мою). ↩︎ ↩︎

3 лайка

Если это сработает, то это будет лучшей (более простой) рекомендацией по сравнению с обычным вариантом в две строки (который раньше состоял из трёх, так что мы можем продолжить эту тенденцию).

Оба варианта работают.

Если вы находитесь в директории ./, то ./ необходим, так как расположение лаунчера не указано в PATH.

В Linux, если команда не находится в PATH, необходимо указать её полный путь, чтобы исключить любые ошибки в выборе файла.

3 лайка

Да, но часто вы можете выполнять несколько действий, например, сначала очистку. В таком случае переход в директорию (cd) сначала может оказаться более кратким.

3 лайка

Я согласен и добавил тему в закладки для будущего использования, спасибо

Что ж, вот полностью автоматически переведённое руководство:

Убедитесь, что вы готовы к любым непредвиденным ситуациям

Настоятельно рекомендуется, помимо локальных резервных копий (хранящихся на том же сервере, что и форум), иметь копию этих резервных копий на другом сервере или в облаке[1].

Также полезно хранить копию файла /var/discourse/containers/app.yml в надёжном месте[2]. Этот необязательный файл пригодится в случае переустановки форума или миграции на другой сервер.

Если у вас возникнут серьёзные сомнения по какому-либо вопросу, свяжитесь со мной.

Обновления

:information_source: Перед выполнением обновления настоятельно рекомендуется загрузить последнюю резервную копию вашего форума.

Через интерфейс

Выполняйте обновления, когда в панели администратора появляется грустный красный смайлик (это означает, что доступно важное обновление).
Обновления выполняются по адресу https://tonforum.fr/admin/upgrade

Иногда процесс состоит из двух этапов: сначала необходимо обновить «Docker_Manager», прежде чем можно будет обновить остальное:

Через командную строку

Иногда обновление необходимо выполнять через командную строку (страница администратора Discourse сообщит об этом, если это потребуется).

  1. Подключитесь к серверу через SSH
  2. Пересоберите форум (пересборка всегда обновляет Discourse), используя следующую команду:
  3. /var/discourse/launcher rebuild app
    
  4. Время от времени, убедившись, что форум работает корректно, может быть полезно удалить неиспользуемые образы Docker (остатки от предыдущих обновлений), чтобы освободить место на диске:
    /var/discourse/launcher cleanup
    

Что делать, если форум перестал работать?

Пересборка форума решает многие проблемы и выполняется той же командой, что и обновление через командную строку:

/var/discourse/launcher rebuild app

Что делать, если форум всё ещё не работает после пересборки?

Обратитесь ко мне или опубликуйте сообщение на официальном форуме поддержки.

Расположение важных файлов на сервере

app.yml

Он содержит конфигурацию сервера и список установленных плагинов. Очень полезен, если форум необходимо перенести на другой сервер, или для определённых настроек (например, перенос загрузок и резервных копий на другой диск). Он находится здесь:

/var/discourse/containers/app.yml

mail-receiver.yml

Он содержит конфигурацию программного обеспечения, которое позволяет получать ответы по электронной почте и публиковать их на форуме. Он находится здесь:

/var/discourse/containers/mail-receiver.yml

Резервные копии

Файлы резервных копий находятся здесь:

/var/discourse/shared/standalone/backups/default

Важные страницы в панели администратора форума:

Страницы, которые могут быть полезны :technologist:

Темы и компоненты

Они содержат, среди прочего, пользовательские CSS и HTML:

https://tonforum.fr/admin/config/customize/themes

Логи

Электронная почта

Полезно для отладки:

https://tonforum.fr/admin/email-logs

Действия персонала

Очень полезно. Ведётся запись (почти) всех изменений настроек сайта, а также других действий модераторов и администраторов.

https://tonforum.fr/admin/logs/staff_action_logs

Логи ошибок

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

https://tonforum.fr/logs/

Резервные копии

Для изменения частоты резервного копирования и максимального количества, просмотра или загрузки резервных копий:

https://tonforum.fr/admin/backups

Ресурсы

https://meta.discourse.org : официальная поддержка, не стесняйтесь публиковать сообщения там, участники и разработчики рады помочь
https://ask.discourse.com : чат-бот, обученный на данных поддержки Discourse, удивительно эффективно отвечает на вопросы (да, действительно)


  1. Если я установил ваш форум, ваши резервные копии автоматически копируются в мой Google Диск, но в идеале в будущем они должны сохраняться в пространстве, за которое отвечаете вы. Обсудим это однажды :smile: ↩︎

  2. Он содержит идентификатор и пароль почтового сервера, а также адрес электронной почты администратора (на самом деле мой). ↩︎

3 лайка