mirror of
https://github.com/RoboSats/robosats-startos.git
synced 2026-01-13 21:38:15 +00:00
Compare commits
10 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| fc34714068 | |||
| 792eb41501 | |||
| e0c5ca2546 | |||
| f5769c6f17 | |||
| bf4f47850d | |||
| 4d1e7d76e8 | |||
| dd9d49b3b1 | |||
| 889aba3519 | |||
| 442d82accd | |||
| ccf000b094 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -3,4 +3,4 @@ image.tar
|
||||
scripts/*.js
|
||||
.DS_Store
|
||||
.vscode/
|
||||
docker-images/
|
||||
docker-images/
|
||||
|
||||
@ -1,7 +1,6 @@
|
||||
FROM recksato/robosats-client:v0.3.2-alpha
|
||||
RUN apt-get update && apt-get install wget curl sudo bash tini -y
|
||||
RUN wget https://github.com/mikefarah/yq/releases/download/v4.6.3/yq_linux_amd64.tar.gz -O - |\
|
||||
tar xz && mv yq_linux_amd64 /usr/bin/yq
|
||||
FROM recksato/robosats-client:v0.5.2-alpha
|
||||
RUN apk add bash curl sudo tini wget yq; \
|
||||
rm -f /var/cache/apk/*
|
||||
|
||||
ENV APP_HOST robosats.embassy
|
||||
ENV APP_PORT 12596
|
||||
|
||||
3
Makefile
3
Makefile
@ -31,5 +31,4 @@ docker-images/aarch64.tar: Dockerfile docker_entrypoint.sh
|
||||
docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --platform=linux/arm64 --build-arg PLATFORM=arm64 -o type=docker,dest=docker-images/aarch64.tar .
|
||||
|
||||
$(PKG_ID).s9pk: manifest.yaml instructions.md LICENSE icon.png scripts/embassy.js docker-images/aarch64.tar docker-images/x86_64.tar
|
||||
if ! [ -z "$(ARCH)" ]; then cp docker-images/$(ARCH).tar image.tar; fi
|
||||
embassy-sdk pack
|
||||
embassy-sdk pack
|
||||
|
||||
31
README.md
31
README.md
@ -1,18 +1,16 @@
|
||||
# Wrapper for RoboSats
|
||||
|
||||
RoboSats is a simple and private bitcoin exchange
|
||||
|
||||
## Dependencies
|
||||
|
||||
- [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/)
|
||||
- [embassy-sdk](https://github.com/Start9Labs/embassy-os/tree/master/backend)
|
||||
- [embassy-sdk](https://github.com/Start9Labs/start-os/tree/master/backend)
|
||||
|
||||
## Build enviroment
|
||||
Prepare your EmbassyOS build enviroment. In this example we are using Ubuntu 20.04.
|
||||
Prepare your StartOS build enviroment. In this example we are using Ubuntu 20.04.
|
||||
|
||||
1. Install docker
|
||||
```
|
||||
@ -31,11 +29,12 @@ docker run --privileged --rm linuxkit/binfmt:v0.8
|
||||
```
|
||||
4. Install yq
|
||||
```
|
||||
sudo snap install yq
|
||||
wget https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY}.tar.gz -O - |\
|
||||
tar xz && mv ${BINARY} /usr/bin/yq
|
||||
```
|
||||
5. Install deno
|
||||
```
|
||||
sudo snap install deno
|
||||
cargo install deno
|
||||
```
|
||||
6. Install essentials build packages
|
||||
```
|
||||
@ -49,15 +48,14 @@ source $HOME/.cargo/env
|
||||
```
|
||||
8. Build and install embassy-sdk
|
||||
```
|
||||
cd ~/ && git clone --recursive https://github.com/Start9Labs/embassy-os.git
|
||||
cd embassy-os/backend/
|
||||
cd ~/ && git clone --recursive https://github.com/Start9Labs/start-os.git
|
||||
cd start-os/backend/
|
||||
./install-sdk.sh
|
||||
embassy-sdk init
|
||||
```
|
||||
Now you are ready to build your **robosats** service
|
||||
|
||||
## Cloning
|
||||
|
||||
Clone the project locally.
|
||||
|
||||
```
|
||||
@ -66,26 +64,23 @@ cd robosats-wrapper
|
||||
```
|
||||
|
||||
## Building
|
||||
|
||||
To build the service, run the following command:
|
||||
|
||||
```
|
||||
make
|
||||
```
|
||||
|
||||
## Installing (on Embassy)
|
||||
|
||||
## Installing (on Start9 servers)
|
||||
Run the following commands to determine successful install:
|
||||
> :information_source: Change embassy-q1w2e3r4.local to your Embassy address
|
||||
> :information_source: Change <SERVER-NAME>.local to your Start9 server address
|
||||
|
||||
```
|
||||
embassy-cli auth login
|
||||
#Enter your embassy password
|
||||
embassy-cli --host https://embassy-q1w2e3r4.local package install robosats.s9pk
|
||||
#Enter your Start9 server master password
|
||||
embassy-cli --host https://<SERVER-NAME>.local package install robosats.s9pk
|
||||
```
|
||||
**Tip:** You can also install the robosats.s9pk using **Sideload Service** under the **Embassy > SETTINGS** section.
|
||||
**Tip:** You can also install the robosats.s9pk using **Sideload Service** under the **System > Settings** section.
|
||||
## Verify Install
|
||||
|
||||
Go to your Embassy Services page, select RoboSats, configure and start the service.
|
||||
Go to your Start9 server's Services page, select RoboSats, configure and start the service.
|
||||
|
||||
**Done!**
|
||||
|
||||
@ -1,28 +1,17 @@
|
||||
# Example written in yaml (toml and json are also acceptable)
|
||||
|
||||
# The package identifier used by the OS. This must be unique amongst all other known packages
|
||||
id: robosats
|
||||
# A human readable service title
|
||||
title: "RoboSats"
|
||||
# Service version - accepts up to four digits, where the last confirms to revisions necessary for EmbassyOS - see documentation: https://github.com/Start9Labs/emver-rs. This value will change with each release of the service.
|
||||
version: 0.3.2
|
||||
# Release notes for the update - can be a string, paragraph or URL
|
||||
version: 0.5.2
|
||||
release-notes: |
|
||||
* Updated to run on x86_64 architecture
|
||||
* Fix backup restore
|
||||
# The type of license for the project. Include the LICENSE in the root of the project directory. A license is required for a Start9 package.
|
||||
* Updated to v0.5.2-alpha [Release Notes](https://github.com/Reckless-Satoshi/robosats/releases/tag/v0.5.2-alpha)
|
||||
license: mit
|
||||
# The Start9 wrapper repository URL for the package. This repo contains the manifest file (this), any scripts necessary for configuration, backups, actions, or health checks (more below). This key must exist. But could be embedded into the source repository.
|
||||
wrapper-repo: "https://github.com/Start9Labs/robosats-wrapper"
|
||||
# The original project repository URL. There is no upstream repo in this example
|
||||
wrapper-repo: "https://github.com/kn0wmad/robosats-wrapper"
|
||||
upstream-repo: "https://github.com/Reckless-Satoshi/robosats"
|
||||
# URL to the support site / channel for the project. This key can be omitted if none exists, or it can link to the original project repository issues.
|
||||
support-site: "https://github.com/Reckless-Satoshi/robosats/issues"
|
||||
# URL to the marketing site for the project. This key can be omitted if none exists, or it can link to the original project repository.
|
||||
marketing-site: "https://learn.robosats.com/"
|
||||
donation-url: "https://learn.robosats.com/contribute/donate/"
|
||||
# The series of commands to build the project into an s9pk for arm64/v8. In this case we are using a Makefile with the simple build command "make".
|
||||
build: ["make"]
|
||||
# Human readable descriptors for the service. These are used throughout the EmbassyOS user interface, primarily in the marketplace.
|
||||
# Human readable descriptors for the service. These are used throughout the StartOS user interface, primarily in the marketplace.
|
||||
description:
|
||||
# This is the first description visible to the user in the marketplace.
|
||||
short: A simple and private bitcoin exchange
|
||||
@ -56,8 +45,8 @@ config:
|
||||
type: script
|
||||
set:
|
||||
type: script
|
||||
properties:
|
||||
type: script
|
||||
# properties:
|
||||
# type: script
|
||||
# This denotes any data, asset, or pointer volumes that should be connected when the "docker run" command is invoked
|
||||
volumes:
|
||||
# This is the image where files from the project asset directory will go
|
||||
|
||||
8
prepare.sh
Executable file
8
prepare.sh
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/bash
|
||||
|
||||
# install yq
|
||||
wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O /usr/bin/yq &&\
|
||||
chmod +x /usr/bin/yq
|
||||
|
||||
# install deno
|
||||
cargo install deno
|
||||
@ -1 +1 @@
|
||||
export * from "https://deno.land/x/embassyd_sdk@v0.3.3.0.2/mod.ts";
|
||||
export * from "https://deno.land/x/embassyd_sdk@v0.3.3.0.9/mod.ts";
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
export { setConfig } from "./procedures/setConfig.ts";
|
||||
export { getConfig } from "./procedures/getConfig.ts";
|
||||
export { properties } from "./procedures/properties.ts";
|
||||
// export { properties } from "./procedures/properties.ts";
|
||||
export { migration } from "./procedures/migrations.ts";
|
||||
export { health } from "./procedures/healthChecks.ts";
|
||||
// export { main } from "./procedures/main.ts";
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
// 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 Embassy UI.
|
||||
// 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";
|
||||
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
import { types as T, healthUtil } from "../deps.ts";
|
||||
|
||||
export const health: T.ExpectedExports.health = {
|
||||
"web-ui": healthUtil.checkWebUrl("http://robosats.embassy:12596")
|
||||
}
|
||||
"web-ui": healthUtil.checkWebUrl("http://robosats.embassy:12596/selfhosted")
|
||||
}
|
||||
|
||||
@ -1,11 +0,0 @@
|
||||
// import { types as T, util } from "../deps.ts";
|
||||
|
||||
// export const main: T.ExpectedExports.main = async (effects) => {
|
||||
// await effects.runDaemon(
|
||||
// {
|
||||
// command: "docker_entrypoint.sh",
|
||||
// args: [],
|
||||
// },
|
||||
// ).wait();
|
||||
// return util.ok;
|
||||
// };
|
||||
@ -1,4 +1,4 @@
|
||||
import { compat, types as T } from "../deps.ts";
|
||||
|
||||
export const migration: T.ExpectedExports.migration = compat.migrations
|
||||
.fromMapping({}, "0.3.2" );
|
||||
.fromMapping({}, "0.5.2" );
|
||||
|
||||
@ -1,3 +0,0 @@
|
||||
import { compat, types as T } from "../deps.ts";
|
||||
|
||||
export const properties: T.ExpectedExports.properties = compat.properties;
|
||||
Reference in New Issue
Block a user