stacksgov / sips

Community-submitted Stacks Improvement Proposals (SIPs)
137 stars 82 forks source link

Wishlist: Step by step tutorial to run a stacks node (w/o docker) - and/or single click install options #151

Open 314159265359879 opened 1 year ago

314159265359879 commented 1 year ago

Questions like this are asked now and again.

image

I used to run a stacks node on a couple of low-power cleanly installed Windows PC's, https://docs.stacks.co. The previous tutorial would explain the minute steps to install all the dependencies, download the stacks node software and then the command to run it.

That info is no longer available. If you search for "run stacks node" we find: image https://docs.stacks.co/docs/nodes-and-miners/run-a-node

  1. Is running it in docker mandatory or can users still take steps to run it on Linux, Windows or MacOS without? If that is still possible I would love to see those step by steps. If not feel free to explain why that is, or why perhaps it is not recommended. We can let users know when we see the questions come up again. @wileyj

  2. I think it would be great if it is super easy for users to install the node software with a single click, is there any chance of that, creating an executable that installs the dependencies and then runs the node?

  3. Users already running a bitcoin node with Umbrel have shown an interest to run a Stacks node alongside on their Raspberry Pi. The Umbrel store has recently added the option to add apps from "community app stores", could the Stacks Foundation run such a store with an option to install the Stacks node? image

Sidenote: Perhaps lnswap app can be added in the same store, it wasn't accepted in the official store https://github.com/getumbrel/umbrel/pull/1315#event-9355865771

  1. Running just the follower node on a low-power PC should be okay now. Would that change with the Nakamoto release, when more throughput is expected? What about if you want to run it with an API database/server and a local explorer? If even that is possible, those could be add-ons in the Umbrel store, perhaps? In any case, I would love to see guides on how users can independently verify the chain if they want to.
wileyj commented 1 year ago

for 1 and 2: in short, what you're asking is not easily possible (outside of docker) because of the differences in platforms/cpu architectures. Docker makes it simple, since the image can run wherever you have a docker daemon running - installing from source (or even running a binary) requires knowledge of the specific system.

There are plenty of docs if you want to compile and run from source, the main one being the stacks-blockchain's README: https://github.com/stacks-network/stacks-blockchain/#building

copy/pasting this info into the docs site is an option - you're welcome to PR that change if you'd like to see it https://github.com/stacks-network/docs (pending PR approval)

for 3 and 4: that was (is) a goal - part of the issue we've had is that there hasn't been a native arm64 docker image that would run well on a raspberry pi. this has since been addressed and the next release will have a tagged image for arm64. however the API/postgres layers now consume a lot more resources than they have in the past - so while it'll be possible to launch a stacks-node on an umbrel, it's questionable if it should be done (the IO needs are quite high with the API and postgres). that's not to say we won't give it a shot, but there have been 2 main issues in working with umbrel/pi :

  1. native arm64 images are needed (this is addressed)
  2. IO requirements may prove to be too much for a low power (pi) device, we'll have to see what happens with that.