Все руководства
Начало работы
VPS
- Операционные системы для VPS
- Снапшоты VPS и резервные копии на внешней площадке
- Как развернуть собственный VPN на VPS с помощью WireGuard
- Как запустить ретранслятор, мост или onion-сервис Tor на VPS
- Как самостоятельно развернуть BTCPay Server на VPS
- Как запустить узел Bitcoin или Monero на VPS
Выделенные серверы
Windows RDP
Windows Server 2019 , 2022 или 2025 противWindows 10 и 11 для RDP- Как подключиться к серверу Windows RDP с любого устройства
GPU-серверы
Безопасность
На этой странице
- Требования BTCPay Server и подходящий тариф
- Зачем разворачивать BTCPay Server на своём VPS
- Что меняет офшорный хостер без KYC, а что — нет
- Как развернуть BTCPay Server самостоятельно: пошаговая инструкция
- Поддержание работы: обновления, резервное копирование и место на диске
- Защита BTCPay Server и вашего кошелька
- Уведомления по электронной почте и порт 25
- Часто задаваемые вопросы
Чтобы развернуть BTCPay Server самостоятельно, нужны Linux VPS с ресурсами под узел Bitcoin с обрезкой (стартовая конфигурация BTCPay:
В этих шагах используется офшорный VPS с btcpay.example.comSERVER_IP
Требования BTCPay Server и подходящий тариф
Официальное развёртывание через Docker запускает на одной машине BTCPay Server, PostgreSQL, NBXplorer, Bitcoin Core, Nginx с автоматическим HTTPS и Tor. Узел с обрезкой в BTCPay Server загружает и проверяет каждый блок, но хранит только последние — в пределах целевого объёма своего профиля. Требования к серверу от BTCPay рассчитывают диск так: 10 ГБ для хост-системы, 15 ГБ для chainstate Bitcoin плюс этот целевой объём:
| Вариант установки | Профиль обрезки (объём хранимых блоков) | Диск по формуле BTCPay | Подходящий тариф | Цена в месяц |
|---|---|---|---|---|
| Тестовый, только Bitcoin | opt-save-storage-xxs | 30 ГБ | Sloop: | $3.49 |
| Магазин, только Bitcoin (стартовая конфигурация BTCPay) | opt-save-storage-xs | 50 ГБ | Cutter: | $5.49 |
| Bitcoin и Lightning | opt-save-storage-s | 75 ГБ | Schooner: | $12.49 |
| Lightning, более загруженные магазины | opt-save-storage | 125 ГБ | Brigantine: | $19.99 |
| Bitcoin и Monero | Bitcoin — как выше; Monero — с обрезкой по умолчанию | 250 ГБ и более | Frigate: | $47.99 |
| Узел без обрезки | Нет | Около 771 ГБ блоков, объём растёт | Выделенный сервер, | От $97.49 |
Это цифры без запаса: BTCPay советует предусматривать резерв, и у каждого тарифа здесь остаётся не менее 10 ГБ свободного места. Sloop не дотягивает до стартовой конфигурации (4 ГБ, 2 ядра), хотя в FAQ BTCPay по развёртыванию минимумом по-прежнему указано 2 ГБ; Dinghy (1 ГБ, 25 ГБ) не соответствует ни одному из задокументированных минимумов. Трафик безлимитный в рамках принципа добросовестного использования, и это покрывает первую загрузку всего блокчейна.
Когда нужен узел без обрезки
Индексации транзакций (opt-txindex
Lightning в BTCPay: Core Lightning, LND или Phoenixd
Lightning необязателен: переменная BTCPAYGEN_LIGHTNINGclightninglndphoenixd
Зачем разворачивать BTCPay Server на своём VPS
Хостинг BTCPay Server бывает трёх видов: сторонний хостер, обслуживающий множество продавцов на одном экземпляре, компьютер дома или собственный сервер. На странице BTCPay о стороннем хостинге описаны риски первого варианта: узел хостера может отслеживать ваши транзакции, недобросовестный хостер может запустить изменённую версию BTCPay, которая подменит ваш xpub своим, и следует исходить из того, что ему может быть известно всё о том, как вы пользуетесь сервисом. Домашний сервер раскрывает ваш домашний IP-адрес. BTCPay Server на VPS избавляет от обеих проблем: вы сами выбираете версию, база данных со счетами остаётся у вас, а платежи поступают прямо на ваш кошелёк.
Что меняет офшорный хостер без KYC, а что — нет
Что меняется: аккаунт у нас — это только адрес электронной почты и пароль, а оплата идёт с вашего собственного кошелька в Bitcoin, Ethereum, Monero, Tether (USDT) или Solana, без карты и документов. С VPS без KYC за вашим платёжным сервером не остаётся ни одного документа, удостоверяющего личность: оплачивайте в BTC, как в случае с Bitcoin VPS, или конфиденциально в XMR, как с Monero VPS. Кроме того, вы сами выбираете, право какой из семи стран будет применяться. Что не меняется:
- Ваш IP-адрес и имя хоста публичны: к ним подключается каждый покупатель, открывший счёт.
- Bitcoin публичен: для каждого счёта создаётся новый адрес, но суммы и время платежей остаются в блокчейне.
- Данные покупателей, собираемые при оформлении заказа, хранятся в вашей базе данных, и на них распространяется законодательство о защите персональных данных, применимое к вашему бизнесу.
- Закон по-прежнему действует: налоги, правила защиты прав потребителей и платёжные правила там, где вы ведёте торговлю, а также право страны, где находится сервер, включая Закон ЕС о цифровых услугах в наших локациях в ЕС.
- Действуют наши правила допустимого использования: к мошенничеству против реальных людей, например фальшивым магазинам и кардингу, применяется нулевая терпимость.
- Tor — это не анонимность: развёртывание добавляет onion-адрес, но, как сказано в FAQ BTCPay, он «вовсе не делает вас анонимным».
Как развернуть BTCPay Server самостоятельно: пошаговая инструкция
1. Направьте домен на сервер
У своего DNS-провайдера создайте A-запись для имени хоста, например btcpay.example.comSERVER_IP
getent ahostsv4 btcpay.example.com
2. Откройте порты в брандмауэре
Сначала разрешите SSH (свой порт, если вы его меняли), затем HTTP, HTTPS и — для Core Lightning или LND — 9735:
apt update
apt install -y ufw git
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw allow 9735/tcp
ufw enable
Опубликованные порты Docker обходят UFW через собственные правила NAT Docker, поэтому UFW не может скрыть BTCPay, но защищает всё остальное. Не используйте вместо UFW файл nftables с flush ruleset
3. Клонируйте репозиторий и задайте переменные
Работайте в оболочке входа (login shell) пользователя root, как в README: войдите как root или выполните sudo su -
mkdir BTCPayServer
cd BTCPayServer
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
export BTCPAY_HOST="btcpay.example.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_LIGHTNING="none"
export BTCPAYGEN_REVERSEPROXY="nginx"
export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-xs"
. ./btcpay-setup.sh -i
- Переменная BTCPAY_HOST
- Ваше имя хоста; скрипт установки отклоняет всё, что не является корректным доменным именем.
- Переменная NBITCOIN_NETWORK
илиmainnet для экспериментов.testnet- BTCPAYGEN_CRYPTO1
;btc добавляет Monero.BTCPAYGEN_CRYPTO2="xmr"- Переменная BTCPAYGEN_LIGHTNING
,none ,clightning илиlnd .phoenixd- Переменная BTCPAYGEN_REVERSEPROXY
, который получает и продлевает HTTPS-сертификат.nginx- Переменная BTCPAYGEN_ADDITIONAL_FRAGMENTS
- Значения через точку с запятой, среди них — один профиль обрезки; вместе с ним скрипт установки не принимает
. Если позже вы измените список, снова включите в него профиль, иначе обрезка отключится и узел остановится с ошибкой «Block files have previously been pruned».opt-txindex - Переменная BTCPAY_ENABLE_SSH
- Встречается в старых руководствах; текущая версия скрипта её игнорирует.
4. Запустите скрипт установки
Не убирайте точку в начале: скрипт нужно запускать через source, а без -i-i/etc/profile.d/btcpay-env.shbtcpayserver
5. Сразу зарегистрируйте аккаунт администратора
Откройте https://btcpay.example.com
6. Дождитесь синхронизации узла
Сайт открывается ещё до окончания первой синхронизации, которая, согласно FAQ BTCPay по синхронизации, занимает от одного до пяти дней. Проверить ход синхронизации можно командой:
bitcoin-cli.sh getblockchaininfo
Узел синхронизирован, когда blocksheadersinitialblockdownloadfalse
7. Создайте магазин и подключите кошелёк
После регистрации BTCPay предлагает создать магазин: указать название, валюту по умолчанию и источник курсов. Затем подключите кошелёк магазина в порядке, приведённом в руководстве BTCPay по кошелькам:
- Аппаратный кошелёк через приложение BTCPay Server Vault или файл кошелька из Electrum или Wasabi.
- Ключ xpub, введённый вручную или отсканированный в виде QR-кода.
- Сид-фраза — никогда: «никогда не вводите слова сид-фразы кошелька ни на одном устройстве, подключённом к интернету».
BTCPay использует новый адрес для каждого счёта, а большинство кошельков отслеживают лишь около 20 неиспользованных адресов — это лимит пропусков (gap limit): после серии неоплаченных счетов увеличьте его (это позволяют Electrum, Sparrow и Bitcoin Core), иначе платежи будут казаться пропавшими.
Поддержание работы: обновления, резервное копирование и место на диске
Обновления
Обновляйте BTCPay в оболочке входа root или кнопкой Update в разделе Server Settings > Maintenance:
btcpay-update.sh
Обновление подтягивает изменения из репозитория, заново генерирует стек, пересоздаёт контейнеры, а затем удаляет все неиспользуемые образы Docker на хосте — как относящиеся к BTCPay, так и любые другие, — если только BTCPAY_UPDATE_CLEAN
Резервное копирование
cd "$BTCPAY_BASE_DIRECTORY/btcpayserver-docker"
./btcpay-backup.sh
Скрипт резервного копирования делает дампы баз данных, останавливает стек, архивирует тома Docker, секреты и дампы, а затем снова запускает стек. Он пропускает данные блокчейна, кеши, логи и базу данных каналов LND, но сохраняет кошелёк LND и channel.backup/var/lib/docker/volumes/backup_datadir/_data/backup.tar.gz перезаписывается при каждом запуске и остаётся на сервере: задайте BTCPAY_BACKUP_PASSPHRASE
SHELL=/bin/bash
PATH=/bin:/usr/sbin:/usr/bin:/usr/local/bin
15 4 * * * /root/BTCPayServer/btcpayserver-docker/btcpay-backup.sh
Восстанавливайте данные командой ./btcpay-restore.sh
Для Lightning нужно больше: BTCPay предупреждает, что «публикация отозванного состояния может привести к потере всех средств в этом канале». Для LND сохраните сид-фразу из Server Settings > Services > LND Seed Backup и держите вне сервера копию channel.backupbtcpay-down.shbtcpay-up.sh
Место на диске и статус синхронизации
Переполненный диск останавливает Bitcoin Core, и тогда BTCPay постоянно показывает узел как запускающийся. Проверьте командами:
df -h /var/lib/docker
docker system df
bitcoin-cli.sh getblockchaininfo
При обрезке size_on_disk
Защита BTCPay Server и вашего кошелька
- Регистрация остаётся выключенной; других пользователей приглашайте из раздела Server Settings.
- Двухфакторная аутентификация: включите её в настройках аккаунта (приложение-аутентификатор или ключ U2F). Если вы потеряете устройство, root может отключить её командой
./btcpay-admin.sh disable-multifactor YOUR_ACCOUNT_EMAILв папке репозитория, как описано в FAQ по настройкам сервера. - SSH: входите по ключам, как описано в руководстве по усилению защиты. Скрипт установки добавляет ограниченный ключ root для действий в разделе Maintenance и может заменить
наPermitRootLogin no вprohibit-password . В нашем тесте файл из руководства по усилению защиты, который читается первым, по-прежнему запрещал вход root, поэтому BTCPay скрывает эти действия. Обновляйте BTCPay из командной оболочки или задайте в этом файле/etc/ssh/sshd_configPermitRootLogin forced-commands-only, что разрешает вход root только с принудительной командой, и добавьте вroot .AllowUsers - Никакой сид-фразы на сервере. На хосте KVM провайдер технически может прочитать диск и память VPS. С аппаратным кошельком или xpub злоумышленник или хостер смогут видеть ваши платежи, но не смогут их потратить. Горячий кошелёк BTCPay и встроенный узел Lightning хранят приватные ключи: держите там только оборотные средства.
Уведомления по электронной почте и порт 25
BTCPay может отправлять по электронной почте письма для сброса пароля, приглашения и события магазина, например об оплаченном счёте, через SMTP, настроенный в разделе Server Settings > Email server или в настройках магазина. Без SMTP, как сказано в его руководстве по уведомлениям, «нет простого способа» сбросить пароль. В нашей сети исходящий порт 25 по умолчанию закрыт. Это блокирует прямую доставку на другие почтовые серверы, но не отправку с аутентификацией через почтовый релей: укажите SMTP-хост своего почтового провайдера, порт 587 и учётные данные, затем отправьте тестовое письмо. Провайдер видит всё, что вы отправляете, поэтому, если это для вас важно, обойдитесь без SMTP.
Часто задаваемые вопросы
Сколько стоит развернуть BTCPay Server самостоятельно?
Программа бесплатна: без подписок и комиссий за транзакции; вы платите за сервер и домен. Стартовой конфигурации BTCPay (
Можно ли запустить BTCPay Server на VPS с 2 ГБ памяти?
Только для теста. В FAQ BTCPay по развёртыванию минимумом указано 2 ГБ памяти, но более новое руководство по выбору ресурсов начинается с 4 ГБ и 2 ядер. Наш Sloop с 2 ГБ (opt-save-storage-xxs
Нужен ли для BTCPay Server полный узел Bitcoin?
Нужен проверяющий узел, а не весь блокчейн на диске. Bitcoin Core в составе развёртывания проверяет каждый блок, а профиль обрезки хранит от 5 до 100 ГБ последних блоков. Узел без обрезки — а сегодня это выделенный сервер — нужен только для индексации транзакций, ElectrumX и встроенного обозревателя блоков Mempool. Об узле без BTCPay читайте в нашем руководстве по узлам Bitcoin и Monero.
Можно ли разместить BTCPay Server без KYC?
Да. BTCPay — это программа, которую вы запускаете сами, без регистрации аккаунта, а для нашего хостинга нужны только адрес электронной почты и пароль, с оплатой в Bitcoin, Ethereum, Monero, Tether или Solana. У вашего регистратора доменов и почтового провайдера свои правила, а налоги, законодательство о защите прав потребителей и наши правила допустимого использования по-прежнему действуют.
Поддерживает ли BTCPay Server Monero?
Да, через плагин Monero, который поддерживает сообщество. Задайте BTCPAYGEN_CRYPTO2="xmr"
Клиенты с выделенными и GPU-серверами могут открыть тикет в личном кабинете, указав IP-адрес сервера и то, что они уже пробовали сделать. Целевой срок первого ответа — менее 12 часов. Для всех остальных серверов используйте действия с сервером на его странице, руководства и страницу статуса сети.