cculianu / Fulcrum

A fast & nimble SPV Server for BCH, BTC, and LTC
Other
331 stars 77 forks source link

Simplify Docker builds #106

Closed AaronDewes closed 2 years ago

AaronDewes commented 2 years ago

This

There are still a few things left to do, like adding FulcrumAdmin. However, it seems to work otherwise.

@cculianu I could also change this PR to use the GitHub container registry, which works more easily with GitHub actions and requires no additional configuration, so it can easily be run in forks and would work for any repo. Would you prefer that over Docker Hub?

cculianu commented 2 years ago

Thanks @AaronDewes for this. @EchterAgo was the original author if this Dockefile (and also the docker build trigger thing). I'm curious what his thoughts are on this. I actually rarely if ever use the docker version of Fulcrum myself -- I just run it directly on bare metal personally. @EchterAgo really is the expert here on that. What do you think @EchterAgo ?

AaronDewes commented 2 years ago

I'm building a BTC full node home server software based on Docker called @runcitadel, where I'm currently adding Fulcrum support, and I'm utilizing a fork of Fulcrum in it.

I'm mostly using that fork just to experiment with improving Bitcoin Core performance and it'll probably be deprecated soon already (All Core-specific changes will be contributed here later with a check if it's actually Bitcoin Core).

But I've been using this Dockerfile in that fork and it seems to work, and once I can deprecate that fork, I'd like to switch to an official one, and these upgrades would allow that

EchterAgo commented 2 years ago

The changes look good to me, I really like how this splits things between a builder and a runtime image. I built and tested this on amd64 but I did not get the arm64 architecture to build, I got some error when installing packages. I don't think that is caused by this PR but I need to do some more testing soon.

cculianu commented 2 years ago

Thanks very much for the feedback @EchterAgo . I'll merge this now.


@AaronDewes thanks for your contribution and I do look forward to any cool Bitcoin Core performance patches or otherwise. I'm glad Fulcrum is gaining more traction amongst the BTC community as well.

AaronDewes commented 2 years ago

I'm also trying something different right now: Port your performance improvements in BCHN into Bitcoin Core https://github.com/runcitadel/bitcoin/commit/12800fd1e9f7999d9b8841fcaf195945ff04cc18

Would you be okay with me submitting a PR to Bitcoin Core/Bitcoin Knots based on that?

I'm not sure if they'll accept it, but I guess it's worth a try, unless you already did that and it got rejected.

cculianu commented 2 years ago

@AaronDewes You definitely can go ahead and submit the PR to them. The code in BCHN is MIT licensed so anybody is free to take it. Thanks for asking though!

EDIT: No, I didn't submit it. Being that BCH is a competitor of BTC, I don't necessarily offer up performance gains to BTC, but they are free to take them if they want. I just won't go out of my way to do it, is all. You are free to, of course, with a promise that there would be absolutely no resentment on my part or anything like that. Open source is about sharing, after all!