Ich plane ein Deployment eines BTCPay-Servers für einen Online-Shop und (später) für einen Point-of-Sale. Dafür gibt es ja unterschiedliche Szenarien zwischen „alles fremdgehostet“, bis hin zur eigene Node mit BTCPay Server.
Okay, das klingt logisch und erhöt natürlich die Sicherheit. Danke für die Erklärung!
Würde es nicht reichen eine BTCPay-Installation z.B. mit Docker auf einem anderen Server zu haben und auf die Node zuzugreifen? Das ganze müsste doch dann keine vollständige Node mit der ganzen Blockchain sein. Es würde doch reichen, wenn der BTCPay-Server einen Channel zur eigenen Node hat. Aber ich habe mir die Architektur von BTCPay noch nicht so genau angesehen.
So wie ich es bis jetzt verstehe, geht es nicht einfacher ohne einen Trade-off mit der Sicherheit einzugehen. Lightning braucht die Blockdaten und von Pruning wird explizit abgeraten. Man könnte vielleicht den BTCPay-Knoten leichter bauen wenn er auf die Blockdaten einer anderen Node zugreifen darf (NFS freigabe o.Ä.) und nur den Lightning-Anteil lokal abhandelt. Ich wollte aber bewusst ein einfaches vertrauensfreies Setup wie es auch bei zwei völlig fremden Nodes bestehen würde.
Grundsätzlich interessiert mich eine Idee aber schon, wie man Lightning mit geringem Hardwareaufwand an die Kassen bringen kann. Da finde ich eine Node die ein halbes Terabyte an Daten vorhält und wenn sie vom Netz getrennt war erstmal ewig „nachholen“ muss keine gute Lösung.
Mal was anderes zum Deployment:
Hat sich irgendwer mal das Thema SSL näher angeschaut? Da sehe ich aktuell ne Baustelle. Der BTCPayServer den man bei Umbrel als App installiert kann nicht mal HTTPS mit selfsigned Zertifikaten. Die Lösung ist damit in meinen Augen quasi komplett unbrauchbar. Die BTCPayServer-Lösung auf dem Raspiblitz hab ich mir noch nicht angeschaut, die sieht da vielleicht besser aus.
Kurzum bräuchte man aber selbst dann valide Zertifikate z.B. von LetsEncrypt damit der PayServer die Kunden nicht mit Warnmeldungen bombardiert.
Für mich hat dieses ganze Setup gerade ein altes Projekt von mir wiederbelebt, so dass ich nun einen ReverseProxy aufsetze damit solche Services mit validen Zertifikaten versorgt werden, die auch mit meinen Domains übereinstimmen. Alles andere wirkt zum Kunden hin nur unprofessionell.
Verstehe, so ergibt dein Setup mit 2 Nodes wirklich Sinn. Danke fürs Teilen!
Ich wollte ursprünglich den BTCPay-Server auf einem Raspiblitz genau dafür nutzen. Hab irgendwo gelesen, dass das mit Let’s-Encrypt funktioniert.
Haha, das habe ich früher auch gemacht, lang ist’s her. Das hat aber ehrlich gesagt immer nur zur Problemen geführt, weil irgendwas bei den Forwards immer hängenbleibt. Aber vielleicht hab ich es nie richtig gemacht. Ich hätte ja gerne etwas wie https://pay.meinshop.tld oder so. Aber bei einem 1-Node-Setup wäre halt dann der Node schon sehr offen sichtbar im Netz…
Raspiblitz grad mal angeschaut, ok da geht https mit selfsigned Zertifikaten (immerhin). LetsEncrypt wird angeboten für DuckDNS und Dynu. Aber will man seine Kunden wirklich von https://meinShop.tld auf meinShop.DuckDNS.org weiterleiten? Klar, das Ziel muss schon eher https://pay.meinshop.tld sein.
Für BTCPay sollte die Config eigentlich überschaubar sein, es wird ja „nur“ eine einzige Seite gezeigt. Klar z.B. ne Nextcloud über den Reverseproxy zu schieben ist eine andere Hausnummer
Ein bisschen AJAX wird wohl auch dabei sein, weil er ja permanent pollt, ob die Zahlung schon da ist. Aber du hast sicher recht, das wird schon machbar sein.
Wie planst du das zu realisieren? Mit einem Apache mod_proxy?
Da könnte ich mir (zumindest mal fürs Testen) die 2. Node sparen und dafür nur connects vom Proxy auf den BTCPay server zulassen. Würde zumindest die Sicherheit ein wenig erhöhen.
Mit Traefik und entsprechenden Routern in der dynamic_conf.yml. Ist auch schon fertig, hier mal mit einfachem Slider für einen kleinen Laden. Die HTML mit dem Slider liegt auf dem Webspace ist noch ohne SSL, aber die Weiterleitung auf BTCPay geht dann über https und wird per Traefik auf den BTCPayserver auf einem Raspi (Umbrel) „weitergeproxt“. Ist machbar, fürs BTCPayweblogin sollte man aber 2FA aktivieren.
Auch ich versuche (leider erfolglos) einen eigenen BTCPayServer auf meinem pi 4 einzurichten. Die Installation scheint funktioniert zu haben, jedoch komme ich nicht auf die Webseite um den Admin-Account zu registrieren. Habe diverse IP’s und URL’s versucht (localhost, IP des pi, btcpay.local, etc.). Aber entweder funktioniert es gar nicht, oder ich bekomme die Meldung „503 Service Temporarily Unavailable - nginx“. Ich bin nach der Anleitung auf Introduction | BTCPay Server vorgegangen. Ich habe noch keine Domain/Subdomain und möchte einfach mal lokal draufkommen…
Moin Moin, hat es jemand jetzt zum Laufen bekommen ?? oder was ist mit LNBits ?
gibts es sonst noch eine BTC-Lightning Lösung mit „Online-Shop“ als Paket ?? frei oder käuflich ?