From d904ba3c2cb78bd9dff22f37db154961892ccc58 Mon Sep 17 00:00:00 2001 From: Mayank Date: Thu, 21 May 2020 14:43:03 +0530 Subject: [PATCH 01/13] removed lnd-unlock --- build/lnd-unlock/Dockerfile | 11 ------- build/lnd-unlock/unlock.sh | 57 ------------------------------------- db/jwt-private-key/.gitkeep | 0 db/jwt-public-key/.gitkeep | 0 docker-compose.yml | 9 ------ 5 files changed, 77 deletions(-) delete mode 100644 build/lnd-unlock/Dockerfile delete mode 100755 build/lnd-unlock/unlock.sh create mode 100644 db/jwt-private-key/.gitkeep create mode 100644 db/jwt-public-key/.gitkeep diff --git a/build/lnd-unlock/Dockerfile b/build/lnd-unlock/Dockerfile deleted file mode 100644 index 33936c2..0000000 --- a/build/lnd-unlock/Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM alpine:3.10 - -RUN apk add --no-cache curl jq - -RUN mkdir /lnd/ - -COPY unlock.sh /bin/unlock - -RUN chmod +x /bin/unlock - -ENTRYPOINT ["unlock"] diff --git a/build/lnd-unlock/unlock.sh b/build/lnd-unlock/unlock.sh deleted file mode 100755 index 4ae00a2..0000000 --- a/build/lnd-unlock/unlock.sh +++ /dev/null @@ -1,57 +0,0 @@ -#!/bin/sh - -HOST=localhost:8080 -TLS_CERT=/lnd/tls.cert -LNDPASSWORD_PATH=/secrets/lnd-password.txt -MACAROON_PATH=/lnd/data/chain/bitcoin/mainnet/admin.macaroon - -lncurl() { - MACAROON="$(xxd -p /lnd/data/chain/bitcoin/mainnet/admin.macaroon | tr -d '\n')" - url_path=$1 - data=$2 - - curl --fail --silent --show-error \ - --cacert "${TLS_CERT}" \ - --header "Grpc-Metadata-macaroon: ${MACAROON}" \ - --data "${data}" \ - "https://${HOST}/v1/${url_path}" -} - -while true; do - # First make sure that port is open - while ! nc -z localhost 8080; do - >&2 echo "Waiting for ${HOST} port to open…" - sleep 3 - done - >&2 echo "Port ${HOST} is open" - - # Wait a bit more in case the port was just opened - sleep 1 - if [[ -f $LNDPASSWORD_PATH ]]; then - if [[ -f $MACAROON_PATH ]]; then - >&2 echo "Password and macaroon file file exists" - PASS="$(cat /secrets/lnd-password.txt | tr -d '\n' | base64 | tr -d '\n')" - UNLOCK_PAYLOAD="$(jq -nc --arg wallet_password ${PASS} '{$wallet_password}')" - # Try getinfo then unlock - >&2 echo "Trying ${HOST}/getinfo…" - INFO=$(lncurl getinfo) - if [ "$?" = "0" ]; then - >&2 echo "Response: ${INFO}" - alias="$(echo "${INFO}" | jq '.alias')" - >&2 echo "Wallet for ${alias} unlocked!" - exit 0 - fi - >&2 echo "${HOST}/getinfo FAILED, out=${INFO}" - - >&2 echo "Trying ${HOST}/unlockwallet…" - RESULT=$(lncurl unlockwallet "${UNLOCK_PAYLOAD}") - >&2 echo "${HOST}/unlockwallet completed with: exit-code=$?, out=${RESULT}" - else - >&2 echo "macaroon file doesn't exist" - fi - else - >&2 echo "password file doesn't exist" - fi - - sleep 30 -done diff --git a/db/jwt-private-key/.gitkeep b/db/jwt-private-key/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/db/jwt-public-key/.gitkeep b/db/jwt-public-key/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml index 7f58666..cf92b07 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -55,12 +55,3 @@ services: RPC_PASSWORD: "" LND_NETWORK: "mainnet" LND_HOST: "127.0.0.1" - lnd-unlock: - build: ${HOME}/build/lnd-unlock/ - depends_on: [ lnd ] - logging: *default-logging - restart: always - volumes: - - "${HOME}/lnd:/lnd" - - "${HOME}/secrets:/secrets" - network_mode: host From b145651e3f8381bc26c5e1613949108e9dd4336a Mon Sep 17 00:00:00 2001 From: Mayank Date: Thu, 21 May 2020 14:43:28 +0530 Subject: [PATCH 02/13] updated docker compose --- docker-compose.yml | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index cf92b07..410d2a7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,7 +10,7 @@ x-utility: &default-utility network_mode: host services: - web: + nginx: image: nginx:1.17.8 logging: *default-logging volumes: @@ -37,21 +37,41 @@ services: - /var/lib/tor:/var/lib/tor - /run/tor:/run/tor/ restart: on-failure - depends_on: [ bitcoin, web ] network_mode: host stop_grace_period: 1m30s + dashboard: + image: getumbrel/dashboard:v0.2.0 + logging: *default-logging + restart: always + network_mode: host + manager: + image: getumbrel/manager:v0.1.0 + logging: *default-logging + restart: unless-stopped + network_mode: host + volumes: + - "${HOME}/db:/db" + environment: + PORT: "3006" + USER_PASSWORD_FILE: "/db/user.json" + JWT_PUBLIC_KEY_FILE: "/db/jwt-public-key/jwt.pem" + JWT_PRIVATE_KEY_FILE: "/db/jwt-private-key/jwt.key" + JWT_EXPIRATION: "3600" middleware: - image: getumbrel/middleware:v0.0.5 - depends_on: [ bitcoin, lnd ] + image: getumbrel/middleware:v0.1.0 logging: *default-logging - restart: on-failure + restart: unless-stopped network_mode: host + depends_on: [ manager ] volumes: - - "${HOME}/lnd:/lnd" + - "${HOME}/lnd:/lnd" + - "${HOME}/db/jwt-public-key:/jwt-public-key" environment: + PORT: "3005" BITCOIN_HOST: "0.0.0.0" RPC_PORT: "8332" RPC_USER: "" RPC_PASSWORD: "" LND_NETWORK: "mainnet" LND_HOST: "127.0.0.1" + JWT_PUBLIC_KEY_FILE: "/jwt-public-key/jwt.pem" \ No newline at end of file From d646edf5d3efd7bdbe4292410267ea464da9df28 Mon Sep 17 00:00:00 2001 From: Mayank Date: Thu, 21 May 2020 14:54:56 +0530 Subject: [PATCH 03/13] nginx --- nginx/conf.d/default.conf | 29 ++++++++++++++++------------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/nginx/conf.d/default.conf b/nginx/conf.d/default.conf index ec7cbd3..6f8beb9 100644 --- a/nginx/conf.d/default.conf +++ b/nginx/conf.d/default.conf @@ -1,17 +1,20 @@ server { - listen 80 default_server; - listen [::]:80 default_server; - server_name _; - root /etc/nginx/www; - index index.html; - - location / { - index index.html; - try_files $uri $uri/ /index.html; - } + listen 80 default_server; + listen [::]:80 default_server; + server_name _; - location /api/ { - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + location /api/ { + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; proxy_pass http://localhost:3005/; } -} + + location /manager-api/ { + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE'; + proxy_pass http://localhost:3006/; + } + + location / { + add_header Access-Control-Allow-Origin *; + proxy_pass http://localhost:3004/; + } +} \ No newline at end of file From 2165604f911b18a004194ccc6ac33ec26f812c3d Mon Sep 17 00:00:00 2001 From: Mayank Date: Thu, 21 May 2020 23:30:23 +0530 Subject: [PATCH 04/13] readme --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 1b9dd56..88826d2 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ ## Abstract -This is a basic framework for orchestration of the box services for running a full lightning and bitcoin node. +This is a basic framework for orchestration of the services required to run an Umbrel bitcoin and lightning node. ## How to use @@ -57,9 +57,6 @@ wget -qO- "https://raw.githubusercontent.com/getumbrel/umbrel-compose/master/con docker-compose up -d --build # verify the containers docker ps -a - -# Additional node: You should have a way of creating a wallet. Currently this container does not have a create wallet container. -# For the unlock script to work, put the unlock password in secrets/lnd-password.txt ``` From cac1bcea653ea5385f1df7f789afdf63280d9c47 Mon Sep 17 00:00:00 2001 From: Mayank Date: Fri, 22 May 2020 00:33:12 +0530 Subject: [PATCH 05/13] ready to test --- docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 410d2a7..12308c8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -40,12 +40,12 @@ services: network_mode: host stop_grace_period: 1m30s dashboard: - image: getumbrel/dashboard:v0.2.0 + image: getumbrel/dashboard:v0.2.0.3 logging: *default-logging restart: always network_mode: host manager: - image: getumbrel/manager:v0.1.0 + image: getumbrel/manager:v0.1.0.3 logging: *default-logging restart: unless-stopped network_mode: host @@ -58,7 +58,7 @@ services: JWT_PRIVATE_KEY_FILE: "/db/jwt-private-key/jwt.key" JWT_EXPIRATION: "3600" middleware: - image: getumbrel/middleware:v0.1.0 + image: getumbrel/middleware:v0.1.0.4 logging: *default-logging restart: unless-stopped network_mode: host From 71b1e9d0d4c88e3fa6295fd69c302c9e229f5b53 Mon Sep 17 00:00:00 2001 From: BT Date: Sun, 24 May 2020 23:04:35 +0700 Subject: [PATCH 06/13] Add wait-for-node-manager.sh to docker-compose.yml --- docker-compose.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 12308c8..1e4d929 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -58,7 +58,8 @@ services: JWT_PRIVATE_KEY_FILE: "/db/jwt-private-key/jwt.key" JWT_EXPIRATION: "3600" middleware: - image: getumbrel/middleware:v0.1.0.4 + image: getumbrel/middleware:v0.1.0.5 + command: ["./wait-for-node-manager.sh", "localhost", "npm", "start"] logging: *default-logging restart: unless-stopped network_mode: host @@ -74,4 +75,4 @@ services: RPC_PASSWORD: "" LND_NETWORK: "mainnet" LND_HOST: "127.0.0.1" - JWT_PUBLIC_KEY_FILE: "/jwt-public-key/jwt.pem" \ No newline at end of file + JWT_PUBLIC_KEY_FILE: "/jwt-public-key/jwt.pem" From a2da21245c402b8ec25c1bc4e995cb25433ecf37 Mon Sep 17 00:00:00 2001 From: Mayank Date: Thu, 28 May 2020 14:01:39 +0530 Subject: [PATCH 07/13] Bump to release versions of services --- docker-compose.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 1e4d929..dd91401 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -40,12 +40,12 @@ services: network_mode: host stop_grace_period: 1m30s dashboard: - image: getumbrel/dashboard:v0.2.0.3 + image: getumbrel/dashboard:v0.2.0 logging: *default-logging restart: always network_mode: host manager: - image: getumbrel/manager:v0.1.0.3 + image: getumbrel/manager:v0.1.0 logging: *default-logging restart: unless-stopped network_mode: host @@ -58,7 +58,7 @@ services: JWT_PRIVATE_KEY_FILE: "/db/jwt-private-key/jwt.key" JWT_EXPIRATION: "3600" middleware: - image: getumbrel/middleware:v0.1.0.5 + image: getumbrel/middleware:v0.1.0 command: ["./wait-for-node-manager.sh", "localhost", "npm", "start"] logging: *default-logging restart: unless-stopped From b3c8a2a7119f4a1ec6bfa40af5a84ff737d02efe Mon Sep 17 00:00:00 2001 From: Mayank Date: Fri, 29 May 2020 10:30:26 +0530 Subject: [PATCH 08/13] Update README --- README.md | 78 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index 88826d2..e8c2170 100644 --- a/README.md +++ b/README.md @@ -1,32 +1,47 @@ -# Umbrel Compose System +[![Umbrel Compose](https://i.imgur.com/4it3IiB.png)](https://github.com/getumbrel/umbrel-compose) -## Abstract +[![Version](https://img.shields.io/github/v/release/getumbrel/umbrel-compose?color=%235351FB&label=version)](https://github.com/getumbrel/umbrel-compose/releases) +[![Chat](https://img.shields.io/badge/chat%20on-telegram-%235351FB)](https://t.me/getumbrel) -This is a basic framework for orchestration of the services required to run an Umbrel bitcoin and lightning node. +[![Twitter](https://img.shields.io/twitter/follow/getumbrel?style=social)](https://twitter.com/getumbrel) +[![Reddit](https://img.shields.io/reddit/subreddit-subscribers/getumbrel?label=Subscribe%20%2Fr%2Fgetumbrel&style=social)](https://reddit.com/r/getumbrel) -## How to use -Ideally, you should create a user for this and then run it within the root of that user. There are some root privilege needed stuff, however LND doesn't support tor passwords yet so we will need to wait. +# ☂️ compose -### Step 1 +Compose is a framework for orchestration of all containerized services running on [Umbrel OS](https://github.com/getumbrel/umbrel-os). -Ensure you have the [latest docker](https://docs.docker.com/install/linux/docker-ce/ubuntu/) installed, python3 (for docker-compose), and docker-compose (installed from python3 pip). +It is platform and architecture-agnostic, thus can be used to directly spin up instances of Umbrel without installing the [Umbrel OS](https://github.com/getumbrel/umbrel-os) since all orchestrated services use multi-architecture images. -Ensure that you have the latest tor (currently working with 0.3.5.8), and you are using system default paths. +We run it on Raspbery Pis (ARMv7) as a part of [Umbrel OS](https://github.com/getumbrel/umbrel-os), Ubuntu (x64) for [testnet.getumbrel.com](https://testnet.getumbrel.com) and macOS (x64) for local development. -For the install script, you should also have git installed. +## 🚀 Getting started -For the configuration script you should also have wget. +If you are looking to run Umbrel on your hardware, you do not need to use this framework on it's own. Just download [Umbrel OS](https://github.com/getumbrel/umbrel-os/releases) and you're good to go. -These scripts all are able to run as non-interactive sessions. +## 🎹 Services orchestrated by Compose -### Step 2 +- [`bitcoind`](https://github.com/getumbrel/docker-bitcoind) +- [`lnd`](https://github.com/getumbrel/docker-lnd) +- [`nginx`](https://github.com/nginx/nginx) +- [`umbrel-dashboard`](https://github.com/getumbrel/umbrel-dashboard) +- [`umbrel-manager`](https://github.com/getumbrel/umbrel-manager) +- [`umbrel-middleware`](https://github.com/getumbrel/umbrel-middleware) -Ensure that your account is permissioned for docker. +## 🛠 Using Compose -### Step 3 +### Requirements -Run this from your home directory. This clones this repo into your home directory, as well as preserving the existing structure. +- [Docker](https://docs.docker.com/engine/install) +- [Python 3.0+](https://www.python.org/downloads) +- [Docker Compose](https://docs.docker.com/compose/install/#install-using-pip) (installed via python3 pip) +- [Tor](https://2019.www.torproject.org/docs/debian.html.en) (using default system paths) + +Ensure that your account is [correctly permissioned to use docker](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user). + +### 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. ```bash # Ideally you should run this in $HOME as the docker-compose presets are in home @@ -37,30 +52,41 @@ curl "https://raw.githubusercontent.com/getumbrel/umbrel-compose/master/install- wget -qO- "https://raw.githubusercontent.com/getumbrel/umbrel-compose/master/install-box.sh" | sh ``` -### Configuring +### Step 2. Configure ```bash -# If you want to use testnet, otherwise we will use mainnet by default and be #reckless +# If you want to use testnet, otherwise it will use mainnet by default and be #reckless export TESTNET=true -# testnet mode not supported as config is completely different +# (testnet mode not fully supported) # Run this in the $HOME directory -wget -qO- "https://raw.githubusercontent.com/getumbrel/umbrel-compose/master/configure-box.sh" | sh -# or (should be in the $HOME directory after install) ./configure-box.sh ``` -### Running +### Step 3. Run the services ```bash -# Build containers in build/ always -docker-compose up -d --build -# verify the containers +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](https://github.com/getumbrel/umbrel-dashboard/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22) 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](https://github.com/getumbrel/umbrel-dashboard/issues/new/choose) or [join our community chat](https://t.me/getumbrel) to get feedback, discuss the best way to tackle the challenge, and to ensure that there's no duplication of work. -## TODO List +--- -Please see the [following tasks](https://github.com/getumbrel/umbrel-compose/issues?q=is%3Aissue+is%3Aopen+label%3ATODO) which are on this list. +[![License](https://img.shields.io/github/license/getumbrel/umbrel-compose?color=%235351FB)](https://github.com/getumbrel/umbrel-compose/blob/master/LICENSE) +[getumbrel.com](https://getumbrel.com) \ No newline at end of file From 6f346455529ddda12927a6324303fb48bac5ff68 Mon Sep 17 00:00:00 2001 From: Mayank Date: Fri, 29 May 2020 10:48:15 +0530 Subject: [PATCH 09/13] MIT License --- LICENSE | 49 +++++++++++++++++-------------------------------- 1 file changed, 17 insertions(+), 32 deletions(-) diff --git a/LICENSE b/LICENSE index f872610..4234f06 100644 --- a/LICENSE +++ b/LICENSE @@ -1,36 +1,21 @@ -This is free and unencumbered software released into the public domain. +The MIT License -Anyone is free to copy, modify, publish, use, compile, sell, or -distribute this software, either in source code form or as a compiled -binary, for any purpose, commercial or non-commercial, and by any -means. +Copyright (c) 2020 Umbrel. https://getumbrel.com -In jurisdictions that recognize copyright laws, the author or authors -of this software dedicate any and all copyright interest in the -software to the public domain. We make this dedication for the benefit -of the public at large and to the detriment of our heirs and -successors. We intend this dedication to be an overt act of -relinquishment in perpetuity of all present and future rights to this -software under copyright law. +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -OTHER DEALINGS IN THE SOFTWARE. +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. -For more information, please refer to - -#### ENDS LICENSE - -### Add the below to any code (commented obviously) - -# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. -# IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR -# OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, -# ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -# OTHER DEALINGS IN THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. \ No newline at end of file From 0dece8da6a247770ba3a7cb73a9022630f8a3557 Mon Sep 17 00:00:00 2001 From: Mayank Chhabra Date: Fri, 29 May 2020 14:48:52 +0530 Subject: [PATCH 10/13] SVG Banner --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index e8c2170..71ea8d2 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Umbrel Compose](https://i.imgur.com/4it3IiB.png)](https://github.com/getumbrel/umbrel-compose) +[![Umbrel Compose](https://static.getumbrel.com/github/github-banner-umbrel-compose.svg)](https://github.com/getumbrel/umbrel-compose) [![Version](https://img.shields.io/github/v/release/getumbrel/umbrel-compose?color=%235351FB&label=version)](https://github.com/getumbrel/umbrel-compose/releases) [![Chat](https://img.shields.io/badge/chat%20on-telegram-%235351FB)](https://t.me/getumbrel) @@ -89,4 +89,4 @@ If you're looking for a bigger challenge, before opening a pull request please [ [![License](https://img.shields.io/github/license/getumbrel/umbrel-compose?color=%235351FB)](https://github.com/getumbrel/umbrel-compose/blob/master/LICENSE) -[getumbrel.com](https://getumbrel.com) \ No newline at end of file +[getumbrel.com](https://getumbrel.com) From 85102de47aa4b0114aaf09c9d55f61c5cbb1e8ba Mon Sep 17 00:00:00 2001 From: Mayank Date: Sat, 30 May 2020 13:21:00 +0530 Subject: [PATCH 11/13] Add architecture --- README.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/README.md b/README.md index 71ea8d2..e9acef7 100644 --- a/README.md +++ b/README.md @@ -28,6 +28,35 @@ If you are looking to run Umbrel on your hardware, you do not need to use this f - [`umbrel-manager`](https://github.com/getumbrel/umbrel-manager) - [`umbrel-middleware`](https://github.com/getumbrel/umbrel-middleware) +**Architecture** + +``` + + -------------------- + + | umbrel-dashboard | + + -------------------- + + | + | + + ------------- + + | nginx | + + ------------- + + | + | + + - - - - - - - - - - - + - - - - - - - - - - - + + | | + | | + + ------------------ + + --------------------- + + | umbrel-manager | < - - - jwt auth - - - | umbrel-middleware | + + ------------------ + + --------------------- + + | + | + + - - - - - - - - + - - - - - - - - + + | | + | | + + ------------- + + ------------- + + | bitcoind | < - - - - - - - - | lnd | + + ------------- + + ------------- + +``` + ## 🛠 Using Compose ### Requirements From 2119632b25bffffc2628e7d5b06cdb3bf6a43430 Mon Sep 17 00:00:00 2001 From: Mayank Date: Sun, 31 May 2020 11:09:30 +0530 Subject: [PATCH 12/13] Added bitcoin.conf path --- docker-compose.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/docker-compose.yml b/docker-compose.yml index dd91401..b3e7a75 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -34,6 +34,7 @@ services: volumes: - ${HOME}/lnd:/data/.lnd - ${HOME}/lnd:/root/.lnd + - ${HOME}/bitcoin:/root/.bitcoin - /var/lib/tor:/var/lib/tor - /run/tor:/run/tor/ restart: on-failure From 39ca201ee480422912d1f75cda436ef9d1cf6e77 Mon Sep 17 00:00:00 2001 From: BT Date: Sun, 31 May 2020 22:27:59 +0700 Subject: [PATCH 13/13] Add password placeholders for bitcoind RPC --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index b3e7a75..426600d 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -72,8 +72,8 @@ services: PORT: "3005" BITCOIN_HOST: "0.0.0.0" RPC_PORT: "8332" - RPC_USER: "" - RPC_PASSWORD: "" + RPC_USER: "lncm" + RPC_PASSWORD: "RPCPASS" LND_NETWORK: "mainnet" LND_HOST: "127.0.0.1" JWT_PUBLIC_KEY_FILE: "/jwt-public-key/jwt.pem"