BLACKHATMAPAffiliate & infrastructure forum
Solved

Anyone still running BTCPay on their own box, or has everyone gone hosted?

Started 12 Sep 2023 · 08:41 · 9 replies · 683 views

Page 1 of 110 posts

vlad_ptk

Member

12 Sep 2023 · 08:41#1

Question for people who run own instance, not for people who read about it.

I have BTCPay on small VPS since last October. It work. But every update i lose one evening, and last month the lightning node not sync back and i must resync from zero. Two days no invoices in that time. Customer just go away.

So is honest question. People still run this themselves in 2023 or everybody move to hosted checkout and accept they can get frozen? I do maybe 40 invoices in month, is not big volume.

Anyway i want to hear from someone who actually keep it up, not from someone who install it once and write blog post.

—

grindstone

Senior Member

12 Sep 2023 · 09:07↑ replying to #1#2

it's a server. servers need someone to look after them. that hasn't changed and it isn't going to

—

PipelineRat

Member

12 Sep 2023 · 10:22↑ replying to #1#3

Forty invoices a month and you're running a full LND node on the same box is your actual problem. You're carrying the operational weight of a routing node to settle forty on-chain payments.

Turn Lightning off and the resync class of failure disappears entirely:

BTCPAYGEN_LIGHTNING=none
BTCPAYGEN_ADDITIONAL_FRAGMENTS=opt-save-storage-s

IME the second one matters more than people think — the default install assumes you have disk to burn and most cheap VPS plans don't. I've had two of these fill the volume at exactly the wrong time.

FWIW if you genuinely need LN later, run it somewhere else and point at it. Same box is a convenience decision you pay for once a quarter.

11 thanks

sable_

Member

12 Sep 2023 · 11:58#4

Define still working. Mine has taken eleven payments in six months and has never once gone down.

—

nullroute

Senior Member

12 Sep 2023 · 14:03↑ replying to #1#5

You are asking a maintenance question. The thing you are actually deciding is custody.

Hosted means someone else holds the funds between the customer paying and you withdrawing. That window is where every frozen-balance thread on this board starts. Self-hosted removes the window. It does not remove your VPS provider, your registrar, or the fact that your node's peers see your IP.

Work out which of those you actually care about, then pick. Two days of downtime is a cost. A held balance is a loss. They are not the same category and people keep pricing them as if they were.

7 thanksopsec is a process, not a purchase

hexforge

Senior Member

13 Sep 2023 · 09:12↑ replying to #1#6

I have run one continuously since 2019 across three different hosts, so I will answer the version of the question you asked — is it still worth doing — rather than the ideology version.

What you are actually buying

Zero protocol fee and no operator account. That is the whole product. The customer pays into a wallet whose keys you hold, and there is no third party in the middle who can decide on a Tuesday that your category is no longer supported. Nothing else in the space offers that, and every hosted alternative is a variation on "we will probably not freeze you".

What it actually costs

Not the VPS. The VPS is nothing. The costs are:

  1. Disk. A full node with txindex is the single largest line and it grows monotonically. Budget for the box you will need in two years, not the one you need today.
  2. Attention. Roughly twenty minutes a month if nothing breaks, and a lost evening two or three times a year when something does. Updates are the usual trigger.
  3. Key custody. This is the one people underprice. If you lose the seed there is no support ticket. If someone else gets it there is also no support ticket.

What breaks, in order of how often I have seen it

  • Disk fills. Almost always this.
  • Lightning node state after an unclean shutdown. Which is your problem exactly, and PipelineRat is right that dropping LN removes the entire category if you do not need it.
  • Docker upgrade path when you have skipped four releases. Do not skip four releases.

I have not run it under a serious traffic spike — my volume is steady and modest, so treat anything I say about scaling as untested.

The honest recommendation

At forty invoices a month it is still the right call, because the thing you are avoiding is not a 0.5% fee, it is the possibility of a five-figure balance sitting behind a compliance review for six weeks. But you have to actually do the maintenance. Someone who will not patch a box should use a hosted gateway and accept the trade, not run a node badly and call it sovereignty.

Short version: worth it if you will maintain it, actively worse than hosted if you will not.

71 thanks

Ravenstack

Senior Member

13 Sep 2023 · 09:41↑ replying to #4#7

Eleven payments in six months is a hobby, not a merchant account. Nothing you say about uptime generalises.

—

quietaccountant

Member

14 Sep 2023 · 07:55↑ replying to #6#8

One thing the maintenance framing leaves out: with a hosted gateway you inherit their invoice records, and with a self-hosted instance the records are yours to keep and yours to lose.

That cuts both ways. Nobody can withhold your transaction history from you; equally, if the box dies and you never exported anything, you are reconstructing a year of receipts from a block explorer at the worst possible moment. Take the database dump on a schedule and put it somewhere that is not the same server.

I accept in advance that nobody here cares about this until the year they need it.

6 thanks

grindstone

Senior Member

14 Sep 2023 · 08:31↑ replying to #3#9

twenty minutes a month until the day it isn't. every one of these threads has someone who has never had a disk fill at 2am on a saturday telling everyone how light the upkeep is

he's not wrong about lightning though

—

vlad_ptk

Member

27 Sep 2023 · 19:14↑ replying to #3#10

Report back because someone always ask and nobody answer.

I kill lightning like you say. Two weeks now, zero problem, and the disk is half of what it was. Resync issue is gone because there is nothing to resync.

So the answer to my own question is yes is still working, but only if you stop running the part you do not use. I was maintaining a feature for nobody.

9 thanks

You must be logged in to reply. Request an account — new registrations are reviewed by a moderator before approval.