Создать сообщество

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

Что входит в запуск и ведение сообщества

Примерно полчаса, если следовать инструкции. Шесть вещей, о которых нужно знать заранее:

🧰

За чем вы следите

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

⚙️

Приложение настроек

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

🔒

Конфиденциальность с первого запуска

Объявления, карта, сообщения и балансы сообщества доступны только его участникам с момента первого запуска узла; ничего дополнительно включать не нужно. Тот, кто откроет его адрес без аккаунта, перенаправляется в глобальное сообщество, где они могут посмотреть, что есть поблизости, и попросить присоединиться.

🌐

Связь с соседним сообществом

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

Ваш адрес

Выберите его перед вставкой и измените последнюю строку. Если вы уже вставили команду, нажимайте Enter при запросах, затем выполните последнюю строку снова: код привязки ожидает телефон. Арендованный сервер с публичным IP-адресом и открытыми портами 80 и 443: добавьте --ip и его IP-адрес, например beanpool claim --ip 203.0.113.7. Сервер получит собственный сертификат для этого адреса от Let's Encrypt через порт 80, и телефоны смогут подключаться к нему по адресу https://203.0.113.7. Компьютер дома или без открытых портов: оставьте как есть. Команда запросит первую часть бесплатного имени (введите просто yourtown для yourtown.beanpool.org; Enter пропускает), доступного через туннель, который сервер запускает сам, и подождет до трех минут для активации. Собственный домен: направьте для него A-запись на IP-адрес сервера, откройте порты 80 и 443 и добавьте --address https://your.domain. Имя сохраняется при смене сервера, а номер — нет: вы сможете добавить имя позже в Настройках, при этом участники, использующие IP-адрес, продолжат работать. Чтобы выбрать позже в Настройках, добавьте --no-name. Обычный адрес http:// работает только в домашней сети: телефоны отклоняют его в интернете, о чем предупреждает процедура привязки. Если служба адресов проекта BeanPool недоступна, привязка все равно работает.

Установка

Затем на машине с установленным Docker вставьте этот блок команд. Он скачивает compose-файл, создает сеть для узла, загружает опубликованный образ (Intel/AMD или ARM64), запускает его, ожидает, пока сервер создаст одноразовый код подключения (до пяти минут при медленном первом запуске на Raspberry Pi), и запускает процедуру привязки. До запуска настраивать ничего не нужно.

bash — запуск сообщества
Один блок: загрузка, сеть, скачивание, запуск, ожидание, привязка git clone https://github.com/beanpool-org/beanpool.git && cd beanpool docker network create beanpool-shared docker compose pull docker compose up -d echo "Waiting for the server to make its claim code (up to 5 minutes)..." for i in $(seq 60); do docker compose exec -T beanpool-node test -f /data/claim-code.txt </dev/null 2>/dev/null && break; sleep 5; done docker compose exec -T beanpool-node test -f /data/claim-code.txt </dev/null 2>/dev/null || echo "No claim code after 5 minutes. The server's log says why: docker compose logs beanpool-node" docker compose exec beanpool-node beanpool claim

Последняя строка: beanpool claim

  1. Код и QR-код. Появится одноразовый код подключения и QR-код. Отсканируйте QR-код камерой телефона или откройте BeanPool, введите адрес сервера в разделе Найти своё сообщество и нажмите Привязать. Этот телефон станет владельцем.
  2. Настройки. Откройте свой адрес (или собственный адрес сервера), добавив /settings. Мастер настройки предложит дать название сообществу, добавить второго владельца и создаст три первых приглашения. Укажите свое местоположение на карте в разделе Node Identity, чтобы люди поблизости могли вас найти.

Если команда выведет No claim code after 5 minutes или beanpool claim сообщит This community has no claim code waiting, значит, сервер еще не завершил запуск: docker compose logs beanpool-node покажет текущее состояние. Как только в журнале появится сообщение, что у сообщества еще нет владельца и готов код привязки, запустите последнюю строку снова. Все подробные шаги описаны в руководстве оператора по начальной настройке.

Рекомендуется: сохраните работу сообщества при обновлении Docker

Этот шаг описан на странице «Updates and health» руководства оператора. ИИ-ассистент, который выполняет установку, всегда выполняет этот шаг (Настройка сервера с помощью ИИ-ассистента).

Посмотреть на GitHub →