Każdy procesor płatności pośrodku przynosi swoje warunki, swój KYC i swój przycisk zamrażania salda. BTCPay Server usuwa środek. Faktury powstają na Twoim serwerze, klient płaci na adres wyprowadzony z Twojego portfela, a płatność potwierdza Twój własny węzeł Bitcoin. Nikt poza Tobą nie może tego wyłączyć.
To dla sklepów, freelancerów i usług, które już przyjmują bitcoina — albo chcą — i wolą nie oddawać tej pracy firmie.
Jaki plan
BTCPay działa jako mniej więcej siedem kontenerów: aplikacja BTCPay, NBXplorer (który śledzi łańcuch), Bitcoin Core, Postgres i nginx z przodu z automatycznym Let's Encrypt. Na naszym serwerze testowym na starcie zajmowały około 0,7 GB RAM, a Bitcoin Core bierze więcej podczas synchronizacji; 4 GB to z zapasem. Prawdziwym ograniczeniem jest dysk, nie pamięć.
| Konfiguracja | Plan |
|---|---|
| BTC on-chain, przycięty węzeł z ~5 GB bloków | Small-IP: 4 vCPU, 4 GB, 35 GB ($16/mies.) |
| To samo, z większym zapasem na logi i aktualizacje | Medium-IP: 6 vCPU, 6 GB, 45 GB ($20/mies.) |
| Lightning, większe okno bloków albo druga moneta | Pro-32: 8 vCPU, 32 GB, 400 GB ($40/mies.), na zapytanie |
Potrzebujesz planu z własnym IPv4: klienci łączą się z BTCPay przez HTTPS, a Let's Encrypt musi dotrzeć do portu 80. Wybierz Niemcy albo Finlandię — co będzie dostępne przy zamówieniu; dla strony płatności opóźnienie prawie nie ma znaczenia. A skoro cała rzecz polega na przyjmowaniu krypto, pasuje, że i sam serwer opłacasz kryptowalutą, bez KYC.
Instalacja
Skieruj pay.example.com na serwer, potem jako root na świeżym Ubuntu 24.04 lub Debianie 12:
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
To opt-save-storage-xxs sprawia, że wszystko się mieści: Bitcoin Core przycina bloki do 5 GB. Skrypt pobiera obrazy, tworzy usługę systemd btcpayserver i wszystko uruchamia. Po drodze restartuje też demona Dockera — kolejny powód, by dać BTCPay osobny serwer, zamiast wciskać go obok innych kontenerów.
Sprawdź węzeł:
bitcoin-cli.sh getblockchaininfo
Porównaj blocks z headers i spójrz na "pruned": true. Po dwudziestu minutach testu mieliśmy około 218 000 z mniej więcej 972 000 bloków — wczesne bloki są maleńkie, więc nie ekstrapoluj. Prawdziwa praca zaczyna się później.
Pierwsze logowanie: zrób to od razu
Otwórz https://pay.example.com, gdy tylko odpowie. BTCPay przekieruje Cię na stronę rejestracji, a pierwsze konto zostaje administratorem serwera. Jeśli ktoś inny znajdzie stronę przed Tobą, Twój serwer płatności należy do niego. Zarejestruj się, potem zajrzyj do Server Settings → Policies i ustaw nowe rejestracje tak, jak chcesz.
Następnie utwórz sklep i podłącz portfel przez rozszerzony klucz publiczny (xpub) — z portfela sprzętowego albo z eksportu portfela desktopowego. BTCPay wyprowadza nowy adres dla każdej faktury i nigdy nie widzi klucza prywatnego. Użyj do tego nowego portfela albo nowego konta, a nie takiego z latami historii: przycięty węzeł najlepiej śledzi to, co dzieje się od teraz.
Dopóki węzeł nie dogoni sieci, BTCPay pokazuje, że wciąż synchronizuje, i nie śledzi płatności. Zaplanuj start po synchronizacji, a nie na wieczór instalacji.
Co warto wiedzieć przed startem
- Pierwsza synchronizacja jest długa. Przycięty węzeł i tak pobiera i weryfikuje cały łańcuch — ponad 700 GB — zanim będzie mógł wyrzucić stare bloki. Ruch na naszych planach jest bez limitu przy 1 Gbit/s, więc nic to nie kosztuje, ale na serwerze z 4 vCPU licz w dniach. W repozytorium jest skrypt szybkiej synchronizacji; pomija tę pracę, ufając cudzej kopii zbioru UTXO, co częściowo przekreśla sens własnego węzła.
- Aktualizacje.
btcpay-update.shpobiera najnowszy BTCPay i zależności. Uruchamiaj go w spokojnej godzinie, a nie w środku wyprzedaży. - Co backupować. Przy portfelu podłączonym tylko przez xpub Twoich monet nie ma na serwerze. Stracić możesz konfigurację sklepu i historię faktur w Postgres — rób kopię tego wolumenu, a seed portfela trzymaj tam, gdzie nie ma on nic wspólnego z tym serwerem.
- Lightning później. Zacznij on-chain. Lightning to większe okno bloków, zarządzanie kanałami i płynność przychodząca — osobny projekt i plan Pro, który konfigurujemy na zapytanie.
Moje zdanie: dla małego sklepu, który raz dziennie przyjmuje bitcoina, BTCPay na Small-IP to najczystsza konfiguracja, jaka istnieje. Jeśli potrzebujesz płatności kartą albo wypłat w walucie fiat, to nie to narzędzie.
Powiązane
- Własny węzeł Bitcoin na VPS — sam węzeł, jeśli chcesz tylko weryfikować swój portfel
- Własny węzeł Monero na VPS
- Crypto VPS — płacenie za serwery kryptowalutą
- VPS dla strony na własnym IP — sklep, który odsyła klientów do BTCPay
- Jak skonfigurować zaporę ufw
Komentarze
Brak komentarzy. Bądź pierwszy.