You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

122 lines
5.8 KiB

5 years ago
[![Umbrel Compose](https://static.getumbrel.com/github/github-banner-umbrel-compose.svg)](https://github.com/getumbrel/umbrel-compose)
5 years ago
5 years ago
[![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)
5 years ago
5 years ago
[![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)
5 years ago
5 years ago
# ☂️ compose
5 years ago
Compose is a framework for orchestration of all containerized services running on [Umbrel OS](https://github.com/getumbrel/umbrel-os).
5 years ago
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.
5 years ago
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.
5 years ago
5 years ago
## 🚀 Getting started
5 years ago
5 years ago
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.
5 years ago
5 years ago
## 🎹 Services orchestrated by Compose
5 years ago
5 years ago
- [`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)
5 years ago
**Architecture**
```
+ -------------------- +
| umbrel-dashboard |
+ -------------------- +
|
|
+ ------------- +
| nginx |
+ ------------- +
|
|
+ - - - - - - - - - - - + - - - - - - - - - - - +
| |
| |
+ ------------------ + + --------------------- +
| umbrel-manager | < - - - jwt auth - - - | umbrel-middleware |
+ ------------------ + + --------------------- +
|
|
+ - - - - - - - - + - - - - - - - - +
| |
| |
+ ------------- + + ------------- +
| bitcoind | < - - - - - - - - | lnd |
+ ------------- + + ------------- +
```
5 years ago
## 🛠 Using Compose
5 years ago
### Requirements
5 years ago
- [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
# This will not overwrite any other files but you should segment this in its
# own account
5 years ago
curl "https://raw.githubusercontent.com/getumbrel/umbrel-compose/master/install-box.sh" | sh
5 years ago
# OR wget (if this works better)
5 years ago
wget -qO- "https://raw.githubusercontent.com/getumbrel/umbrel-compose/master/install-box.sh" | sh
```
5 years ago
### Step 2. Configure
```bash
5 years ago
# If you want to use testnet, otherwise it will use mainnet by default and be #reckless
export TESTNET=true
5 years ago
# (testnet mode not fully supported)
# Run this in the $HOME directory
./configure-box.sh
```
5 years ago
### Step 3. Run the services
```bash
5 years ago
docker-compose up -d
# Verify the services
docker ps -a
```
5 years ago
---
### ⚡️ 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.
5 years ago
5 years ago
---
5 years ago
5 years ago
[![License](https://img.shields.io/github/license/getumbrel/umbrel-compose?color=%235351FB)](https://github.com/getumbrel/umbrel-compose/blob/master/LICENSE)
5 years ago
[getumbrel.com](https://getumbrel.com)