결제 대행사는 수수료만 받는 것이 아닙니다. 내 자금을 보관하고, 내 고객을 파악하고, 계정을 동결할 수도 있습니다. BTCPay Server는 직접 관리하는 지갑으로 Bitcoin을 바로 받을 수 있게 해 주는 무료 오픈 소스 소프트웨어입니다. VPS에서 실행되며, 이 가이드는 표준 Docker 기반 설치 방법을 보여 드립니다.
필요한 것
- 프루닝된 Bitcoin 노드를 함께 실행한다면 2 vCPU, 4 GB RAM, 80 GB 디스크의 VPS가 필요합니다. 외부 노드에 연결한다면 더 적어도 됩니다.
- 서버를 가리키는 A 레코드가 있는 도메인 이름(예:
pay.example.com). - Docker가 설치된 Ubuntu 22.04 또는 24.04와 보안이 강화된 SSH 설정.
1단계: 도메인 연결
먼저 A 레코드를 만들고 적용될 때까지 기다리세요. 설치 프로그램이 해당 이름으로 Let's Encrypt 인증서를 요청하므로 레코드가 없으면 실패합니다. DNS 가이드에서 자세히 다룹니다.
2단계: 공식 설치 프로그램 실행
sudo su -
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
export BTCPAY_HOST="pay.example.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_LIGHTNING="clightning"
export BTCPAYGEN_REVERSEPROXY="nginx"
export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-s"
export LETSENCRYPT_EMAIL="you@example.com"
. ./btcpay-setup.sh -i
opt-save-storage-s 옵션은 디스크를 아끼기 위해 블록체인을 프루닝합니다. 초기 동기화에는 여러 시간이 걸릴 수 있으며, 노드가 따라잡은 뒤에는 스토어에서 청구서를 사용할 수 있습니다. Lightning은 선택 사항이므로 필요하지 않다면 해당 줄을 빼세요.
3단계: 관리자와 스토어 만들기
도메인을 열고 첫 번째 계정을 등록한 다음(이 계정이 서버 관리자가 됩니다), 서버 설정에서 공개 가입을 비활성화하세요. 스토어를 만들고 기본 통화를 설정합니다.
4단계: 직접 관리하는 지갑 연결
하드웨어 지갑이나 본인 기기에서 지갑을 생성하고, 공개 키(xpub)만 BTCPay에 붙여 넣으세요. 가능하면 서버에 핫 월렛을 만들지 마세요. 그렇게 하면 자금의 안전이 서버의 안전에 좌우됩니다. 결제는 공개 키에서 파생된 주소로 바로 들어갑니다.
5단계: 테스트 및 연동
테스트 청구서를 만들고 소액을 결제해 보세요. 그런 다음 BTCPay 문서를 따라 쇼핑몰용 플러그인(WooCommerce, Shopify, 사용자 지정 API 키)을 설치하세요.
안전하게 유지하기
- 관리자 계정에 2단계 인증을 켜세요.
- 내장 백업 스크립트로 BTCPay 데이터를 백업하고, 서버 밖에 암호화하여 보관하세요.
- 릴리스 노트를 읽은 후
btcpay-update.sh로 업데이트하세요. - SSH, 80, 443 포트만 열어 둔 상태로 방화벽을 운영하세요.
고객에게 어떤 코인이 맞는지 알아보려면 결제에 가장 저렴한 암호화폐를 읽어 보세요. 직접 백엔드 노드를 운영하고 싶으신가요? Bitcoin 노드 운영하기를 참고하세요.