Будь-який платіжний процесор посередині приносить свої умови, свій KYC і свою кнопку заморожування балансу. BTCPay Server прибирає середину. Рахунок створюється на вашому сервері, покупець платить на адресу, виведену з вашого гаманця, а платіж підтверджує ваш власний вузол Bitcoin. Вимкнути це не може ніхто, крім вас.
Це для магазинів, фрилансерів і сервісів, які вже приймають bitcoin — або хочуть — і не бажають віддавати цю роботу компанії.
Який тариф
BTCPay — це близько семи контейнерів: сам застосунок, NBXplorer (він стежить за блокчейном), Bitcoin Core, Postgres і nginx на вході з автоматичним Let's Encrypt. На нашому тестовому сервері на старті вони зайняли близько 0,7 ГБ RAM, а під час синхронізації Bitcoin Core бере більше; 4 ГБ — із запасом. Справжнє обмеження тут диск, а не пам'ять.
| Схема | Тариф |
|---|---|
| BTC в основній мережі, проріджений вузол тримає ~5 ГБ блоків | Small-IP — 4 vCPU, 4 ГБ, 35 ГБ ($16/міс) |
| Те саме, із запасом під логи й оновлення | Medium-IP — 6 vCPU, 6 ГБ, 45 ГБ ($20/міс) |
| Lightning, більше блоків у запасі чи друга монета | Pro-32 — 8 vCPU, 32 ГБ, 400 ГБ ($40/міс), за заявкою |
Потрібен тариф зі своєю IPv4: покупці приходять до BTCPay по HTTPS, а Let's Encrypt має достукатися до порту 80. Обирайте Німеччину чи Фінляндію — що буде доступне під час замовлення; для сторінки оплати затримка майже не важлива. І раз уся суть у прийманні крипти, доречно, що й сам сервер оплачується криптою без KYC.
Встановлення
Спрямуйте pay.example.com на сервер, потім від root на свіжому Ubuntu 24.04 або Debian 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
Саме opt-save-storage-xxs дає змогу вміститися: Bitcoin Core прорідить блоки до 5 ГБ. Скрипт завантажить образи, створить systemd-сервіс btcpayserver і все запустить. Дорогою він ще й перезапускає демон Docker — ще одна причина дати BTCPay окремий сервер, а не втискати його поряд з іншими контейнерами.
Перевірте вузол:
bitcoin-cli.sh getblockchaininfo
Дивіться на blocks проти headers і на "pruned": true. За двадцять хвилин нашого тесту було близько 218 000 із приблизно 972 000 блоків — ранні блоки крихітні, тож не екстраполюйте. Справжня робота почнеться пізніше.
Перший вхід: зробіть це одразу
Відкрийте https://pay.example.com, щойно він відповість. BTCPay відправить вас на сторінку реєстрації, і перший акаунт стає адміністратором сервера. Якщо сторінку знайде хтось інший раніше за вас, ваш платіжний сервер належатиме йому. Зареєструйтеся, потім загляньте в Server Settings → Policies і переконайтеся, що нові реєстрації налаштовані так, як вам потрібно.
Потім створіть магазин і підключіть гаманець за розширеним публічним ключем (xpub) — з апаратного гаманця або з експорту настільного. BTCPay виводить нову адресу для кожного рахунку і ніколи не бачить приватного ключа. Візьміть для цього новий гаманець або новий рахунок у ньому, а не той, за яким роки історії: прорідженому вузлу найзручніше стежити за тим, що відбувається відтепер.
Поки вузол не наздожене мережу, BTCPay показує, що синхронізація триває, і за платежами не стежить. Плануйте запуск на після синхронізації, а не на вечір встановлення.
Що знати перед запуском
- Перша синхронізація довга. Проріджений вузол однаково завантажує й перевіряє весь ланцюжок — понад 700 ГБ — і лише потім викидає старі блоки. Трафік на наших тарифах безлімітний на 1 Гбіт/с, тож це нічого не коштує, але на сервері з 4 vCPU рахуйте в днях. У репозиторії є скрипт швидкої синхронізації; він пропускає цю роботу, довіряючись чужій копії набору UTXO, а це почасти перекреслює сенс власного вузла.
- Оновлення.
btcpay-update.shпідтягує останню версію BTCPay і залежності. Запускайте в тиху годину, а не посеред розпродажу. - Що бекапити. З гаманцем лише за xpub ваших монет на сервері немає. Втратити можна налаштування магазину й історію рахунків у Postgres — бекапте цей том, а seed-фразу гаманця тримайте там, де вона ніяк не пов'язана з цим сервером.
- Lightning — потім. Почніть з основної мережі. Lightning — це більше блоків у запасі, керування каналами й вхідна ліквідність: окремий проєкт і тариф Pro, який ми налаштовуємо за заявкою.
Моя думка: для невеликого магазину, що приймає bitcoin раз на день, BTCPay на Small-IP — найчистіша схема з можливих. Якщо потрібні оплати картками або виплати у фіаті, це не той інструмент.
За темою
- Свій вузол Bitcoin на VPS — вузол сам по собі, якщо треба лише перевіряти свій гаманець
- Свій вузол Monero на VPS
- Crypto VPS — оплата серверів криптою
- VPS для сайту на власній IP — магазин, що відправляє покупців у BTCPay
- Як налаштувати файрвол ufw
Коментарі
Поки немає коментарів. Будьте першим.