Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
58d3c1b
update upstream to 1.1.0
Dominion5254 May 13, 2025
46b5c9e
feature complete for 040
Dominion5254 Aug 20, 2025
ba11160
remove debug logging
Dominion5254 Aug 20, 2025
fef0267
remove unused imports
Dominion5254 Aug 20, 2025
1552eec
add pre-release tag
Dominion5254 Aug 20, 2025
4531273
First pass LNbits docs integration (#52)
stupleb Aug 26, 2025
4a825af
add username to resetPassword ActionResult
Dominion5254 Sep 3, 2025
0d6d597
beta.41 and npm update
Dominion5254 Sep 24, 2025
dfd71fe
fix upstream repo link
Dominion5254 Sep 24, 2025
fed37a0
bump deps to latest
Dominion5254 Sep 24, 2025
c501c46
latest CI workflows
Dominion5254 Sep 24, 2025
ee820bd
latest makefile
Dominion5254 Sep 24, 2025
f099a17
bump pre-release tag
Dominion5254 Sep 24, 2025
6748ab9
add ABOUT.md to assets dir
Dominion5254 Sep 24, 2025
6f9c2a9
use latest lnd s9pk in manifest
Dominion5254 Sep 25, 2025
3c7a657
1.3.1
Dominion5254 Oct 31, 2025
3053c52
remove Old directory
Dominion5254 Oct 31, 2025
c955ced
backwards compatible multihost id
Dominion5254 Oct 31, 2025
8311c43
beta.42
Dominion5254 Nov 4, 2025
6065d01
bump pre-release tag
Dominion5254 Nov 4, 2025
602bfd3
bump manifest deps
Dominion5254 Nov 4, 2025
8fd8f16
beta.44
Dominion5254 Nov 20, 2025
006932f
latest CI
Dominion5254 Nov 20, 2025
3a24048
latest makefile
Dominion5254 Nov 20, 2025
6828d01
bump pre-release
Dominion5254 Nov 20, 2025
7110e60
use latest dep s9pks
Dominion5254 Dec 1, 2025
6ef9343
this isn't hello-world
Dominion5254 Dec 1, 2025
acc31bd
uv instead of poetry
Dominion5254 Dec 1, 2025
72e7d59
bump pre-release
Dominion5254 Dec 1, 2025
c40edee
fix broken CLN dependency and dont show dep until selected
MattDHill Dec 2, 2025
159ad1c
bump pre-release
Dominion5254 Dec 2, 2025
eee46f4
beta.45 and npm update
Dominion5254 Dec 18, 2025
e7faaf2
update dep s9pk links
Dominion5254 Dec 18, 2025
051c216
version cleanup
Dominion5254 Dec 18, 2025
30e296a
wrong pre-release sir
Dominion5254 Dec 18, 2025
729c578
Latest CI and Makefile
Dominion5254 Dec 18, 2025
fc6310e
actually 1.3.1 upstream
Dominion5254 Dec 18, 2025
01d3fd8
workflows and shore up migration
MattDHill Dec 22, 2025
c11eeca
better migratio
MattDHill Dec 22, 2025
dfa9e86
Update upstream to 1.4.0
Dominion5254 Dec 26, 2025
4eafa5b
bump deps
Dominion5254 Dec 26, 2025
af857e9
Update/1.4.2 (#57)
Dominion5254 Feb 5, 2026
a41b931
README and more
Dominion5254 Feb 8, 2026
3c472df
chore(lnbits): upgrade SDK from beta.48 to beta.55
dr-bonez Mar 4, 2026
4564636
some fixes
MattDHill Mar 4, 2026
13761b7
Update start-sdk to beta.57
MattDHill Mar 6, 2026
e3aa204
Update start-sdk to beta.58
MattDHill Mar 6, 2026
eb5dfd4
Fix packaging guide URL in CONTRIBUTING.md
MattDHill Mar 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 0 additions & 114 deletions .env.example

This file was deleted.

37 changes: 11 additions & 26 deletions .github/workflows/buildService.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,33 +4,18 @@ on:
workflow_dispatch:
pull_request:
paths-ignore: ['*.md']
branches: ['main', 'master']
branches: ['main', 'master', 'update/040']
push:
paths-ignore: ['*.md']
branches: ['main', 'master']
branches: ['main', 'master', 'update/040']

jobs:
BuildPackage:
runs-on: ubuntu-latest
steps:
- name: Prepare StartOS SDK
uses: Start9Labs/sdk@v1

- name: Checkout services repository
uses: actions/checkout@v4
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
cancel-in-progress: true

- name: Build the service package
id: build
run: |
git submodule update --init --recursive
start-sdk init
make
PACKAGE_ID=$(yq -oy ".id" manifest.*)
echo "package_id=$PACKAGE_ID" >> $GITHUB_ENV
shell: bash

- name: Upload .s9pk
uses: actions/upload-artifact@v4
with:
name: ${{ env.package_id }}.s9pk
path: ./${{ env.package_id }}.s9pk
jobs:
build:
if: github.event.pull_request.draft == false
uses: start9labs/shared-workflows/.github/workflows/buildService.yml@master
secrets:
DEV_KEY: ${{ secrets.DEV_KEY }}
70 changes: 9 additions & 61 deletions .github/workflows/releaseService.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,66 +6,14 @@ on:
- 'v*.*'

jobs:
ReleasePackage:
runs-on: ubuntu-latest
release:
uses: start9labs/shared-workflows/.github/workflows/releaseService.yml@master
with:
REGISTRY: ${{ vars.REGISTRY }}
S3_S9PKS_BASE_URL: ${{ vars.S3_S9PKS_BASE_URL }}
secrets:
DEV_KEY: ${{ secrets.DEV_KEY }}
S3_ACCESS_KEY: ${{ secrets.S3_ACCESS_KEY }}
S3_SECRET_KEY: ${{ secrets.S3_SECRET_KEY }}
permissions:
contents: write
steps:
- name: Prepare StartOS SDK
uses: Start9Labs/sdk@v1

- name: Checkout services repository
uses: actions/checkout@v4

- name: Build the service package
run: |
git submodule update --init --recursive
start-sdk init
make

- name: Setting package ID and title from the manifest
id: package
run: |
echo "package_id=$(yq -oy ".id" manifest.*)" >> $GITHUB_ENV
echo "package_title=$(yq -oy ".title" manifest.*)" >> $GITHUB_ENV
shell: bash

- name: Generate sha256 checksum
run: |
PACKAGE_ID=${{ env.package_id }}
sha256sum ${PACKAGE_ID}.s9pk > ${PACKAGE_ID}.s9pk.sha256
shell: bash

- name: Generate changelog
run: |
PACKAGE_ID=${{ env.package_id }}
echo "## What's Changed" > change-log.txt
yq -oy '.release-notes' manifest.* >> change-log.txt
echo "## SHA256 Hash" >> change-log.txt
echo '```' >> change-log.txt
sha256sum ${PACKAGE_ID}.s9pk >> change-log.txt
echo '```' >> change-log.txt
shell: bash

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ github.ref_name }}
name: ${{ env.package_title }} ${{ github.ref_name }}
prerelease: true
body_path: change-log.txt
files: |
./${{ env.package_id }}.s9pk
./${{ env.package_id }}.s9pk.sha256

- name: Publish to Registry
env:
S9USER: ${{ secrets.S9USER }}
S9PASS: ${{ secrets.S9PASS }}
S9REGISTRY: ${{ secrets.S9REGISTRY }}
run: |
if [[ -z "$S9USER" || -z "$S9PASS" || -z "$S9REGISTRY" ]]; then
echo "Publish skipped: missing registry credentials."
else
start-sdk publish https://$S9USER:$S9PASS@$S9REGISTRY ${{ env.package_id }}.s9pk
fi
7 changes: 5 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
*.s9pk
scripts/*.js
startos/*.js
node_modules/
.DS_Store
.vscode/
docker-images/
docker-images
javascript
ncc-cache
15 changes: 15 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Contributing

## Building and Development

See the [StartOS Packaging Guide](https://docs.start9.com/packaging/) for complete environment setup and build instructions.

### Quick Start

```bash
# Install dependencies
npm ci

# Build universal package
make
```
14 changes: 2 additions & 12 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
FROM lnbits/lnbits:v1.0.0 AS builder
FROM lnbits/lnbits:v1.5.0 AS builder

# arm64 or amd64
ARG PLATFORM

RUN apt-get update && apt-get install -y bash curl sqlite3 tini --no-install-recommends
RUN curl -sS https://webi.sh/yq | sh

FROM lnbits/lnbits:v1.0.0 AS final
FROM lnbits/lnbits:v1.4.2 AS final

COPY --from=builder /usr/bin/tini /usr/bin/tini
COPY --from=builder /usr/bin/sqlite3 /usr/bin/sqlite3
Expand All @@ -20,14 +20,4 @@ RUN apt-get update && \

RUN pip3 install bcrypt

ENV LNBITS_PORT=5000
ENV LNBITS_HOST=lnbits.embassy

WORKDIR /app/
RUN mkdir -p ./data
ADD .env.example ./.env
ADD actions/*.sh /usr/local/bin/
RUN chmod a+x ./.env
ADD docker_entrypoint.sh /usr/local/bin/docker_entrypoint.sh
ADD check-web.sh /usr/local/bin/check-web.sh
RUN chmod a+x /usr/local/bin/*.sh
73 changes: 3 additions & 70 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,70 +1,3 @@
PKG_ID := $(shell yq e ".id" manifest.yaml)
PKG_VERSION := $(shell yq e ".version" manifest.yaml)
TS_FILES := $(shell find ./ -name \*.ts)

# delete the target of a rule if it has changed and its recipe exits with a nonzero exit status
.DELETE_ON_ERROR:

all: submodule-update verify

verify: $(PKG_ID).s9pk
@start-sdk verify s9pk $(PKG_ID).s9pk
@echo " Done!"
@echo " Filesize: $(shell du -h $(PKG_ID).s9pk) is ready"

install:
ifeq (,$(wildcard ~/.embassy/config.yaml))
@echo; echo "You must define \"host: http://server-name.local\" in ~/.embassy/config.yaml config file first"; echo
else
start-cli package install $(PKG_ID).s9pk
endif

clean:
rm -rf docker-images
rm -f $(PKG_ID).s9pk
rm -f scripts/*.js

submodule-update:
@if [ -z "$(shell git submodule status | egrep -v '^ '|awk '{print $$2}')" ]; then \
echo "Submodules are up to date."; \
else \
echo "\nUpdating submodules...\n"; \
git submodule update --init --progress; \
fi

scripts/embassy.js: $(TS_FILES)
deno run --allow-read --allow-write --allow-env --allow-net scripts/bundle.ts

# for rebuilding just the arm image. will include docker-images/x86_64.tar into the s9pk if it exists
arm:
@rm -f docker-images/x86_64.tar
ARCH=aarch64 $(MAKE)

# for rebuilding just the x86 image. will include docker-images/aarch64.tar into the s9pk if it exists
x86:
@rm -f docker-images/aarch64.tar
ARCH=x86_64 $(MAKE)

docker-images/x86_64.tar: Dockerfile docker_entrypoint.sh
ifeq ($(ARCH),aarch64)
else
mkdir -p docker-images
docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --platform=linux/amd64 --build-arg PLATFORM=amd64 -o type=docker,dest=docker-images/x86_64.tar .
endif

docker-images/aarch64.tar: Dockerfile docker_entrypoint.sh
ifeq ($(ARCH),x86_64)
else
mkdir -p docker-images
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 .
endif

$(PKG_ID).s9pk: manifest.yaml instructions.md LICENSE icon.png scripts/embassy.js docker-images/aarch64.tar docker-images/x86_64.tar
ifeq ($(ARCH),aarch64)
@echo "start-sdk: Preparing aarch64 package ..."
else ifeq ($(ARCH),x86_64)
@echo "start-sdk: Preparing x86_64 package ..."
else
@echo "start-sdk: Preparing Universal Package ..."
endif
@start-sdk pack
ARCHES := x86 arm
# overrides to s9pk.mk must precede the include statement
include s9pk.mk
Loading