Развёртывание BTCPay Server
Вы теряете до 3% оборота на комиссиях Stripe и рискуете заблокировкой счёта за криптоплатежи? Self-hosted BTCPay Server решает обе проблемы: вы контролируете ключи и не платите посредникам. Но деплой этого стека — не docker compose up. Bitcoin Core (600+ GB диска), NBXplorer, PostgreSQL, LND и nginx с Let's Encrypt — каждую часть нужно настроить под ваш VPS.
Мы помогаем заказчикам развернуть BTCPay Server за 2–4 часа базовой установки. С Lightning — до трёх дней с учётом синхронизации mainnet. Ниже — технические детали и наш подход, который экономит до 30% на комиссиях и исключает зависимость от платёжных шлюзов. Например, при обороте $50 000 в месяц комиссии Stripe составят $1 500, а приёмо через BTCPay — только сетевые комиссии (~$10) — экономия $1 490 ежемесячно.
Проблемы, которые мы решаем
Синхронизация Bitcoin Core тормозит запуск на 48 часов. Без оптимизации pruned-режима или snapshot вы ждёте скачивания всего блокчейна через p2p. Мы используем предварительно синхронизированные ноды и параллельную загрузку, сокращая время до 6–12 часов.
Lightning Network требует входящей ликвидности. Чтобы принимать платежи через каналы, нужны входящие. Мы настраиваем peer-соединения с ACINQ, WalletOfSatoshi и через сервисы типа Lightning Pool — вы получаете работающий узел без дополнительных затрат.
Без автоматизации бэкапов вы потеряете каналы. Static Channel Backup (SCB) должен копироваться каждый час. Мы поднимаем cron-скрипты, которые выгружают channel.backup в S3 — автоматически и с версионированием. Данные из официальной документации LND.
Как мы разворачиваем стек
Базовая установка через официальный скрипт — один блок команд:
# Установка зависимостей и загрузка установщика apt-get update && apt-get install -y curl git curl -sSL https://btcpayserver.org/install.sh | sudo bash -s -- -c mainnet -l lnd -r nginx Но лучше делать вручную — полный контроль над версиями и параметрами:
git clone https://github.com/btcpayserver/btcpayserver-docker cd btcpayserver-docker export BTCPAY_HOST="pay.yourdomain.com" export NBITCOIN_NETWORK="mainnet" export BTCPAYGEN_CRYPTO1="btc" export BTCPAYGEN_LIGHTNING="lnd" export BTCPAYGEN_REVERSEPROXY="nginx" . ./btcpay-setup.sh -i Мы добавляем фрагмент opt-save-storage для pruned-режима, если не нужна полная нода.
Конфигурация DNS и HTTPS
До деплоя убедитесь, что DNS A-запись для pay.yourdomain.com указывает на ваш VPS. Проверить: dig +short pay.yourdomain.com. Let's Encrypt получит сертификат автоматически — nginx reverse proxy в конфиге уже настроен.
Как ускорить синхронизацию Bitcoin Core?
Основное время при деплое — это скачивание блокчейна. Обычная p2p-синхронизация занимает 48 часов при 100 Мбит/с. Используйте pruned-режим (256 МБ вместо 650 ГБ) или загрузите snapshot с доверенного источника — так можно сократить до 6 часов. Мы в своей практике применяем готовые образы VPS с предсинхронизированным Bitcoin Core.
| Вариант | Время синхронизации | Место на диске | Рекомендация |
|---|---|---|---|
| Полная нода | 48 часов | 650+ ГБ | Только если нужны старые транзакции |
| Pruned-режим (256 МБ) | 48 часов, но без rescana | 256 МБ | Экономит место, но не rescанит |
| Snapshot | 6–12 часов | 650 ГБ (или pruned) | Лучший вариант для быстрого старта |
Почему self-hosted BTCPay?
Вы полностью контролируете приватные ключи и данные клиентов. Нет ежемесячных комиссий платёжного шлюза — только стоимость VPS и комиссии сети Bitcoin (Lightning Network позволяет принимать мгновенные микроплатежи с комиссией менее 1 сатоши). Кроме того, BTCPay интегрируется с Lightning Network — протоколом второго уровня для мгновенных транзакций.
Выбор Lightning-реализации: LND vs CLN
| Параметр | LND | CLN |
|---|---|---|
| Язык | Go | C |
| API | REST + gRPC | JSON-RPC, плагины |
| Поддержка BTCPay | полная | полная |
| Размер бинарника | ~20 MB | ~5 MB |
| Интеграция сторонних сервисов | широкая (OpenNode, Strike) | ограниченная |
Для большинства проектов мы выбираем LND: больше готовых библиотек и полная поддержка BTCPay. CLN — для кастомных сценариев.
Пошаговый процесс установки (упрощённый)
- Подготовка VPS: Ubuntu 22.04, пользователь sudo, настройка firewall (порты 80, 443, 9735).
- Деплой BTCPay: выполнить команды выше, дождаться завершения
btcpay-setup.sh. - Инициализация Lightning: создать кошелёк, получить адрес и пополнить баланс.
- Открытие каналов: подключиться к хабам, направить ликвидность.
- Настройка мониторинга: health check (
curl https://pay.yourdomain.com/health) и uptime-алерты.
Детальная команда для открытия каналов
docker exec -it $(docker ps -q -f name=lnd) lncli --network=mainnet openchannel --node_key=03... --local_amt=1000000 Убедитесь, что lnd синхронизирован (lncli getinfo).
Чек-лист типичных ошибок
- DNS не обновлён: BTCPay не сгенерирует сертификат, Lightning не запустится (требует WSS).
- Слишком маленький диск: pruned-режим можно включить только до первой синхронизации — сменить потом сложно.
- Нет входящих каналов: Lightning не сможет принимать платежи. Открывайте каналы с узлами, которые имеют входящие.
Что входит в работу
Мы предоставляем:
- Готовый BTCPay Server с Bitcoin Core и Lightning (LND).
- Автоматические бэкапы SCB каждые 4 часа.
- Мониторинг health-endpoint и uptime-алерты.
- Документация с описанием архитектуры и доступами.
- 7 дней технической поддержки после деплоя (включая помощь с каналами).
- Обучение администраторов: как управлять кошельком, открывать каналы, обновлять софт.
Наша команда имеет 5 лет опыта в блокчейн-разработке и развернула 20+ нод для магазинов и DeFi-проектов. Все проекты выполняются с гарантией uptime 99,9%.
Свяжитесь с нами для консультации — поможем подобрать VPS и подготовим инфраструктуру под ключ. Закажите развёртывание BTCPay Server и начните принимать криптоплатежи без посредников.
Ориентировочные сроки
- Базовая установка (без Lightning): от 2 до 4 часов.
- Полный стек с Lightning: от 1 до 3 дней (с учётом синхронизации).
- Интеграция с существующей инфраструктурой: обсуждается индивидуально.
Стоимость рассчитывается под ваш сценарий: объём транзакций, необходимость Lightning, дополнительные монеты. Напишите нам — пришлём коммерческое предложение.







