Mayank Chhabra
ad2207e47f
|
4 years ago | |
---|---|---|
bin/update | 4 years ago | |
bitcoin | 5 years ago | |
contrib | 4 years ago | |
db | 5 years ago | |
events | 4 years ago | |
lnd | 4 years ago | |
nginx | 5 years ago | |
secrets | 5 years ago | |
statuses | 4 years ago | |
tor | 4 years ago | |
.gitignore | 5 years ago | |
CONTRIBUTING.md | 5 years ago | |
LICENSE | 5 years ago | |
NETWORKING.md | 5 years ago | |
README.md | 4 years ago | |
configure-box.sh | 5 years ago | |
docker-compose.yml | 4 years ago | |
info.json | 4 years ago | |
install-box.sh | 4 years ago | |
karen | 5 years ago |
README.md
☂️ Umbrel
This is the master respository of Umbrel and contains the framework for orchestration of all containerized services running on Umbrel OS.
It is platform and architecture-agnostic, thus can be used to directly spin up instances of Umbrel without installing the Umbrel OS since all orchestrated services use multi-architecture Docker images.
We run it on Raspbery Pis (ARMv7) as a part of Umbrel OS, Ubuntu (x64) for testnet.getumbrel.com and macOS (x64) for local development.
🚀 Getting started
If you're looking to run Umbrel on:
- A Raspberry Pi 3 or 4 - Download Umbrel OS
- Anthing else - Manually install Umbrel on your system
🎹 Services orchestrated
Umbrel Dashboard
Umbrel Manager
Umbrel Middleware
Bitcoin Core
LND
Tor
Nginx
lnd-neutrino-switch
- Utility container for seamlessly transitioning from neutrino mode to bitcoind mode
Architecture
+ -------------------- +
| umbrel-dashboard |
+ -------------------- +
|
|
+ ------------- +
| nginx |
+ ------------- +
|
|
+ - - - - - - - - - - - + - - - - - - - - - - - +
| |
| |
+ ------------------ + + --------------------- +
| umbrel-manager | < - - - jwt auth - - - | umbrel-middleware |
+ ------------------ + + --------------------- +
|
|
+ - - - - - - - - + - - - - - - - - +
| |
| |
+ ------------- + + ------------- +
| bitcoind | < - - - - - - - - | lnd |
+ ------------- + + ------------- +
🛠 Installation
Requirements
- Docker
- Python 3.0+
- Docker Compose (installed via python3 pip)
Ensure that your account is correctly permissioned to use docker.
Step 1. Run this from your home directory (if installing on dedicated hardware)
It will clone this repo while preserving home directory's existing structure.
# Ideally you should run this in $HOME as the docker-compose presets are in home
# This will not overwrite any other files but you should segment this in its
# own account
curl "https://raw.githubusercontent.com/getumbrel/umbrel/v0.1.5-beta/install-box.sh" | sh
# OR wget (if this works better)
wget -qO- "https://raw.githubusercontent.com/getumbrel/umbrel/v0.1.5-beta/install-box.sh" | sh
Step 2. Configure
# To run Umbrel on mainnet, run:
./configure-box.sh
# For testnet, run:
TESTNET=1 ./configure-box.sh
# For regtest, run:
REGTEST=1 ./configure-box.sh
Step 3. Run the services
docker-compose up -d
# Verify the services
docker ps -a
⚡️ Don't be too reckless
Umbrel is still in early development and things are expected to break every now and then. We DO NOT recommend running it on the mainnet with real money just yet, unless you want to be really #reckless.
❤️ 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 or join our community chat to get feedback, discuss the best way to tackle the challenge, and to ensure that there's no duplication of work.