커뮤니티 시작하기
모든 커뮤니티는 자체 노드에서 실행돼요. 해당 커뮤니티의 멤버, 게시물, 장부를 보관하는 소형 서버예요. 지역 주민이 이를 운영해요. 아직 동네나 마을에 노드가 없다면, 여러분이 직접 시작해 볼 수 있어요.
커뮤니티를 운영하면 무엇을 하게 되나요
설명서대로 따라 하면 약 30분이면 돼요. 먼저 알아둘 여섯 가지:
- 비용. 소프트웨어는 무료예요. 집에서 항상 켜두는 남는 컴퓨터(미니 PC, NAS 또는 64비트 시스템의 라즈베리 파이)나 한 달에 몇 달러(약 6달러) 수준의 소형 대여 서버에서 실행돼요.
- 호스팅 주체. 내 컴퓨터나 대여한 서버에서 직접 호스팅해요. beanpool.org가 필요하지 않으며, 자체 웹 주소도 사용할 수 있어요.
- 맡게 되는 책임. 멤버들의 신고가 여러분에게 전달돼요. 데이터 폴더는 복구 코드와 함께 직접 백업해야 해요. 소유자를 두 명으로 유지하세요. 서버를 켜두고 최신 상태로 유지하세요.
- 절대 볼 수 없는 것. 멤버들의 1:1 메시지.
- 먼저 Docker 준비. 아래 명령어를 실행하기 전에 머신에 Docker가 설치되어 있어야 해요. 새로 대여한 서버에는 Docker가 설치되어 있지 않아요.
- 휴대폰이 접속할 수 있는 주소. 인터넷 환경에서 휴대폰은 https를 통해서만 커뮤니티에 접속해요. 공인 IP 주소가 있고 80번과 443번 포트가 열려 있는 대여 서버라면 해당 IP 주소만으로 충분해요. Cloudflare 계정 없이도 서버가 자체 인증서를 발급받으며, 자체 도메인도 마찬가지예요. 집에서 운영하거나 열린 포트가 없는 경우, 소유권 등록을 통해 서버가 자체 실행하는 터널을 거쳐 .beanpool.org로 끝나는 무료 이름을 받을 수 있어요. 일반 http:// 주소는 홈 네트워크에서만 작동해요.
담당하게 되는 일
운영자와 임명된 관리자들은 커뮤니티의 중재자 역할을 해요. 신고가 여러분에게 전달돼요. 멤버들의 데이터가 여러분의 컴퓨터에 저장되므로 백업을 유지해야 해요. 공유 사업 토론과 행사 채팅은 읽을 수 있지만, 1:1 메시지는 읽을 수 없어요. 처음 멤버들을 초대하면, 그 멤버들이 다른 사람들을 초대해요.
설정 앱
노드에는 브라우저에서 사용할 수 있는 자체 설정 앱이 포함되어 있어요. 커뮤니티 이름을 짓고, 각자의 키로 로그인하는 소유자와 관리자를 지정하고, QR 초대장을 인쇄하고, 디스크 상태를 확인하고, 공용 웹 주소나 터널을 선택할 수 있어요. 또한 휴대폰과 12개 단어를 모두 분실한 멤버가 새 휴대폰에서 계정을 되찾을 수 있도록 직접 대면 확인 후 일회용 코드로 도와줄 수 있어요.
첫 실행부터 완벽한 비공개
커뮤니티의 게시물, 지도, 메시지, 잔액은 노드가 시작되는 순간부터 멤버들만을 위한 것이에요. 별도로 켤 필요가 없어요. 계정 없이 노드 주소로 접속한 사람은 글로벌 커뮤니티로 안내되어 거기서 주변에 무엇이 있는지 확인하고 참여를 요청할 수 있어요.
이웃 커뮤니티와 연계하기
두 커뮤니티가 합의하여 멤버들이 서로 거래할 수 있도록 연계할 수 있어요. 콩은 절대 커뮤니티 밖으로 나가지 않아요. 양쪽은 서로에게 진 빚을 지속적으로 집계하며, 각자 자체 한도를 설정해요. 양쪽 운영자가 모두 켜지 않는 한 연계는 꺼져 있으며, 아직 초기 단계예요. 웹 앱에 화면이 구현되어 있지만, 자체 테스트 커뮤니티 둘 사이에서만 시험해 보았고 실제 운영 커뮤니티 간에는 아직 시도된 적이 없어요.
주소 설정
붙여넣기 전에 주소를 정하고 그에 맞게 마지막 줄을 수정하세요. 이미 붙여넣었다면 질문에서 Enter를 누른 후 마지막 줄을 다시 실행하세요. 소유권 등록 코드는 휴대폰의 접속을 기다려요. 공인 IP 주소가 있고 80 및 443 포트가 열린 대여 서버: beanpool claim --ip 203.0.113.7처럼 --ip와 해당 IP 주소를 추가하세요. 서버는 80번 포트를 통해 Let's Encrypt에서 해당 주소에 대한 자체 인증서를 발급받으며, 휴대폰은 https://203.0.113.7로 접속해요. 가정용 컴퓨터 또는 열린 포트가 없는 경우: 그대로 두세요. 서버가 자체 실행하는 터널을 통해 접속할 수 있는 무료 이름의 앞부분을 물어보며(yourtown.beanpool.org의 경우 yourtown만 입력, Enter를 누르면 건너뜀), 활성화될 때까지 최대 3분 정도 기다려요. 자체 도메인: 서버의 IP 주소로 A 레코드를 지정하고 80 및 443 포트를 연 다음 --address https://your.domain을 추가하세요. 도메인 이름은 서버가 바뀌어도 유지되지만 숫자는 그렇지 않아요. 나중에 설정에서 이름을 추가할 수 있으며 기존 IP 주소를 사용하는 멤버들도 그대로 이용할 수 있어요. 나중에 설정에서 정하려면 --no-name을 추가하세요. 일반 http:// 주소는 홈 네트워크에서만 작동해요. 인터넷 환경에서는 휴대폰 접속이 거부되며 등록 시 경고가 표시돼요. BeanPool 프로젝트의 주소 서비스가 다운되더라도 소유권 등록은 정상 작동해요.
설치하기
그런 다음 Docker가 설치된 해당 머신에 아래의 한 단락을 붙여넣으세요. compose 파일을 가져오고, 노드가 사용할 네트워크를 생성하고, 배포된 이미지(Intel/AMD 또는 ARM64)를 가져와 실행한 뒤, 서버가 일회용 소유권 등록 코드를 생성할 때까지 기다렸다가(라즈베리 파이에서 첫 실행이 느릴 경우 최대 5분 소요) 소유권을 등록해요. 시작 전에 따로 설정할 것은 없어요.
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를 붙여 접속하세요. 설정 마법사가 커뮤니티 이름을 짓고, 두 번째 소유자를 추가하도록 요청하며, 세 개의 창립 초대장을 만들어요. 주변 사람들이 찾을 수 있도록 '노드 식별 정보'에서 지도상의 위치를 설정하세요.
해당 단락에 No claim code after 5 minutes라고 표시되거나 beanpool claim에서 This community has no claim code waiting이라고 나오면 서버 시작이 아직 완료되지 않은 것이에요. docker compose logs beanpool-node로 진행 상황을 확인할 수 있어요. 로그에 아직 소유자가 없고 등록 코드가 생성되었다고 나오면 마지막 줄을 다시 실행하세요. 전체 단계는 운영자 매뉴얼의 첫 설정 가이드에 나와 있어요.
권장: Docker가 업데이트될 때도 커뮤니티를 계속 실행해요
이 단계는 운영자 매뉴얼의 "Updates and health" 페이지에 있어요. 설치를 대신 해 주는 AI 어시스턴트는 이 단계를 항상 실행해요 (AI 어시스턴트로 서버 설정하기).
GitHub에서 보기 →