From d894966e753b6f4b6330cfa867a877a6396cec5b Mon Sep 17 00:00:00 2001
From: Jose Storopoli
Date: Fri, 17 May 2024 15:50:57 -0300
Subject: [PATCH] feat: PairDrop StartOS package (#1)
* wip
* fix: devcontainer
* fix: update icon
* fix: add Dockerfile
* ci: add CIs
* fix: Makefile
* fix: readme
* fix: dockerfile
* fix: Update instructions for PairDrop
* chore: Update description for User Interface in manifest.yaml
* ci: Upload .s9pk artifact
* chore: Remove npm start from Dockerfile and add docker_entrypoint.sh
* chore: Update artifact upload step in buildService.yml
* chore: Update Dockerfile and docker_entrypoint.sh for production deployment
* another try
---
.devcontainer/deno.sh | 23 +++++
.devcontainer/devcontainer.json | 45 ++++++++++
.devcontainer/start9.sh | 13 +++
.devcontainer/yq.sh | 23 +++++
.github/dependabot.yml | 14 +++
.github/workflows/buildService.yml | 36 ++++++++
.github/workflows/releaseService.yml | 71 +++++++++++++++
.gitmodules | 6 +-
Dockerfile | 23 +++--
LICENSE | 2 +-
Makefile | 24 +-----
README.md | 124 ++++++++++++++++-----------
docker_entrypoint.sh | 3 -
hello-world | 1 -
icon.png | Bin 9165 -> 53229 bytes
instructions.md | 6 +-
manifest.yaml | 91 ++++----------------
pairdrop | 1 +
18 files changed, 338 insertions(+), 168 deletions(-)
create mode 100755 .devcontainer/deno.sh
create mode 100644 .devcontainer/devcontainer.json
create mode 100755 .devcontainer/start9.sh
create mode 100755 .devcontainer/yq.sh
create mode 100644 .github/dependabot.yml
create mode 100644 .github/workflows/buildService.yml
create mode 100644 .github/workflows/releaseService.yml
delete mode 100755 docker_entrypoint.sh
delete mode 160000 hello-world
create mode 160000 pairdrop
diff --git a/.devcontainer/deno.sh b/.devcontainer/deno.sh
new file mode 100755
index 0000000..021b66c
--- /dev/null
+++ b/.devcontainer/deno.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# set error
+set -e
+
+# Move to a tempdir
+cd "$(mktemp -d)"
+
+# Hardcoded to deno 1.42.4
+curl -LO https://github.com/denoland/deno/releases/download/v1.42.4/deno-x86_64-unknown-linux-gnu.zip
+
+# Check the checksum
+echo "8f769ded5ec44511ee8410c6389174e79c9d142cb4e47385d7358b552c63bdb9 deno-x86_64-unknown-linux-gnu.zip" | sha256sum -c -
+
+# unzip
+unzip deno-x86_64-unknown-linux-gnu.zip
+sudo mv deno /usr/bin/deno
+
+# remove everything
+rm -rf -- *
+
+# test command
+deno --version
\ No newline at end of file
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000..b3eef22
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,45 @@
+{
+ "name": "Start9 App Builder",
+ "image": "mcr.microsoft.com/devcontainers/base:ubuntu",
+ "features": {
+ "ghcr.io/devcontainers/features/docker-in-docker:2": {},
+ "ghcr.io/devcontainers/features/python:1": {},
+ "ghcr.io/devcontainers-contrib/features/apt-get-packages:1": {
+ "packages": "build-essential,openssl,libssl-dev,libc6-dev,clang,libclang-dev,ca-certificates,curl,cargo"
+ }
+ },
+
+ // Configure tool-specific properties.
+ "customizations": {
+ "vscode": {
+ "extensions": [
+ "ms-azuretools.vscode-docker",
+ "ms-python.python",
+ "mads-hartmann.bash-ide-vscode",
+ "timonwong.shellcheck",
+ "tamasfe.even-better-toml",
+ "github.vscode-github-actions",
+ "GitHub.copilot",
+ "GitHub.copilot-chat",
+ "DavidAnson.vscode-markdownlint",
+ "wayou.vscode-todo-highlight"
+ ]
+ }
+ },
+
+ // Install stuff not packaged in Ubuntu
+ "onCreateCommand": {
+ "yq": "./.devcontainer/yq.sh",
+ "deno": "./.devcontainer/deno.sh"
+ },
+ "postCreateCommand": {
+ "start9": "./.devcontainer/start9.sh"
+ },
+
+ // Add start-sdk to the PATH
+ "containerEnv": {
+ "PATH": "$HOME/.cargo/bin:$PATH"
+ },
+
+ "remoteUser": "vscode"
+}
diff --git a/.devcontainer/start9.sh b/.devcontainer/start9.sh
new file mode 100755
index 0000000..b83fecb
--- /dev/null
+++ b/.devcontainer/start9.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# set error
+set -e
+
+# move to a homedir
+mkdir "$HOME/start9" && cd "$HOME/start9" && pwd
+
+# Start9 SDK
+git clone --recursive https://github.com/Start9Labs/start-os.git --branch sdk
+cd start-os/
+make sdk
+start-sdk init
\ No newline at end of file
diff --git a/.devcontainer/yq.sh b/.devcontainer/yq.sh
new file mode 100755
index 0000000..aa3b949
--- /dev/null
+++ b/.devcontainer/yq.sh
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+# set error
+set -e
+
+# Move to a tempdir
+cd "$(mktemp -d)"
+
+# Hardcoded to yq 4.43.1
+curl -LO https://github.com/mikefarah/yq/releases/download/v4.43.1/yq_linux_amd64.tar.gz
+
+# Check the checksum
+echo "049d1f3791cc25160a71b0bbe14a58302fb6a7e4462e07d5cbd543787a9ad815 yq_linux_amd64.tar.gz" | sha256sum -c -
+
+# untar
+tar -xzf yq_linux_amd64.tar.gz
+sudo mv yq_linux_amd64 /usr/bin/yq
+
+# remove everything
+rm -rf -- *
+
+# test command
+yq --version
\ No newline at end of file
diff --git a/.github/dependabot.yml b/.github/dependabot.yml
new file mode 100644
index 0000000..9b12165
--- /dev/null
+++ b/.github/dependabot.yml
@@ -0,0 +1,14 @@
+version: 2
+updates:
+ - package-ecosystem: "github-actions"
+ directory: "/"
+ schedule:
+ interval: monthly
+ - package-ecosystem: "gitsubmodule"
+ directory: "/"
+ schedule:
+ interval: monthly
+ - package-ecosystem: "devcontainers"
+ directory: "/"
+ schedule:
+ interval: monthly
\ No newline at end of file
diff --git a/.github/workflows/buildService.yml b/.github/workflows/buildService.yml
new file mode 100644
index 0000000..141163f
--- /dev/null
+++ b/.github/workflows/buildService.yml
@@ -0,0 +1,36 @@
+name: Build Service
+
+on:
+ workflow_dispatch:
+ pull_request:
+ paths-ignore: ["*.md"]
+ branches: ["main", "master"]
+ push:
+ paths-ignore: ["*.md"]
+ branches: ["main", "master"]
+
+jobs:
+ BuildPackage:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Prepare StartOS SDK
+ uses: Start9Labs/sdk@v1
+
+ - name: Checkout services repository
+ uses: actions/checkout@v4
+
+ - 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
diff --git a/.github/workflows/releaseService.yml b/.github/workflows/releaseService.yml
new file mode 100644
index 0000000..125d8c2
--- /dev/null
+++ b/.github/workflows/releaseService.yml
@@ -0,0 +1,71 @@
+name: Release Service
+
+on:
+ push:
+ tags:
+ - 'v*.*'
+
+jobs:
+ ReleasePackage:
+ runs-on: ubuntu-latest
+ 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
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
index 56fa461..e300f23 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
-[submodule "hello-world"]
- path = hello-world
- url = https://github.com/Start9Labs/hello-world
+[submodule "pairdrop"]
+ path = pairdrop
+ url = https://github.com/schlagmichdoch/pairdrop
diff --git a/Dockerfile b/Dockerfile
index f6fe710..3644045 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,11 +1,16 @@
-FROM alpine:3.17
+FROM node:lts-alpine
-RUN apk update
-RUN apk add --no-cache tini && \
- rm -f /var/cache/apk/*
+WORKDIR /home/node/app
-ARG ARCH
-ADD ./hello-world/target/${ARCH}-unknown-linux-musl/release/hello-world /usr/local/bin/hello-world
-RUN chmod +x /usr/local/bin/hello-world
-ADD ./docker_entrypoint.sh /usr/local/bin/docker_entrypoint.sh
-RUN chmod a+x /usr/local/bin/docker_entrypoint.sh
+COPY ./pairdrop/package*.json ./
+
+RUN npm ci
+
+COPY ./pairdrop .
+
+# environment settings
+ENV NODE_ENV="production"
+
+EXPOSE 3000
+
+ENTRYPOINT ["npm", "start"]
diff --git a/LICENSE b/LICENSE
index 793257b..9209783 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,6 +1,6 @@
MIT License
-Copyright (c) 2022 Start9 Labs
+Copyright (c) 2024 Casa21
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Makefile b/Makefile
index dd1dde5..b3d1020 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,6 @@
PKG_ID := $(shell yq e ".id" manifest.yaml)
PKG_VERSION := $(shell yq e ".version" manifest.yaml)
TS_FILES := $(shell find ./ -name \*.ts)
-HELLO_WORLD_SRC := $(shell find ./hello-world/src) hello-world/Cargo.toml hello-world/Cargo.lock
# delete the target of a rule if it has changed and its recipe exits with a nonzero exit status
.DELETE_ON_ERROR:
@@ -29,36 +28,27 @@ clean-manifest:
@sed -i '' '/^[[:blank:]]*#/d' manifest.yaml
@echo; echo "Comments successfully removed from manifest.yaml file."; echo
-# BEGIN REBRANDING
-rebranding:
- @read -p "Enter new package ID name (must be a single word): " NEW_PKG_ID; \
- read -p "Enter new package title: " NEW_PKG_TITLE; \
- find . \( -name "*.md" -o -name ".gitignore" -o -name "manifest.yaml" -o -name "*Service.yml" \) -type f -not -path "./hello-world/*" -exec sed -i '' -e "s/hello-world/$$NEW_PKG_ID/g; s/Hello World/$$NEW_PKG_TITLE/g" {} +; \
- echo; echo "Rebranding complete."; echo " New package ID name is: $$NEW_PKG_ID"; \
- echo " New package title is: $$NEW_PKG_TITLE"; \
- sed -i '' -e '/^# BEGIN REBRANDING/,/^# END REBRANDING/ s/^#*/#/' Makefile
- @echo; echo "Note: Rebranding code has been commented out in Makefile"; echo
-# END REBRANDING
-
scripts/embassy.js: $(TS_FILES)
deno bundle scripts/embassy.ts scripts/embassy.js
arm:
+ # this is not a typo, when building arm, remove the x86_64 image so it doesn't get packed by start-sdk
@rm -f docker-images/x86_64.tar
ARCH=aarch64 $(MAKE)
x86:
+ # this is not a typo, when building x86, remove the aarch64 image so it doesn't get packed by start-sdk
@rm -f docker-images/aarch64.tar
ARCH=x86_64 $(MAKE)
-docker-images/aarch64.tar: Dockerfile docker_entrypoint.sh hello-world/target/aarch64-unknown-linux-musl/release/hello-world
+docker-images/aarch64.tar: Dockerfile
ifeq ($(ARCH),x86_64)
else
mkdir -p docker-images
docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --build-arg ARCH=aarch64 --platform=linux/arm64 -o type=docker,dest=docker-images/aarch64.tar .
endif
-docker-images/x86_64.tar: Dockerfile docker_entrypoint.sh hello-world/target/x86_64-unknown-linux-musl/release/hello-world
+docker-images/x86_64.tar: Dockerfile
ifeq ($(ARCH),aarch64)
else
mkdir -p docker-images
@@ -74,9 +64,3 @@ else
@echo "start-sdk: Preparing Universal Package ..."
endif
@start-sdk pack
-
-hello-world/target/aarch64-unknown-linux-musl/release/hello-world: $(HELLO_WORLD_SRC)
- docker run --rm -it -v ~/.cargo/registry:/root/.cargo/registry -v "$(shell pwd)"/hello-world:/home/rust/src messense/rust-musl-cross:aarch64-musl cargo build --release
-
-hello-world/target/x86_64-unknown-linux-musl/release/hello-world: $(HELLO_WORLD_SRC)
- docker run --rm -it -v ~/.cargo/registry:/root/.cargo/registry -v "$(shell pwd)"/hello-world:/home/rust/src messense/rust-musl-cross:x86_64-musl cargo build --release
diff --git a/README.md b/README.md
index 3c43e26..8345668 100644
--- a/README.md
+++ b/README.md
@@ -2,9 +2,10 @@
-# Hello World for StartOS
+# PairDrop for StartOS
-Hello World is a simple, minimal project that serves as a template for creating a service that runs on StartOS. This repository creates the `s9pk` package that is installed to run `hello-world` on [StartOS](https://github.com/Start9Labs/start-os/). Learn more about service packaging in the [Developer Docs](https://start9.com/latest/developer-docs/).
+PairDrop: Local file sharing in your browser. Inspired by Apple's AirDrop. Fork of Snapdrop.
+This repository creates the `s9pk` package that is installed to run `pairdrop` on [StartOS](https://github.com/Start9Labs/start-os/).
## Dependencies
@@ -18,75 +19,95 @@ Install the system dependencies below to build this project by following the ins
- [start-sdk](https://github.com/Start9Labs/start-os/tree/sdk/)
## 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
-```
+
+ ```bash
+ 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
-```
+
+ ```bash
+ docker buildx install
+ docker buildx create --use
+ ```
+
3. Enable cross-arch emulated builds in docker
-```
-docker run --privileged --rm linuxkit/binfmt:v0.8
-```
+
+ ```bash
+ docker run --privileged --rm linuxkit/binfmt:v0.8
+ ```
+
4. Install yq
-```
-sudo snap install yq
-```
+
+ ```bash
+ sudo snap install yq
+ ```
+
5. Install deno
-```
-sudo snap install deno
-```
+
+ ```bash
+ 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
-```
+
+ ```bash
+ 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
-```
+
+ ```bash
+ 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/
-make sdk
-start-sdk init
-```
-Now you are ready to build the `hello-world` package!
+
+ ```bash
+ cd ~/ && git clone --recursive https://github.com/Start9Labs/start-os.git --branch sdk
+ cd start-os/
+ make sdk
+ start-sdk init
+ ```
+
+Now you are ready to build the `pairdrop` package!
## Cloning
Clone the project locally:
-```
-git clone https://github.com/Start9Labs/hello-world-startos.git
-cd hello-world-startos
-git submodule update --init --recursive
-```
+ ```bash
+ git clone https://github.com/CasaVinteUM/pairdrop-startos.git
+ cd pairdrop-startos
+ git submodule update --init --recursive
+ ```
## Building
-To build the `hello-world` package for all platforms using start-sdk, run the following command:
+To build the `pairdrop` package for all platforms using start-sdk, run the following command:
-```
+```bash
make
```
-To build the `hello-world` package for a single platform using start-sdk, run:
+To build the `pairdrop` package for a single platform using start-sdk, run:
-```
+```bash
# for amd64
make x86
```
+
or
-```
+
+```bash
# for arm64
make arm
```
@@ -94,24 +115,25 @@ make arm
## Installing (on StartOS)
Run the following commands to determine successful install:
+
> :information_source: Change server-name.local to your Start9 server address
-```
+```bash
start-cli auth login
# Enter your StartOS password
-start-cli --host https://server-name.local package install hello-world.s9pk
+start-cli --host https://server-name.local package install pairdrop.s9pk
```
If you already have your `start-cli` config file setup with a default `host`, you can install simply by running:
-```
+```bash
make install
```
-> **Tip:** You can also install the hello-world.s9pk using **Sideload Service** under the **System > Manage** section.
+> **Tip:** You can also install the `pairdrop.s9pk` using **Sideload Service** under the **System > Manage** section.
### Verify Install
-Go to your StartOS Services page, select **Hello World**, configure and start the service. Then, verify its interfaces are accessible.
+Go to your StartOS Services page, select **Pairdrop**, configure and start the service. Then, verify its interfaces are accessible.
-**Done!**
+**Done!**
diff --git a/docker_entrypoint.sh b/docker_entrypoint.sh
deleted file mode 100755
index aab61f3..0000000
--- a/docker_entrypoint.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-exec tini hello-world
diff --git a/hello-world b/hello-world
deleted file mode 160000
index 48ce8a5..0000000
--- a/hello-world
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit 48ce8a519b14eb6c32d770af66656e04a7866228
diff --git a/icon.png b/icon.png
index 15d4ec44efe8bbc7795932b3dae4cf8e1fe053d5..38f25543340b92e84426fe2714705fcfba4d8a08 100644
GIT binary patch
literal 53229
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