Створити спільноту
Кожна спільнота працює на власному вузлі: невеликому сервері, що містить список учасників, публікації та реєстр цієї спільноти. Ним керує хтось із місцевих. Якщо у вашому місті чи районі такого ще немає, ним можете стати ви.
Що входить у ведення спільноти
Близько пів години, якщо ви можете слідувати інструкції. Шість речей, про які слід знати заздалегідь:
- Скільки це коштує. Програмне забезпечення безкоштовне. Воно працює на домашньому комп'ютері, який залишається постійно увімкненим (міні-ПК, 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 →