Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. App Wishlist
  3. BTCpayserver

BTCpayserver

Scheduled Pinned Locked Moved App Wishlist
73 Posts 19 Posters 20.3k Views 21 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • timconsidineT Offline
    timconsidineT Offline
    timconsidine
    App Dev
    wrote on last edited by timconsidine
    #53
    This post is deleted!
    1 Reply Last reply
    0
    • nostrdevN nostrdev

      We updated the btcpayserver repo today to use the latest version (2.2.0) and fixed a CSP issue in the nginx.conf

      timconsidineT Offline
      timconsidineT Offline
      timconsidine
      App Dev
      wrote on last edited by
      #54

      @nostrdev I added btcpayserver to the list of custom apps that can be deployed using https://ccai.appx.uk.

      It installed fine, but I am getting a blank screen when I first visit the domain and am routed to /register.

      Cloudron logs for the installed app show :

      ug 24 22:07:24 fail: Microsoft.AspNetCore.Server.Kestrel: Connection id "0HNF3A7ITPD1Q", Request id "0HNF3A7ITPD1Q:00000001": An unhandled exception was thrown by the application.
      Aug 24 22:07:24 --- End of inner exception stack trace ---
      Aug 24 22:07:24 --- End of stack trace from previous location ---
      Aug 24 22:07:24 --- End of stack trace from previous location ---
      Aug 24 22:07:24 --- End of stack trace from previous location ---
      Aug 24 22:07:24 --- End of stack trace from previous location ---
      Aug 24 22:07:24 ---> System.IO.IOException: The configured user limit (128) on the number of inotify instances has been reached, or the per-process limit on the number of open file descriptors has been reached.
      

      Any thoughts ?

      1 Reply Last reply
      2
      • robiR Offline
        robiR Offline
        robi
        wrote on last edited by robi
        #55

        What is Microsoft code doing there?

        Conscious tech

        1 Reply Last reply
        2
        • nostrdevN Offline
          nostrdevN Offline
          nostrdev
          wrote on last edited by
          #56

          We suspect this is an issue with the host machine

          You can test by running the following (will reset on next boot):

          sudo sysctl fs.inotify.max_user_instances=512  # Or higher, e.g., 1024
          sudo sysctl fs.inotify.max_user_watches=524288  # Increase this too if needed
          

          For permanent fix:

          • Edit or create /etc/sysctl.conf

          insert / update:

          fs.inotify.max_user_instances=512
          fs.inotify.max_user_watches=524288
          

          Then apply:

          sudo sysctl -p

          timconsidineT 1 Reply Last reply
          0
          • nostrdevN Offline
            nostrdevN Offline
            nostrdev
            wrote on last edited by
            #57

            That web app looks cool! Is it self-hostable? Thanks for adding btcpay..

            Remember that BTCPay also requires BTC Core (or Knots), or at least access to an instance somewhere

            timconsidineT 1 Reply Last reply
            0
            • nostrdevN nostrdev

              That web app looks cool! Is it self-hostable? Thanks for adding btcpay..

              Remember that BTCPay also requires BTC Core (or Knots), or at least access to an instance somewhere

              timconsidineT Offline
              timconsidineT Offline
              timconsidine
              App Dev
              wrote on last edited by
              #58

              @nostrdev said in BTCpayserver:

              That web app looks cool! Is it self-hostable?

              Yes, if you're referring to CCAI
              You can actually use the deployed version at https://ccai.appx.uk to install CCAI onto your own Cloudron server.
              Or you do it manually (docker build, docker push, cloudrin install) by cloning the repo

              nostrdevN 1 Reply Last reply
              0
              • nostrdevN nostrdev

                We suspect this is an issue with the host machine

                You can test by running the following (will reset on next boot):

                sudo sysctl fs.inotify.max_user_instances=512  # Or higher, e.g., 1024
                sudo sysctl fs.inotify.max_user_watches=524288  # Increase this too if needed
                

                For permanent fix:

                • Edit or create /etc/sysctl.conf

                insert / update:

                fs.inotify.max_user_instances=512
                fs.inotify.max_user_watches=524288
                

                Then apply:

                sudo sysctl -p

                timconsidineT Offline
                timconsidineT Offline
                timconsidine
                App Dev
                wrote on last edited by
                #59

                @nostrdev said in BTCpayserver:

                We suspect this is an issue with the host machine

                Thank you.
                Will investigate

                1 Reply Last reply
                0
                • timconsidineT timconsidine

                  @nostrdev said in BTCpayserver:

                  That web app looks cool! Is it self-hostable?

                  Yes, if you're referring to CCAI
                  You can actually use the deployed version at https://ccai.appx.uk to install CCAI onto your own Cloudron server.
                  Or you do it manually (docker build, docker push, cloudrin install) by cloning the repo

                  nostrdevN Offline
                  nostrdevN Offline
                  nostrdev
                  wrote on last edited by nostrdev
                  #60

                  @timconsidine I'm sure this is totally safe but would still prefer not to enter creds on a third party domain

                  Where is the repo?

                  found it: https://git.cloudron.io/timconsidine/cloudron-customapp-installer

                  I see that it requires docker to do the manual setup, is there a public image available?

                  This tool really ought to be on the main app store, it looks really handy!!

                  timconsidineT 2 Replies Last reply
                  1
                  • nostrdevN nostrdev

                    @timconsidine I'm sure this is totally safe but would still prefer not to enter creds on a third party domain

                    Where is the repo?

                    found it: https://git.cloudron.io/timconsidine/cloudron-customapp-installer

                    I see that it requires docker to do the manual setup, is there a public image available?

                    This tool really ought to be on the main app store, it looks really handy!!

                    timconsidineT Offline
                    timconsidineT Offline
                    timconsidine
                    App Dev
                    wrote on last edited by
                    #61

                    @nostrdev yes there is a public docker image
                    tcmbp132021/cloudron-customapp-installer:vX.Y.Z

                    I’m away at present so please check hub.docker.com for the correct version number.

                    Totally understand about credentials sensitivity.
                    You can check the code in the repo to see nothing is stored. And no metrics captured.
                    But feel free to manually use cloudron install —image tcmbp132021/cloudron-customapp-installer:vX.Y.Z after cloning the repo to have access to CloudronManifest.json

                    The hosted installer is purely a service, direct install is available.

                    I guess you could set up a special purpose Cloudron user and disable or change password after using it.

                    1 Reply Last reply
                    1
                    • nostrdevN nostrdev

                      @timconsidine I'm sure this is totally safe but would still prefer not to enter creds on a third party domain

                      Where is the repo?

                      found it: https://git.cloudron.io/timconsidine/cloudron-customapp-installer

                      I see that it requires docker to do the manual setup, is there a public image available?

                      This tool really ought to be on the main app store, it looks really handy!!

                      timconsidineT Offline
                      timconsidineT Offline
                      timconsidine
                      App Dev
                      wrote on last edited by
                      #62

                      @nostrdev please upvote https://forum.cloudron.io/topic/14231/ccai-cloudron-custom-app-installer 👍

                      1 Reply Last reply
                      2
                      • nostrdevN Offline
                        nostrdevN Offline
                        nostrdev
                        wrote on last edited by
                        #63

                        done! we would like to add that the packaging team should prioritise the custom app installer over btcpay server (as we can easily deploy apps using the package installer from that point onward)

                        1 Reply Last reply
                        4
                        • L Online
                          L Online
                          LoudLemur
                          wrote on last edited by
                          #64

                          What is the latest news on official support for BTCpayserver on Cloudron?

                          1 Reply Last reply
                          2
                          • timconsidineT Offline
                            timconsidineT Offline
                            timconsidine
                            App Dev
                            wrote last edited by
                            #65

                            @nostrdev I'm trying to install btcpayserver after installing btc-core (and node fully synced)

                            I change the rpc auth in btcpayserver config.yml to match what is in btc-core bitcoin.conf

                            I restarted btcpayserver

                            I get a blank page on btcpay.domain.tl in Safari and a 500 error in Firefox.

                            btcpayserver logs :
                            Jan 07 16:57:24 fail: Microsoft.AspNetCore.Server.Kestrel: Connection id "0HNIE1J43J819", Request id "0HNIE1J43J819:00000001": An unhandled exception was thrown by the application.

                            I tried to set sysctl values but they're in RO location so will need a rebuild if wrong

                            Am I doing something wrong ?

                            Using https://git.nostrdev.com/stuff/cloudron-btcpay

                            robiR nostrdevN 2 Replies Last reply
                            0
                            • timconsidineT timconsidine

                              @nostrdev I'm trying to install btcpayserver after installing btc-core (and node fully synced)

                              I change the rpc auth in btcpayserver config.yml to match what is in btc-core bitcoin.conf

                              I restarted btcpayserver

                              I get a blank page on btcpay.domain.tl in Safari and a 500 error in Firefox.

                              btcpayserver logs :
                              Jan 07 16:57:24 fail: Microsoft.AspNetCore.Server.Kestrel: Connection id "0HNIE1J43J819", Request id "0HNIE1J43J819:00000001": An unhandled exception was thrown by the application.

                              I tried to set sysctl values but they're in RO location so will need a rebuild if wrong

                              Am I doing something wrong ?

                              Using https://git.nostrdev.com/stuff/cloudron-btcpay

                              robiR Offline
                              robiR Offline
                              robi
                              wrote last edited by
                              #66

                              @timconsidine awesome, how much space does btc-core take up fully synced?

                              Conscious tech

                              nostrdevN 1 Reply Last reply
                              1
                              • timconsidineT timconsidine

                                @nostrdev I'm trying to install btcpayserver after installing btc-core (and node fully synced)

                                I change the rpc auth in btcpayserver config.yml to match what is in btc-core bitcoin.conf

                                I restarted btcpayserver

                                I get a blank page on btcpay.domain.tl in Safari and a 500 error in Firefox.

                                btcpayserver logs :
                                Jan 07 16:57:24 fail: Microsoft.AspNetCore.Server.Kestrel: Connection id "0HNIE1J43J819", Request id "0HNIE1J43J819:00000001": An unhandled exception was thrown by the application.

                                I tried to set sysctl values but they're in RO location so will need a rebuild if wrong

                                Am I doing something wrong ?

                                Using https://git.nostrdev.com/stuff/cloudron-btcpay

                                nostrdevN Offline
                                nostrdevN Offline
                                nostrdev
                                wrote last edited by
                                #67

                                @timconsidine when you say the config matches, you mean this part right?

                                # Bitcoin RPC Configuration
                                bitcoin:
                                  rpc_user: "bitcoin"
                                  rpc_password: "xxxxx"
                                

                                Note that the rpc_password should be the actual password, NOT the rpcauth= value in the bitcoin.conf file (which is derived from the password)

                                timconsidineT 1 Reply Last reply
                                1
                                • robiR robi

                                  @timconsidine awesome, how much space does btc-core take up fully synced?

                                  nostrdevN Offline
                                  nostrdevN Offline
                                  nostrdev
                                  wrote last edited by
                                  #68

                                  @robi for info, this is a non-pruned (full) node, as of today:

                                  root@d1f00579-9662-4a14-896e-cf7cd8127709:/media/core# ls
                                  banlist.json  bitcoind.pid  blocks  chainstate  debug.log  fee_estimates.dat  peers.dat  settings.json
                                  root@d1f00579-9662-4a14-896e-cf7cd8127709:/media/core# du -sh
                                  766G    .
                                  root@d1f00579-9662-4a14-896e-cf7cd8127709:/media/core# 
                                  
                                  robiR 1 Reply Last reply
                                  1
                                  • nostrdevN nostrdev

                                    @robi for info, this is a non-pruned (full) node, as of today:

                                    root@d1f00579-9662-4a14-896e-cf7cd8127709:/media/core# ls
                                    banlist.json  bitcoind.pid  blocks  chainstate  debug.log  fee_estimates.dat  peers.dat  settings.json
                                    root@d1f00579-9662-4a14-896e-cf7cd8127709:/media/core# du -sh
                                    766G    .
                                    root@d1f00579-9662-4a14-896e-cf7cd8127709:/media/core# 
                                    
                                    robiR Offline
                                    robiR Offline
                                    robi
                                    wrote last edited by robi
                                    #69

                                    @nostrdev thanks, good to know.

                                    You know the next question..

                                    Pruned?

                                    And is it sync-able already pruned?

                                    I can't install it if it's not..

                                    Conscious tech

                                    timconsidineT 1 Reply Last reply
                                    0
                                    • robiR robi

                                      @nostrdev thanks, good to know.

                                      You know the next question..

                                      Pruned?

                                      And is it sync-able already pruned?

                                      I can't install it if it's not..

                                      timconsidineT Offline
                                      timconsidineT Offline
                                      timconsidine
                                      App Dev
                                      wrote last edited by
                                      #70

                                      @robi I pruned mine to 3Gb
                                      I think somewhere I read pruning down to 600Mb might be possible. Maybe not lower.

                                      1 Reply Last reply
                                      1
                                      • nostrdevN nostrdev

                                        @timconsidine when you say the config matches, you mean this part right?

                                        # Bitcoin RPC Configuration
                                        bitcoin:
                                          rpc_user: "bitcoin"
                                          rpc_password: "xxxxx"
                                        

                                        Note that the rpc_password should be the actual password, NOT the rpcauth= value in the bitcoin.conf file (which is derived from the password)

                                        timconsidineT Offline
                                        timconsidineT Offline
                                        timconsidine
                                        App Dev
                                        wrote last edited by
                                        #71

                                        @nostrdev thank you

                                        Yes, I used the password value printed below that line as a comment.

                                        I will dig bit deeper later

                                        1 Reply Last reply
                                        0
                                        • L Online
                                          L Online
                                          LoudLemur
                                          wrote last edited by
                                          #72

                                          It seems that we are very nearly there with BTCpayserver. Lets wrap up this project and publish it officially on cloudron.

                                          Here are the main improvements on BTCserver just over the past year (2025):

                                          BTCPay Server Main Improvements (Jan 2025 - Jan 2026)

                                          POS & Checkout

                                          • Tax rates applied to items with breakdowns in checkout/receipts
                                          • Improved total breakdown, receipts, and cart views
                                          • POS reports now include tips/subtotals
                                          • Numeric keypad shows input amount (not total); item list support
                                          • Receipts displayable in iframes; hide back-to-store link in iframes
                                          • Disable zero-amount invoices; improved mobile UX

                                          Wallet & Transactions

                                          • Wallet policy output descriptors (BIP388/389) and Taproot signing (BIP86) for hardware wallets
                                          • RBF sweeping transactions and CPFP UX improvements
                                          • Manual coin selection with advanced filters ("Clear All")
                                          • Browse generated addresses; fiat amount previews in tx details
                                          • Tx fee/fee rate info; exchange rate tracking; additional rates via store settings
                                          • BBQr PSBT support (up to 16MB); improved PSBT error messages

                                          API & Greenfield

                                          • New webhooks: InvoiceExpiredPaidPartial, InvoicePaidAfterExpiration
                                          • amountPaid on invoices; email settings endpoint
                                          • Subscriptions API; store users API (update/retrieve by ID/email)
                                          • Payment requests link to external invoices (e.g., QuickBooks) via Reference ID
                                          • PoS data without auth; payout methods optional for pull payments
                                          • Histograms with Lightning data; image upload for app items

                                          Reporting & Invoices

                                          • Renamed/reordered invoice report columns; export all metadata
                                          • Payment request reports with improved filtering
                                          • Refund reports; "Reporting" button for quick access
                                          • Responsive UI; sales stats filter to paid invoices only
                                          • Admin can view users' invoices; manual payout state transitions (InProgress → AwaitingPayment)

                                          Subscriptions & Automation

                                          • Recurring payments with reminders; prefilled subscriber email
                                          • Ambassadors can monetize server access
                                          • Installable backend language packs
                                          • Advanced server email rules (conditions, placeholders, CC/BCC)

                                          UI/UX & Accessibility

                                          • Custom HTML meta tags/lang for SEO (crowdfund/PoS)
                                          • Improved hardware wallet import (no confirm addresses page; auto-label by model)
                                          • Dashboard tweaks (remove store headline, hide LN balance for non-admins)
                                          • Tooltip/link for pull-payment tags; copy link button
                                          • Auto-disable crashed plugins; cleanup expired data

                                          Integrations & Providers

                                          • Phoenixd, Coinmate (CZK), Kraken (CAD), Yadio, Norwegian exchanges (Bitmynt/Bare Bitcoin)
                                          • Fallback rate sources; rate providers configurable
                                          • Shopify integration deprecation warning + new plugin link
                                          • Multisig flow improvements (BTCPay-only users); confirmation prompts

                                          Bug Fixes & Reliability

                                          • RBF label consistency; fee rate crashes; Yadio rate lookup
                                          • Archived invoices private; status filter 500 errors
                                          • Lightning payment detection post-connection string swap
                                          • Vault signing for large PSBTs; pending payouts on unresponsive LN
                                          • Notifications API crashes; Boltcard reset issues; escaped HTML in UTXOs
                                          • Zero-amount payment requests; receipt options from store settings

                                          Sources: GitHub releases (up to v2.3.3), Changelog.md. Full notes: Releases.

                                          1 Reply Last reply
                                          1
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Bookmarks
                                          • Search