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.
  • 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 ?

    Indie app dev, scratching my itches, lover of Cloudron PaaS

    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

            Indie app dev, scratching my itches, lover of Cloudron PaaS

            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

              Indie app dev, scratching my itches, lover of Cloudron PaaS

              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.

                  Indie app dev, scratching my itches, lover of Cloudron PaaS

                  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 👍

                    Indie app dev, scratching my itches, lover of Cloudron PaaS

                    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 Offline
                        L Offline
                        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

                          Indie app dev, scratching my itches, lover of Cloudron PaaS

                          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.

                                    Indie app dev, scratching my itches, lover of Cloudron PaaS

                                    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

                                      Indie app dev, scratching my itches, lover of Cloudron PaaS

                                      1 Reply Last reply
                                      0
                                      • L Offline
                                        L Offline
                                        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
                                        • nostrdevN Offline
                                          nostrdevN Offline
                                          nostrdev
                                          wrote last edited by
                                          #73

                                          BTCPayServer has now been updated to v2.3.3 (from 2.1.6)

                                          Tested on our instance and it's running fine

                                          https://git.cloudron.io/playground/btcpayserver/

                                          1 Reply Last reply
                                          5
                                          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