Aprende a instalar un BTCPay Server usando Docker

Btcpay servidor de rayos
Contenidos
He descubierto la existencia de BTCPay escuchando la charla de Nicola este verano en Lisboa, y el mes pasado decidí probarlo. Además de entender cómo funciona, me gustaría usarlo para permitir donaciones en bitcoins a través de la LN en mi blog personal.
Aunque no tengo mucha experiencia con otras soluciones más tradicionales como Bitpay, Copay, etc, sé lo suficiente que apestan en el mejor de los casos, y pueden ser poco éticas en el peor, así que me atrajo especialmente la promesa de BTCPay, que permite a cualquiera ser su propio procesador de pagos, o ser el procesador de pagos de otra persona, sin interferencia de terceros.
Soy aún más sensible al esfuerzo de Nicolas para hacer que más gente sea independiente ejecutando su propio nodo completo, lo que está haciendo incrustando un nodo Bitcoin y Lightning con servidor BTCPay en un docker para que sea tan fácil de ejecutar como un solo clic.
Decidí probar BTCPay en testnet, dado que ya ejecuto Bitcoin y LND en el mismo dispositivo pensé que sería demasiado, y dado que no estoy seguro si puedo aprovechar el datadir de mi nodo existente dentro del docker de BTCPay me pareció más fácil simplemente sincronizar un nodo de testnet primero.
¿Cómo se utiliza el servidor de BTCPay?
El proceso de pago de BTCPay Server no es diferente al de cualquier otra pasarela de pago. El cliente recibe una factura. La paga escaneando un código QR o copiando y pegando el importe y la dirección bitcoin. Cuando se confirma el pago, se le notifica a través del software de comercio electrónico y puede enviar el artículo.
¿Qué es el servidor BTCPay?
BTCPay Server es un procesador de pagos de criptomoneda gratuito y de código abierto que le permite recibir pagos en Bitcoin (en cadena y a través de la Red Lightning) y altcoins directamente, sin comisiones, costes de transacción ni intermediarios.
Demostración de Btcpayserver
btcpay-setup.sh entonces: El video a continuación te guía paso a paso sobre cómo configurar BTCPay Server en un VPS con Docker. Vea este video si está interesado en aprender más sobre cómo configurar BTCPay con Docker Compose (abre nueva ventana). (abre nueva ventana) # Variables de entorno btcpay-setup.sh utilizará las siguientes variables de entorno: Adicionalmente, existen variables de entorno específicas para algunos addons: # Herramientas Una amplia variedad de scripts útiles están disponibles una vez que BTCPay es instalado: # Under the hood # Generated docker-compose Cuando ejecutas btcpay-setup.sh, tus variables de entorno son utilizadas por build.sh (opens new window) (o build.ps1 (opens new window)) para generar un docker-compose adaptado a tus necesidades. Para ver la lista completa de opciones, consulte: Variables de entorno Por defecto, el archivo generado es Generated/docker-compose.generated.yml, construido a partir de los fragmentos Docker relevantes (abre una nueva ventana) para su configuración. Los BTCPAYGEN_ADDITIONAL_FRAGMENTS disponibles actualmente son: También puede crear sus propios fragmentos personalizados. Si quieres añadir una opción a BTCPAYGEN_ADDITIONAL_FRAGMENTS y reconfigurar tu instalación: export BTCPAYGEN_ADDITIONAL_FRAGMENTS=”$BTCPAYGEN_ADDITIONAL_FRAGMENTS;opt-lnd-autopilot”
Desinstalar servidor btcpay
Vuelva a su servidor BTCPay y haga clic en el botón “Registrar” que ahora debería estar habilitado. En caso de que no vea el enlace Register en el menú, probablemente se deba al almacenamiento en caché. Reinicie su btcpay con btcpay-restart.sh. A continuación, añade el nuevo usuario registrado [email protected] como admin: # Set new user as admin
Ahora puedes acceder con [email protected] como admin. Cuando apliques los cambios, notarás que el usuario recién creado no es miembro de ningún almacén. En ese caso, sigue esta guía (abre nueva ventana) para añadir el nuevo usuario a todas o a determinadas tiendas. # ¿Cómo añadir un nuevo usuario por invitación? Los administradores del servidor pueden añadir nuevos usuarios creando un enlace de invitación para compartir con ellos. Esto puede permitir a los administradores desactivar el registro público en el servidor, o invitar a usuarios específicos haciendo clic en: Configuración del Servidor > Añadir Usuario (no proporcionar contraseña) > Crear cuenta Se mostrará un enlace compartible para que el administrador del servidor lo distribuya. Se enviará un correo electrónico (si el correo electrónico está configurado en el servidor para establecer la contraseña. El nuevo usuario creará una contraseña en la primera visita al enlace de invitación. # ¿Cómo desactivar U2F y 2FA para un usuario? Elimine la configuración U2F y 2FA para un usuario registrado, por ejemplo [email protected] con los siguientes comandos: # En root
Btcpay servidor alternativo
La primera consideración es el espacio en disco. BTCPay requiere un nodo bitcoin alojado localmente para emitir y recibir transacciones y confirmaciones de forma segura. Los nodos bitcoin no son particularmente intensivos en CPU, pero requieren mucho espacio en disco duro. El mínimo absoluto para el funcionamiento de BTC + Lightning Node es de 25 GB para datos de bloque. Linode lo hace muy fácil, pero el coste mínimo para un nodo de 50 GB es de 10$/mes, ligeramente más caro que LunaNode @ 8$/mes.
La segunda consideración tiene que ver con los puertos abiertos y los proxies inversos. El paquete Docker de BTCPay, por defecto, configurará una instancia BTCPay independiente con un proxy inverso nginx delante. También requiere acceso a los puertos 80 y 443. Esto inmediatamente creó un conflicto con la configuración existente (Traefik escucha en los puertos 80 y 443, y actuará como proxy inverso).
Entonces pensé en simplemente servir BTCPay desde un servidor en mi casa (básicamente gratis), pero empecé a inquietarme pensando en gente haciendo búsquedas de IP y descubriendo mi paradero. Mi ISP proporciona una IP estática, por lo que es bastante fácil descubrir mi ubicación general con un traceroute.