決済プロセッサーは手数料を取るだけではありません。あなたの資金を保持し、顧客を把握し、アカウントを凍結することもできます。BTCPay Server は無料のオープンソースソフトウェアで、自分で管理するウォレットに直接 Bitcoin を受け取れます。VPS 上で動作し、このガイドでは Docker ベースの標準的なインストール方法を説明します。
必要なもの
- プルーンドの Bitcoin ノードを併せて動かす場合は、2 vCPU、4 GB の RAM、80 GB のディスクを備えた VPS。外部ノードを使う場合はもっと少なくて済みます。
- ドメイン名(例:
pay.example.com)と、サーバーを指す A レコード。 - Docker をインストール済みで、SSH を堅牢化した Ubuntu 22.04 または 24.04。
ステップ 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:管理者とストアを作成する
ドメインを開き、最初のアカウントを登録します(これがサーバー管理者になります)。その後、Server Settings で公開登録を無効にします。ストアを作成し、デフォルトの通貨を設定します。
ステップ 4:自分で管理するウォレットを接続する
ウォレットはハードウェアウォレットまたは自分のデバイスで生成し、公開鍵(xpub)だけを BTCPay に貼り付けます。可能であれば、サーバー上にホットウォレットを生成しないでください。資金の安全がサーバーの安全に左右されてしまうためです。支払いは、公開鍵から導出されたアドレスに直接届きます。
ステップ 5:テストして連携する
テスト用の請求書を作成し、少額を支払います。その後、BTCPay のドキュメントに従って、ショップ用のプラグイン(WooCommerce、Shopify、カスタム API キー)をインストールします。
安全に保つ
- 管理者アカウントで 2 要素認証を有効にします。
- 組み込みのバックアップスクリプトで BTCPay のデータをバックアップし、サーバーの外に暗号化して保管します。
- リリースノートを読んだうえで、
btcpay-update.shで更新します。 - ファイアウォールは、SSH、80、443 だけを開けた状態で運用します。
どのコインが顧客に合うかは、支払いに最も安い暗号資産をお読みください。バックエンドのノードを自分で動かす場合は、Bitcoin ノードを動かすをご覧ください。