nolim1t / compose

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Please don't try running this, it won't work yet.

compose

This software is currently in beta and is not considered secure. Please see SECURITY.md for more details.

This is the main respository of an open source bitcoin node project and contains the framework for orchestration of all containerized services running on our OS.

It is platform and architecture-agnostic, thus can be used to directly spin up instances of Umbrel without installing the our OS since all orchestrated services use multi-architecture Docker images.

We run it on Raspbery Pis (ARMv8) as a part of our OS and Ubuntu (x64).

🚀 Getting started

If you're looking to run a Bitcoin node on:

  • A Raspberry Pi 4 (recommended) - Download our OS
  • Anything else (not recommended as it's experimental at the moment) - Install

🛠 Installation

Our OS for the Raspberry Pi is the easiest and the recommended way to run Umbrel. If you don't have a Raspberry Pi, you can manually install Umbrel on any hardware running a Linux-based operating system such as Ubuntu, Debian, etc by following the instructions below, but please note it's not the recommended way to run Umbrel as it's still very experimental.

Installation Requirements

Make sure your User ID is 1000 (verify it by running id -u) and ensure that your account is correctly permissioned to use docker.

Step 1. Download

Run this in an empty directory where you want to install this project. If using an external storage such as an SSD or HDD, run this inside an empty directory on that drive.

curl -L https://github.com/BitcoinNodeCommunity/compose/archive/main.tar.gz | tar -xz --strip-components=1

Step 2. Run

# To use mainnet, run:
sudo ./scripts/start

# For testnet, run:
sudo NETWORK=testnet ./scripts/start

# For regtest, run:
sudo NETWORK=regtest ./scripts/start

To stop the node, run:

sudo ./scripts/stop

🎹 Services orchestrated

Architecture

                          + -------------------- +
                          |      dashboard       |
                          + -------------------- +
                                      |
                                      |
                              + ------------- +
                              |     nginx     |
                              + ------------- +
                                      |
                                      |
              + - - - - - - - - - - - + - - - - - - - - +
              |                                         |
              |                                         |
   +------------ +                         + -------------------- +
   |   manager   | < - - - jwt auth - - -  |      middleware      |
   + ----------- +                         + -------------------- +
                                                              |
                                                              |
                                            + - - - - - - - - + - - - - - - - - +
                                            |                                   |
                                            |                                   |
                                    + ------------- +                   + ------------- +
                                    |    bitcoind   | < - - - - - - - - |      lnd      |
                                    + ------------- +                   + ------------- +

⚡️ Don't be too reckless

This project is still in beta development and should not be considered secure. Read our writeup of security tradeoffs that exist today.

It's recommended that you note down your 24 secret words (seed phrase) with a pen and paper, and secure it safely. If you forget your dashboard's password, or in case something goes wrong with your Umbrel, you will need these 24 words to recover your funds in the Bitcoin wallet of your Umbrel.

You're also recommended to download a backup of your payment channels regularly as it'll be required to recover your funds in the Lightning wallet of your Umbrel in case something goes wrong. You should also always download the latest backup file before installing an update.

❤️ Contributing

We welcome and appreciate new contributions.

If you're a developer looking to help but not sure where to begin, check out these issues that have specifically been marked as being friendly to new contributors.

If you're looking for a bigger challenge, before opening a pull request please create an issue to get feedback, discuss the best way to tackle the challenge, and to ensure that there's no duplication of work.


"Being open source means anyone can independently review the code. If it was closed source, nobody could verify the security. I think it's essential for a program of this nature to be open source." — Satoshi Nakamoto

License


This project was made possible by Umbrel which is Copyright (c) 2020 Umbrel. https://getumbrel.com. The version we forked was available under the MIT license.

About

License:GNU Affero General Public License v3.0


Languages

Language:Shell 76.4%Language:Python 23.6%