Создать сообщество
Каждое сообщество работает на собственном узле: небольшом сервере, где хранятся данные об участниках, публикациях и реестре этого сообщества. Им управляет кто-то из местных жителей. Если в вашем городе или поселке такого узла еще нет, им можете стать вы.
Что входит в запуск и ведение сообщества
Примерно полчаса, если следовать инструкции. Шесть вещей, о которых нужно знать заранее:
- Сколько это стоит. Программное обеспечение бесплатно. Оно работает на свободном домашнем компьютере, который постоянно включен (мини-ПК, NAS или Raspberry Pi с 64-битной системой), либо на небольшом арендованном сервере за несколько долларов в месяц (около $6 США).
- Кто его размещает. Вы сами, на своем компьютере или на арендованном сервере. Ему не требуется beanpool.org: работает ваш собственный веб-адрес.
- За что вы отвечаете. Жалобы от участников поступают вам. Папку с данными вы копируете сами с помощью кода восстановления. Держите двух владельцев. Следите за работой и обновлениями сервера.
- Чего вы никогда не видите. Личные сообщения участников.
- Сначала Docker. На машине должен быть установлен Docker перед выполнением команды ниже; на только что арендованном сервере его нет.
- Адрес, доступный для телефонов. Телефоны связываются с сообществом в интернете только по протоколу https. На арендованном сервере с публичным IP-адресом и открытыми портами 80 и 443 этого IP-адреса достаточно: сервер сам получает для него сертификат без аккаунта Cloudflare, то же самое и для собственного домена. Дома или без открытых портов процедура подключения дает бесплатное имя, оканчивающееся на .beanpool.org, через туннель, который сервер запускает сам. Обычный адрес http:// работает только в домашней сети.
За чем вы следите
Вы и назначенные вами администраторы являетесь модераторами своего сообщества: жалобы поступают вам. Данные участников хранятся на вашей машине, поэтому вы заботитесь о резервных копиях. Вы можете читать обсуждения предприятий и чаты событий; вы не можете читать личные сообщения. Вы приглашаете первых участников, а они приглашают остальных.
Приложение настроек
Ваш узел поставляется с собственным веб-приложением настроек в браузере. В нем вы задаете название сообщества, назначаете владельца и администраторов, входящих по своим ключам, распечатываете 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), и запускает процедуру привязки. До запуска настраивать ничего не нужно.
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
- Код и QR-код. Появится одноразовый код подключения и QR-код. Отсканируйте QR-код камерой телефона или откройте BeanPool, введите адрес сервера в разделе Найти своё сообщество и нажмите Привязать. Этот телефон станет владельцем.
- Настройки. Откройте свой адрес (или собственный адрес сервера), добавив /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 →