बीच में बैठा हर पेमेंट प्रोसेसर अपनी शर्तें, अपना KYC और बैलेंस फ़्रीज़ करने का अपना बटन लेकर आता है। BTCPay Server बीच वाले को हटा देता है। इनवॉइस आपके सर्वर पर बनते हैं, ग्राहक आपके वॉलेट से निकले पते पर भुगतान करता है, और आपका अपना Bitcoin नोड भुगतान की पुष्टि करता है। आपके सिवा इसे कोई बंद नहीं कर सकता।
यह उन दुकानों, फ़्रीलांसरों और सेवाओं के लिए है जो पहले से bitcoin लेती हैं — या लेना चाहती हैं — और यह काम किसी कंपनी को नहीं सौंपना चाहतीं।
कौन-सा प्लान
BTCPay लगभग सात कंटेनरों में चलता है: BTCPay ऐप, NBXplorer (जो चेन पर नज़र रखता है), Bitcoin Core, Postgres और सामने अपने-आप Let's Encrypt वाला nginx। हमारे टेस्ट सर्वर पर शुरुआत में इन्होंने लगभग 0.7 GB RAM ली, और सिंक के दौरान Bitcoin Core ज़्यादा लेता है; 4 GB भरपूर है। असली सीमा डिस्क है, मेमोरी नहीं।
| सेटअप | प्लान |
|---|---|
| on-chain BTC, ~5 GB ब्लॉक रखने वाला pruned नोड | Small-IP: 4 vCPU, 4 GB, 35 GB ($16/माह) |
| वही, लॉग और अपडेट के लिए ज़्यादा जगह के साथ | Medium-IP: 6 vCPU, 6 GB, 45 GB ($20/माह) |
| Lightning, बड़ी ब्लॉक विंडो या दूसरा कॉइन | Pro-32: 8 vCPU, 32 GB, 400 GB ($40/माह), अनुरोध पर |
आपको अपने IPv4 वाला प्लान चाहिए: ग्राहक HTTPS से BTCPay तक पहुँचते हैं, और Let's Encrypt को पोर्ट 80 तक पहुँचना होता है। ऑर्डर के समय जो उपलब्ध हो, जर्मनी या फ़िनलैंड चुनें — पेमेंट पेज के लिए लेटेंसी लगभग मायने नहीं रखती। और जब पूरा मक़सद ही क्रिप्टो लेना है, तो ठीक बैठता है कि सर्वर का भुगतान भी बिना KYC के क्रिप्टो में हो।
इंस्टॉलेशन
pay.example.com को सर्वर पर पॉइंट करें, फिर नए Ubuntu 24.04 या Debian 12 पर root के रूप में:
mkdir BTCPayServer && cd BTCPayServer
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
export BTCPAY_HOST="pay.example.com"
export LETSENCRYPT_EMAIL="you@yourdomain.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-xxs"
export BTCPAYGEN_REVERSEPROXY="nginx"
export BTCPAYGEN_LIGHTNING="none"
. ./btcpay-setup.sh -i
opt-save-storage-xxs ही सब कुछ फ़िट करता है: Bitcoin Core ब्लॉकों को 5 GB तक prune करता है। स्क्रिप्ट इमेज खींचती है, btcpayserver नाम की systemd सेवा बनाती है और सब कुछ चालू करती है। रास्ते में यह Docker डेमन को भी रीस्टार्ट करती है — BTCPay को दूसरे कंटेनरों के बगल में ठूँसने के बजाय अलग सर्वर देने की एक और वजह।
नोड जाँचें:
bitcoin-cli.sh getblockchaininfo
blocks की तुलना headers से करें, और "pruned": true देखें। हमारे टेस्ट के बीस मिनट बाद लगभग 9,72,000 में से 2,18,000 ब्लॉक हो चुके थे — शुरुआती ब्लॉक बहुत छोटे होते हैं, इसलिए इससे अंदाज़ा न लगाएँ। असली काम बाद में आता है।
पहला लॉगिन: अभी करें
https://pay.example.com जवाब देते ही खोलें। BTCPay आपको रजिस्ट्रेशन पेज पर भेजता है, और पहला खाता सर्वर एडमिन बन जाता है। अगर कोई और आपसे पहले पेज ढूँढ ले, तो आपका पेमेंट सर्वर उसका हो जाता है। रजिस्टर करें, फिर Server Settings → Policies में देखें और नए साइन-अप को अपनी पसंद के अनुसार सेट करें।
फिर एक स्टोर बनाएँ और अपने वॉलेट को उसकी extended public key (xpub) से जोड़ें — हार्डवेयर वॉलेट से या डेस्कटॉप वॉलेट के एक्सपोर्ट से। BTCPay हर इनवॉइस के लिए नया पता निकालता है और कभी प्राइवेट की नहीं देखता। इसके लिए सालों के इतिहास वाले वॉलेट के बजाय नया वॉलेट या नया खाता इस्तेमाल करें: pruned नोड के लिए अब से होने वाली चीज़ों पर नज़र रखना सबसे आसान है।
जब तक नोड नेटवर्क के बराबर नहीं पहुँचता, BTCPay दिखाता है कि सिंक जारी है और भुगतान पर नज़र नहीं रखता। लॉन्च सिंक के बाद रखें, इंस्टॉल वाली शाम को नहीं।
लाइव जाने से पहले जानने वाली बातें
- पहली सिंक लंबी होती है। pruned नोड भी पुराने ब्लॉक हटाने से पहले पूरी चेन — 700 GB से ज़्यादा — डाउनलोड करके जाँचता है। हमारे प्लान पर ट्रैफ़िक 1 Gbit/s पर असीमित है, इसलिए कोई अतिरिक्त ख़र्च नहीं, लेकिन 4 vCPU सर्वर पर दिनों में सोचें। रिपॉज़िटरी में एक फ़ास्ट-सिंक स्क्रिप्ट है; वह किसी और की UTXO सेट की कॉपी पर भरोसा करके यह काम छोड़ देती है, जिससे अपना नोड चलाने की वजह का एक हिस्सा ही बेमानी हो जाता है।
- अपडेट।
btcpay-update.shBTCPay और उसकी निर्भरताओं का नया वर्शन लाता है। इसे शांत घंटे में चलाएँ, सेल के बीच में नहीं। - किसका बैकअप लें। सिर्फ़ xpub से जुड़े वॉलेट के साथ आपके कॉइन सर्वर पर नहीं होते। खो सकती हैं Postgres में स्टोर की सेटिंग्स और इनवॉइस का इतिहास — उस वॉल्यूम का बैकअप लें, और वॉलेट का seed ऐसी जगह रखें जिसका इस सर्वर से कोई लेना-देना न हो।
- Lightning बाद में। on-chain से शुरू करें। Lightning का मतलब है बड़ी ब्लॉक विंडो, चैनल प्रबंधन और इनबाउंड लिक्विडिटी — एक अलग प्रोजेक्ट, और एक Pro प्लान जिसे हम अनुरोध पर सेट करते हैं।
मेरी राय: दिन में एक बार bitcoin लेने वाली छोटी दुकान के लिए Small-IP पर BTCPay सबसे साफ़-सुथरा सेटअप है। अगर आपको कार्ड भुगतान या फ़िएट में निकासी चाहिए, तो यह वह टूल नहीं है।
संबंधित
- VPS पर अपना Bitcoin नोड चलाएँ: सिर्फ़ नोड, अगर आप केवल अपना वॉलेट सत्यापित करना चाहते हैं
- VPS पर अपना Monero नोड चलाएँ
- Crypto VPS: सर्वर का भुगतान क्रिप्टो में
- अपने IP पर वेबसाइट के लिए VPS: वह दुकान जो ग्राहकों को BTCPay पर भेजती है
- ufw फ़ायरवॉल कैसे सेट करें
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।