−25%

на річну оплату Windows, до 31.10. До тарифів

EQVPS
Почати

VPS для BTCPay Server: приймання крипти у себе

BTCPay Server зі своїм проріженим вузлом Bitcoin: платежі прямо на ваш гаманець, без процесора посередині. Перевірене встановлення, розрахунок під 35 ГБ.

Будь-який платіжний процесор посередині приносить свої умови, свій 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 — найчистіша схема з можливих. Якщо потрібні оплати картками або виплати у фіаті, це не той інструмент.

За темою

Готові розгорнути? Оплата криптою, без KYC — сервер за хвилину.

Розгорнути →

Часті питання

Скільки диска потрібно BTCPay Server?

З профілем opt-save-storage-xxs вузол Bitcoin зберігає лише близько 5 ГБ блоків. Зверху додаються chainstate (набір UTXO — близько дюжини гігабайтів, і він росте), приблизно 2,5 ГБ Docker-образів і система. Це вміщається в 35 ГБ Small-IP. Наступний профіль, opt-save-storage-xs, сам тримає 25 ГБ блоків і потребує тарифу Pro — він за заявкою.

Скільки триває перша синхронізація?

Дні, а не години. Навіть проріджений вузол завантажує й перевіряє весь блокчейн Bitcoin — це понад 700 ГБ трафіку — і лише потім викидає старі блоки. Трафік на наших тарифах безлімітний, тож завантаження нічого додатково не коштує, але BTCPay не бачитиме платежів, доки вузол не наздожене мережу.

BTCPay зберігає мої монети?

Ні, якщо підключити гаманець за розширеним публічним ключем (xpub). Тоді сервер може створювати адреси й стежити за платежами, але приватних ключів у нього немає і витратити він нічого не може. Втратите сервер — втратите налаштування магазину, а не гроші.

Чи потрібна виділена IP-адреса?

Так. Ваш магазин і браузери покупців мають достукатися до BTCPay на порт 443, а Let's Encrypt — до порту 80, щоб видати сертифікат. Тариф NAT ззовні приймає тільки ваш SSH-порт.

А Lightning чи Monero він уміє?

Обидва варіанти є, але на малі тарифи жоден не влазить. Вузлу Lightning потрібно більше блоків у запасі й більше уваги, ніж платежам в основній мережі; вузлу Monero — набагато більше диска, ніж проріженому Bitcoin. Починайте з bitcoin в основній мережі на Small-IP; для будь-якого з них спитайте нас про тариф Pro.

Коментарі

Поки немає коментарів. Будьте першим.

Залишити коментар

Коментарі проходять модерацію перед публікацією.