Насколько масштабируемой я могу сделать свою установку в плане поддоменов и ограничения членства на них?

Привет! После более чем двух лет планирования прошло менее 24 часов с тех пор, как я наткнулся на Discourse, и я всё ещё немного ошеломлён тем, что нашёл, по-видимому, идеальное решение!

У меня в голове довольно сложная структура, и я надеялся, если можно, получить несколько советов.

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

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

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

У меня есть домен ****peer.support. Я живу в Бигтауне, поэтому я бы хотел:

bigtown.****peer.support

… как поддомен для моей местной группы. Мои дети ходят в местную школу, поэтому я бы хотел:

school.****peer.support

Это возможно? Заранее большое спасибо.
Мэтт :slightly_smiling_face:

Значит, разные домены (bigtown/school) указывают на один и тот же форум, но в разных группах?

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

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

Если все пользователи находятся в одном форуме, они все могут видеть друг друга, например, в подсказках при упоминании (@-упоминания) (связанная тема). Хотя вы можете ограничить, например, возможность публикации в определённых категориях на основе групп, вы не можете настроить видимость других пользователей. Таким образом, такие функции, как личные сообщения, либо включены, либо отключены, но вы не можете запретить пользователям из группы «школа» отправлять сообщения пользователям из группы «большой город».
Это проблема? Тогда вам понадобятся отдельные форумы.

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

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

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

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

Привет, Джей и Тобиас, большое спасибо за ваши отзывы. Поскольку я ничего не знал о Discourse 48 часов назад, я думаю, что мне стоит начать с самого начала с размещённой установки. Ваш документ, Джей, выглядит именно тем, что мне нужно, чтобы увидеть возможности, которые я ищу в единой установке.

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

Мне придётся очень активно участвовать в общей архитектуре и её гибкости. В итоге это может вырасти в тысячи групп по всей стране, и я не вижу причин, почему это не могло бы быть развернуто в странах по всему миру, начиная с США. У меня тоже нет большого запаса экспертизы, но я обязуюсь её получить. Этот проект уже три года в разработке, и до вчерашнего дня я не знал, куда двигаться в плане программного обеспечения. Найти идеальное решение и определиться с ним стало для меня полной неожиданностью.

Мое образование связано с вычислительной техникой: я давно получил диплом с отличием первого класса по вычислительной технике (сети и коммуникации). 24 года назад, когда я изучал администрирование систем Linux/Unix, это был один из модулей. Тогда я очень увлекался идеалами сообщества с открытым исходным кодом, а также идеей более демократизированного мира, который он может принести. Всё не совсем сложилось так, как планировалось, возможно, сейчас самое время.

Итак, я был бы в восторге от вашего доброго предложения помочь мне, Джей! Думаю, потребуется освежить знания по администрированию Linux и погрузиться в языки скриптов? Буду очень признателен за любые рекомендации по ресурсам для этого, а также за информацию о размещении рекламы в Discourse. Я хочу узнать, как можно начать внедрять ИИ, поэтому было бы здорово получить отправную точку, если это возможно.

Начните с руководства Установка Discourse за 30 минут, которое поможет вам приступить к работе. Просто следуйте инструкциям, и вы быстро разберётесь, как устанавливается Discourse. Установка для нескольких сайтов аналогична, но более сложна.

Спасибо, Тобиас. Я дошел до этого скриншота, а дальше мой мозг отказался работать.

Вы выполнили команду cd /var/discourse? Судя по вашему скриншоту, кажется, что нет.

«Файл или каталог не найден». Мне нужно создать его?

Вы клонировали репозиторий?

Похоже, установка прошла успешно, но отображается страница «Добро пожаловать в nginx!»
… требуется дальнейшая настройка

Предполагаю, вы запустили ./discourse-setup?

Если вы устали и используете Mailgun и панель управления Digital Ocean, literatecomputing.com сделает всё автоматически, за исключением обновлений DNS.

Вы можете оплатить услугу (и получить полную поддержку) или присоединиться к группе бесплатной пробной версии и сделать это бесплатно.

Привет. Я просто обновил страницу приветствия nginx, и вуаля — Discourse установлен. Спасибо за помощь @pfaffman @tobiaseigen!

Однако электронная почта не работает. Я посмотрел руководство по устранению неполадок, но не совсем уверен, что делаю. Как просмотреть файл app.yml? Я подумал о навигации к нему через FTP-клиент? Буду очень признателен за любые подсказки. Если учетные данные SMTP неверны, обновляются ли они в этом файле? А затем использовать команды destroy и start?

Спасибо за ссылку на literate computing, Джей. Я немного посмотрел и последовал вашей рекомендации по книге «Co-Intelligence», которую только что закончил. Не мог надеяться на лучший вводный материал, а также на действия, чтобы сразу начать, как вы и говорили. Отлично.

Вы можете выполнить команду nano app.yml, чтобы просмотреть и отредактировать файл в редакторе nano.

Используйте редактор командной строки, например nano (это, вероятно, самый простой вариант для начала).

Если он ещё не установлен, просто выполните команду apt install nano.

Откройте файл с помощью nano <filename>, внесите изменения и сохраните их, нажав Ctrl+X.

Документация здесь: Nano - Community Help Wiki и здесь: nano Command Manual

Также можно рассмотреть настройку VSCode для удалённого редактирования, но это излишне для тех правок, которые вам нужны в конфигурации продакшн-инстанса.