Khởi tạo một cộng đồng
Mỗi cộng đồng hoạt động trên một máy chủ riêng: một máy chủ nhỏ lưu trữ thành viên, bài đăng và sổ cái của cộng đồng đó. Một người dân địa phương sẽ vận hành máy chủ này. Nếu thị trấn hoặc thung lũng của bạn chưa có, người đó có thể chính là bạn.
Vận hành một cộng đồng gồm những gì
Khoảng nửa giờ nếu bạn làm theo hướng dẫn. Sáu điều cần biết trước tiên:
- Chi phí. Phần mềm hoàn toàn miễn phí. Phần mềm chạy trên máy tính dự phòng luôn bật ở nhà (Mini PC, NAS hoặc Raspberry Pi chạy hệ điều hành 64-bit), hoặc trên máy chủ thuê giá rẻ với vài đô la mỗi tháng (khoảng 6 USD).
- Ai lưu trữ máy chủ. Chính bạn, trên máy riêng hoặc máy bạn thuê. Không bao giờ cần đến beanpool.org: địa chỉ web riêng của bạn hoàn toàn hoạt động tốt.
- Trách nhiệm của bạn. Các báo cáo từ thành viên sẽ được gửi tới bạn. Bạn chịu trách nhiệm sao lưu thư mục dữ liệu bằng mã khôi phục. Duy trì hai chủ sở hữu. Luôn giữ máy chủ hoạt động và được cập nhật.
- Điều bạn không bao giờ thấy. Tin nhắn trực tiếp của các thành viên.
- Cần cài đặt Docker trước. Máy cần được cài sẵn Docker trước khi chạy khối lệnh bên dưới; một máy chủ mới thuê chưa có Docker.
- Địa chỉ điện thoại có thể truy cập. Điện thoại chỉ kết nối tới cộng đồng trên internet qua giao thức https. Trên máy chủ thuê có địa chỉ IP công khai và mở các cổng 80, 443, chỉ cần địa chỉ IP đó là đủ: máy chủ của bạn sẽ tự nhận chứng chỉ bảo mật cho địa chỉ đó mà không cần tài khoản Cloudflare, và tương tự với tên miền riêng của bạn. Ở nhà, hoặc không mở cổng mạng, quá trình nhận quyền sở hữu sẽ cấp cho bạn một tên miền miễn phí có đuôi .beanpool.org, thông qua đường hầm do chính máy chủ của bạn tự chạy. Địa chỉ http:// thông thường chỉ hoạt động trong mạng nội bộ gia đình.
Những việc bạn đảm trách
Bạn và các quản trị viên do bạn chỉ định là những người điều duyệt cộng đồng: các báo cáo sẽ gửi tới bạn. Dữ liệu thành viên nằm trên máy của bạn, vì vậy bạn cần sao lưu định kỳ. Bạn có thể đọc các thảo luận của doanh nghiệp và cuộc trò chuyện sự kiện; bạn không thể đọc tin nhắn trực tiếp. Bạn mời những thành viên đầu tiên, và họ sẽ mời những người tiếp theo.
Ứng dụng cài đặt
Máy chủ của bạn đi kèm với ứng dụng cài đặt riêng trên trình duyệt. Tại đây bạn đặt tên cho cộng đồng, chỉ định chủ sở hữu và quản trị viên đăng nhập bằng khóa của chính họ, in mã QR mời, theo dõi tình trạng đĩa cứng, chọn địa chỉ web công khai hoặc đường hầm (tunnel), và hỗ trợ thành viên bị mất cả điện thoại lẫn 12 từ lấy lại quyền truy cập vào tài khoản của họ trên điện thoại mới, bằng mã dùng một lần mà bạn xác nhận trực tiếp.
Riêng tư ngay từ lần khởi động đầu tiên
Tin đăng, bản đồ, tin nhắn và số dư của cộng đồng chỉ dành riêng cho các thành viên ngay từ khoảnh khắc máy chủ bắt đầu chạy; không cần phải bật bất kỳ thiết lập nào. Người mở địa chỉ máy chủ mà không có tài khoản sẽ được chuyển hướng đến cộng đồng toàn cầu, nơi họ có thể thấy những gì ở gần mình và yêu cầu tham gia.
Liên kết với cộng đồng láng giềng
Hai cộng đồng có thể thỏa thuận liên kết để thành viên có thể giao dịch với nhau. Đậu không bao giờ rời khỏi cộng đồng gốc: mỗi cặp cộng đồng duy trì một bản đối soát liên tục về khoản nợ giữa hai bên, và mỗi bên tự đặt ra hạn mức của mình. Liên kết luôn tắt trừ khi người vận hành của cả hai bên cùng bật, và tính năng này vẫn đang trong giai đoạn đầu: tính năng đã được xây dựng cùng các màn hình trong ứng dụng web, và mới chỉ được thử nghiệm giữa hai cộng đồng thử nghiệm của chúng tôi chứ chưa bao giờ triển khai giữa các cộng đồng thực tế.
Địa chỉ của bạn
Hãy chọn địa chỉ trước khi dán và điều chỉnh dòng lệnh cuối cùng cho phù hợp. Nếu bạn đã dán lệnh, hãy nhấn Enter khi xuất hiện câu hỏi, sau đó chạy lại dòng lệnh cuối cùng: mã nhận quyền sẽ chờ điện thoại kết nối. Máy chủ thuê có địa chỉ IP công khai và mở các cổng 80, 443: thêm --ip cùng địa chỉ IP đó, ví dụ beanpool claim --ip 203.0.113.7. Máy chủ của bạn sẽ tự nhận chứng chỉ cho địa chỉ đó từ Let's Encrypt qua cổng 80, và điện thoại có thể truy cập tại https://203.0.113.7. Máy tính ở nhà hoặc không mở cổng mạng: hãy giữ nguyên dòng lệnh. Lệnh sẽ hỏi phần đầu của tên miền miễn phí (chỉ cần nhập yourtown cho tên miền yourtown.beanpool.org; nhấn Enter để bỏ qua), được truy cập thông qua đường hầm do chính máy chủ tự chạy, và chờ tối đa ba phút để bắt đầu hoạt động. Tên miền riêng của bạn: trỏ bản ghi A về địa chỉ IP của máy chủ, mở các cổng 80 và 443, rồi thêm --address https://your.domain. Tên miền vẫn được giữ nguyên khi thay đổi máy chủ, còn địa chỉ IP thì không: bạn có thể thêm tên miền sau trong Cài đặt, và các thành viên dùng địa chỉ IP vẫn tiếp tục hoạt động bình thường. Để chọn sau trong Cài đặt, thêm --no-name. Địa chỉ http:// thông thường chỉ hoạt động trong mạng nội bộ gia đình: điện thoại sẽ từ chối kết nối qua internet và quá trình nhận quyền sẽ cảnh báo bạn. Nếu dịch vụ địa chỉ của dự án BeanPool ngừng hoạt động, lệnh nhận quyền vẫn hoạt động.
Cài đặt
Sau đó, trên máy đã cài sẵn Docker, hãy dán khối lệnh duy nhất này. Khối lệnh sẽ tải tệp compose, tạo mạng mà máy chủ sử dụng, kéo hình ảnh đã xuất bản (Intel/AMD hoặc ARM64), khởi động máy chủ, chờ cho đến khi máy chủ tạo xong mã nhận quyền dùng một lần (tối đa năm phút, cho lần khởi động đầu tiên chậm trên Raspberry Pi), và tiến hành nhận quyền sở hữu. Không có cấu hình nào cần thiết trước khi khởi động.
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
Dòng lệnh cuối cùng: beanpool claim
- Mã và mã QR. Lệnh sẽ hiển thị một mã nhận quyền dùng một lần và một mã QR. Quét mã QR bằng máy ảnh điện thoại, hoặc mở BeanPool, nhập địa chỉ máy chủ trong mục Tìm cộng đồng của bạn và nhấn Nhận quyền sở hữu. Điện thoại đó sẽ trở thành chủ sở hữu.
- Cài đặt. Mở địa chỉ của bạn (hoặc địa chỉ riêng của máy chủ) kèm theo /settings. Trình hướng dẫn thiết lập sẽ đặt tên cho cộng đồng của bạn, yêu cầu bạn thêm chủ sở hữu thứ hai và tạo ba lời mời sáng lập. Thiết lập vị trí của bạn trên bản đồ trong mục Nhận diện máy chủ (Node Identity) để mọi người ở gần có thể tìm thấy bạn.
Nếu khối lệnh thông báo No claim code after 5 minutes, hoặc beanpool claim thông báo This community has no claim code waiting, nghĩa là máy chủ chưa khởi động xong: lệnh docker compose logs beanpool-node sẽ hiển thị tiến trình. Khi nhật ký ghi nhận cộng đồng chưa có chủ sở hữu và đã có mã nhận quyền, hãy chạy lại dòng lệnh cuối cùng. Các bước đầy đủ được hướng dẫn trong phần thiết lập lần đầu của cẩm nang người vận hành.
Khuyến nghị: giữ cộng đồng của bạn tiếp tục chạy khi Docker cập nhật
Bước này nằm ở trang "Updates and health" trong cẩm nang người vận hành. Trợ lý AI thực hiện việc cài đặt luôn chạy bước này (Thiết lập máy chủ của bạn với trợ lý AI).
Xem trên GitHub →