OffshoreVps
Paiements en crypto17 oct. 20269 min de lecturePar l’équipe OffshoreVps

Accepter le Bitcoin sans intermédiaire : BTCPay Server sur votre VPS

Auto-héberger BTCPay Server avec Docker : dimensionnement du serveur, DNS, l’installateur officiel, connexion d’un portefeuille, et les points de sauvegarde et de sécurité qui comptent.

Un processeur de paiement fait plus que prélever une commission. Il détient vos fonds, voit vos clients et peut geler votre compte. BTCPay Server est un logiciel libre et gratuit qui vous permet d’accepter des Bitcoin directement dans un portefeuille que vous contrôlez. Il fonctionne sur un VPS, et ce guide présente l’installation standard basée sur Docker.

Logos des cryptos Bitcoin et Litecoin au-dessus d’une facture de paiement en crypto avec des champs de montant, de réseau et d’adresse et un code QR, illustrant l’acceptation de Bitcoin avec BTCPay Server
Une facture de recharge en crypto : vous envoyez le montant exact sur le bon réseau.

Ce dont vous avez besoin

  • Un VPS avec 2 vCPU, 4 Go de RAM et 80 Go de disque si vous faites tourner à côté un nœud Bitcoin élagué. Moins si vous le faites pointer vers un nœud externe.
  • Un nom de domaine, par exemple pay.example.com, avec un enregistrement A pointant vers le serveur.
  • Ubuntu 22.04 ou 24.04 avec Docker installé et une configuration SSH durcie.

Étape 1 : faire pointer le domaine

Créez d’abord l’enregistrement A et attendez qu’il soit résolu. L’installateur demande un certificat Let's Encrypt pour ce nom et échouera si l’enregistrement est absent. Notre guide DNS l’explique.

Étape 2 : lancer l’installateur officiel

sudo su -
git clone https://github.com/btcpayserver/btcpayserver-docker
cd btcpayserver-docker
export BTCPAY_HOST="pay.example.com"
export NBITCOIN_NETWORK="mainnet"
export BTCPAYGEN_CRYPTO1="btc"
export BTCPAYGEN_LIGHTNING="clightning"
export BTCPAYGEN_REVERSEPROXY="nginx"
export BTCPAYGEN_ADDITIONAL_FRAGMENTS="opt-save-storage-s"
export LETSENCRYPT_EMAIL="you@example.com"
. ./btcpay-setup.sh -i

Le fragment opt-save-storage-s élague la blockchain pour économiser du disque. La synchronisation initiale peut prendre de nombreuses heures, et la boutique fonctionne pour les factures une fois que le nœud a rattrapé son retard. Lightning est facultatif ; omettez donc cette ligne si vous n’en voulez pas.

Les étapes de ce guide dans l’ordre : 1. Ce qu’il vous faut ; 2. faire pointer le domaine ; 3. lancer l’installateur officiel ; 4. connecter un portefeuille que vous contrôlez ; 5. tester et intégrer ; 6. Le garder en sécurité
Les étapes de ce guide, dans l’ordre.

Étape 3 : créer l’administrateur et une boutique

Ouvrez votre domaine, enregistrez le premier compte (il devient l’administrateur du serveur), puis désactivez l’inscription publique dans les paramètres du serveur. Créez une boutique et définissez sa devise par défaut.

Étape 4 : connecter un portefeuille que vous contrôlez

Générez le portefeuille sur un portefeuille matériel ou sur votre propre appareil, et ne collez que la clé publique (la xpub) dans BTCPay. Ne générez pas de portefeuille chaud sur le serveur si vous pouvez l’éviter, car vos fonds dépendraient alors de la sécurité du serveur. Les paiements arrivent directement à des adresses dérivées de votre clé publique.

Étape 5 : tester et intégrer

Créez une facture de test et payez un petit montant. Installez ensuite un plugin pour votre boutique (WooCommerce, Shopify, une clé d’API personnalisée) en suivant la documentation de BTCPay.

Le garder en sécurité

  • Activez l’authentification à deux facteurs pour l’administrateur.
  • Sauvegardez les données de BTCPay avec le script de sauvegarde intégré et stockez-les hors du serveur, chiffrées.
  • Mettez à jour avec btcpay-update.sh, après avoir lu les notes de version.
  • Faites tourner le pare-feu en n’ouvrant que SSH, 80 et 443.

Pour savoir quelle crypto convient à vos clients, lisez la crypto la moins chère pour les paiements. Vous faites tourner votre propre nœud de support ? Consultez faire tourner un nœud Bitcoin.