-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
0023458
commit dabe845
Showing
19 changed files
with
244 additions
and
20 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
*.s9pk | ||
scripts/*.js | ||
.DS_Store | ||
.vscode/ | ||
docker-images/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
|
||
[submodule "mutiny-web"] | ||
path = mutiny-web | ||
url = https://github.com/MutinyWallet/mutiny-web.git | ||
[submodule "ln-websocket-proxy"] | ||
path = ln-websocket-proxy | ||
url = https://github.com/MutinyWallet/ln-websocket-proxy | ||
[submodule "vss-rs"] | ||
path = vss-rs | ||
url = https://github.com/MutinyWallet/vss-rs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,117 @@ | ||
# Wrapper for Mutiny | ||
|
||
Mutiny Wallet is a lightning wallet that runs in the web. Mutiny is unlike other lightning apps on Start9, it is not a | ||
server that you run on your Embassy. Instead, it is a web app that you can access from any device on your local network. | ||
This means that you can access your wallet from your phone, tablet, or laptop. | ||
|
||
This repository creates the `s9pk` package that is installed to run `Mutiny` on [StartOS](https://github.com/Start9Labs/start-os/). Learn more about service packaging in the [Developer Docs](https://start9.com/latest/developer-docs/). | ||
|
||
## Dependencies | ||
|
||
Install the system dependencies below to build this project by following the instructions in the provided links. You can also find detailed steps to setup your environment in the service packaging [documentation](https://github.com/Start9Labs/service-pipeline#development-environment). | ||
|
||
- [docker](https://docs.docker.com/get-docker) | ||
- [docker-buildx](https://docs.docker.com/buildx/working-with-buildx/) | ||
- [yq](https://mikefarah.gitbook.io/yq) | ||
- [deno](https://deno.land/) | ||
- [make](https://www.gnu.org/software/make/) | ||
- [start-sdk](https://github.com/Start9Labs/start-os/tree/master/backend) | ||
|
||
## Build environment | ||
Prepare your StartOS build environment. In this example we are using Ubuntu 20.04. | ||
1. Install docker | ||
``` | ||
curl -fsSL https://get.docker.com | bash | ||
sudo usermod -aG docker "$USER" | ||
exec sudo su -l $USER | ||
``` | ||
2. Set buildx as the default builder | ||
``` | ||
docker buildx install | ||
docker buildx create --use | ||
``` | ||
3. Enable cross-arch emulated builds in docker | ||
``` | ||
docker run --privileged --rm linuxkit/binfmt:v0.8 | ||
``` | ||
4. Install yq | ||
``` | ||
sudo snap install yq | ||
``` | ||
5. Install deno | ||
``` | ||
sudo snap install deno | ||
``` | ||
6. Install essentials build packages | ||
``` | ||
sudo apt-get install -y build-essential openssl libssl-dev libc6-dev clang libclang-dev ca-certificates | ||
``` | ||
7. Install Rust | ||
``` | ||
curl https://sh.rustup.rs -sSf | sh | ||
# Choose nr 1 (default install) | ||
source $HOME/.cargo/env | ||
``` | ||
8. Build and install start-sdk | ||
``` | ||
cd ~/ && git clone --recursive https://github.com/Start9Labs/start-os.git --branch sdk | ||
cd start-os/backend/ | ||
./install-sdk.sh | ||
start-sdk init | ||
``` | ||
Now you are ready to build the `mutiny` package! | ||
|
||
## Cloning | ||
|
||
Clone the project locally: | ||
|
||
``` | ||
git clone https://github.com/benthecarman/mutiny-startos.git | ||
cd mutiny-startos | ||
git submodule update --init --recursive | ||
``` | ||
|
||
## Building | ||
|
||
To build the `mutiny` package for all platforms using start-sdk, run the following command: | ||
|
||
``` | ||
make | ||
``` | ||
|
||
To build the `mutiny` package for a single platform using start-sdk, run: | ||
|
||
``` | ||
# for amd64 | ||
make x86 | ||
``` | ||
or | ||
``` | ||
# for arm64 | ||
make arm | ||
``` | ||
|
||
## Installing (on StartOS) | ||
|
||
Run the following commands to determine successful install: | ||
> :information_source: Change server-name.local to your Start9 server address | ||
``` | ||
start-cli auth login | ||
# Enter your StartOS password | ||
start-cli --host https://server-name.local package install mutiny.s9pk | ||
``` | ||
|
||
If you already have your `start-cli` config file setup with a default `host`, you can install simply by running: | ||
|
||
``` | ||
make install | ||
``` | ||
|
||
> **Tip:** You can also install the mutiny.s9pk using **Sideload Service** under the **System > Manage** section. | ||
### Verify Install | ||
|
||
Go to your StartOS Services page, select **Mutiny**, configure and start the service. Then, verify its interfaces are accessible. | ||
|
||
**Done!** |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule ln-websocket-proxy
added at
82e669
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Submodule mutiny-web
added at
5e1b97
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
export * from "https://deno.land/x/[email protected]/mod.ts"; | ||
export * from "https://deno.land/x/[email protected]/util.ts"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
export { setConfig } from "./procedures/setConfig.ts"; | ||
export { getConfig } from "./procedures/getConfig.ts"; | ||
export { properties } from "./procedures/properties.ts"; | ||
export { migration } from "./procedures/migrations.ts"; | ||
export { main } from "./procedures/main.ts"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
// To utilize the default config system built, this file is required. It defines the *structure* of the configuration file. These structured options display as changeable UI elements within the "Config" section of the service details page in the StartOS UI. | ||
|
||
import { compat, types as T } from "../deps.ts"; | ||
|
||
export const getConfig: T.ExpectedExports.getConfig = compat.getConfig({}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
import { types as T, util } from "../deps.ts"; | ||
|
||
export const main = async (effects: T.Effects) => { | ||
// args defaulted to [] - not necessary to include if empty | ||
await effects.runDaemon({ command: "docker_entrypoint.sh", args: [] }).wait(); | ||
return util.ok; | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import { compat, types as T } from "../deps.ts"; | ||
|
||
export const migration: T.ExpectedExports.migration = compat.migrations.fromMapping({}, "0.4.21"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
import { compat, types as T } from "../deps.ts"; | ||
|
||
export const properties: T.ExpectedExports.properties = compat.properties; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
// This is where any configuration rules related to the configuration would go. These ensure that the user can only create a valid config. | ||
|
||
import { compat, } from "../deps.ts"; | ||
|
||
export const setConfig = compat.setConfig; |