Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
107 commits
Select commit Hold shift + click to select a range
cdb7714
base setup for SDK conversion
elvece May 1, 2023
45d2381
setup new properties
elvece May 1, 2023
fce7a2e
implement config save
elvece May 1, 2023
1f921be
update imports and finalize main
elvece May 4, 2023
a4686d6
convert manifest
elvece May 6, 2023
26a2f8e
remove properties
elvece May 6, 2023
f3e88eb
refactor config save, finish main, add dependency configurations
elvece May 6, 2023
1c849fe
fix logic and cleanup
elvece May 6, 2023
368cf43
update to latest, redesign config
MattDHill May 19, 2023
f9590f7
cleanup deprecated files
elvece May 22, 2023
d773477
update migrations
elvece May 22, 2023
5f5713b
update to version 0.2.0, including new messaging
elvece May 22, 2023
93a0eb6
cleanup
elvece May 24, 2023
e1cf4e1
udpates for new sdk
elvece Oct 11, 2024
df01801
almost
MattDHill Oct 11, 2024
dd098ea
additional 036 sdk updates
elvece Jan 28, 2025
310b097
use hello-world as dep temporarily
elvece Jan 28, 2025
9f5627c
rename to start9-pages
elvece Jan 28, 2025
29310df
rename to start9-pages
elvece Jan 28, 2025
1322dbb
renames
elvece Jan 28, 2025
7951d11
update path
elvece Feb 4, 2025
d2e6af9
cleanup
elvece Feb 4, 2025
fad011c
update instructions
elvece Feb 4, 2025
93b339e
update readme
elvece Feb 4, 2025
da05110
beta 9
MattDHill Feb 18, 2025
53d07d6
bata 18
MattDHill Mar 15, 2025
9e65ca4
assets and makefile
MattDHill Mar 21, 2025
2c71186
multiple bugfixes
elvece Mar 31, 2025
0329f4a
fix formatting
elvece Apr 9, 2025
6817ea5
update to lastest sdk
elvece Apr 10, 2025
28ac537
beta 5
MattDHill Apr 21, 2025
2c0bff2
copy
MattDHill Apr 21, 2025
406c6a7
update readme and description
elvece Apr 22, 2025
e812231
update name
elvece Apr 22, 2025
af0a68d
update to beta.7 and comments
elvece Apr 23, 2025
cc2ea66
rework to persist unique port per page and adjust nginx configuration
elvece May 2, 2025
03fd141
new icon
elvece May 6, 2025
9fd8b69
user for nextcloud
elvece May 6, 2025
0365821
update to beta17
elvece May 6, 2025
f68a345
update packages
elvece May 6, 2025
a93f4a6
beta 20
MattDHill May 10, 2025
27e8bee
seed store
MattDHill May 10, 2025
701a418
remove notes
elvece May 6, 2025
3c64b0e
ignore notes
elvece May 6, 2025
a862896
update migration to best practice
elvece May 19, 2025
22e5ee9
cleanup
elvece May 19, 2025
dad8883
ensure s9pk is recreated if changes exist on make install
elvece May 19, 2025
23e3e02
add optional action for creating a site upon install
elvece May 19, 2025
f2fe68f
change default to filebrowser for now
elvece May 19, 2025
cdbdfdf
re-add dependency check
elvece May 21, 2025
afcdbd0
temp fix for os bug
elvece May 21, 2025
8f4ba92
update to beta23
elvece May 21, 2025
d391c0b
beta 24
MattDHill May 22, 2025
9ba09b3
make create site task optional
elvece May 22, 2025
ae9cd92
store.read strategy now working with alpha.4 os release
elvece May 22, 2025
97489e4
update release notes
elvece May 23, 2025
fe812c4
update short description
elvece May 23, 2025
2aa2380
update to beta27
elvece Jun 10, 2025
229082e
update release notes
elvece Jun 12, 2025
632137d
update to beta33 and bump version
elvece Jul 10, 2025
de9af8d
add updated gh workflows
elvece Jul 10, 2025
f45c9ec
wip fixes
elvece Aug 21, 2025
09eea98
todo notes
elvece Aug 21, 2025
7623831
only watch pages; removes page health check
elvece Aug 21, 2025
6ad5b8d
bump version
elvece Aug 21, 2025
1e2d5e5
cleanup
elvece Aug 21, 2025
97f0948
remove nextcloud dep for now
elvece Aug 21, 2025
d35fb75
mostly there
MattDHill Aug 24, 2025
e34b81c
update makefile
MattDHill Sep 5, 2025
579f846
revert to fix
MattDHill Sep 5, 2025
d975e56
remove log
MattDHill Sep 5, 2025
d41d00b
allow hosting directories
MattDHill Sep 5, 2025
37ab6a8
beta 43
MattDHill Nov 17, 2025
a6c113b
makefile and actions for github
MattDHill Nov 17, 2025
92b9028
Merge branch 'master' of github.com:Start9Labs/start9-pages-startos i…
MattDHill Nov 17, 2025
bde0b1f
new image with brotli and better nginx
MattDHill Nov 18, 2025
cad11e7
sdk.beta.44 bump + devDeps update
k0gen Nov 21, 2025
bf9a255
beta 45
MattDHill Dec 20, 2025
97962a0
prep for new nc and fb
MattDHill Dec 21, 2025
079604a
create groups for nc and fb
MattDHill Dec 21, 2025
2f94b6e
lower dep for nc
MattDHill Dec 21, 2025
0bf782c
dont need id
MattDHill Dec 21, 2025
cdbfcea
remote icons
MattDHill Dec 21, 2025
4f63fa3
workflows
MattDHill Dec 22, 2025
fb15971
dockerfile instead
MattDHill Dec 22, 2025
3c55c6e
beta 48, i18n, and more
MattDHill Feb 1, 2026
8f95575
bump version
MattDHill Feb 2, 2026
d05dd38
update deps
MattDHill Feb 4, 2026
0283e52
Update README, CONTRIBUTING, and docsUrl
MattDHill Feb 7, 2026
07fe92c
Add S3 upload support to release workflow
MattDHill Feb 7, 2026
7b96d82
Update s9pk.mk
MattDHill Feb 8, 2026
7ad20ea
remove old dep
MattDHill Feb 8, 2026
e67adc9
beta 55
MattDHill Mar 4, 2026
3a423fd
Move service package deps from devDependencies to dependencies
MattDHill Mar 4, 2026
56838eb
Update start-sdk to beta.58
MattDHill Mar 6, 2026
78ec656
Remove icon.png, use icon.svg only
MattDHill Mar 6, 2026
a69174f
Fix packaging guide URL in CONTRIBUTING.md
MattDHill Mar 6, 2026
7bf04e7
Update start-sdk to beta.59
MattDHill Mar 10, 2026
b854653
Update start-sdk to beta.60
MattDHill Mar 16, 2026
1e3e822
Update start-sdk to beta.61
MattDHill Mar 17, 2026
c6f98ec
Update dependency version ranges
MattDHill Mar 17, 2026
3783ce2
Update docsUrls
MattDHill Mar 18, 2026
4e7a3c5
Update start-sdk to beta.62
MattDHill Mar 20, 2026
e0fd432
Bump version to 1.0.0:2-beta.2
MattDHill Mar 20, 2026
9cd8d4c
Update start-sdk to beta.65
MattDHill Mar 23, 2026
7608120
bump minimum dependency versions to latest
MattDHill Mar 23, 2026
e1f7f6f
sdk beta.66 + version bump
MattDHill Mar 24, 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
40 changes: 13 additions & 27 deletions .github/workflows/buildService.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,34 +4,20 @@ on:
workflow_dispatch:
pull_request:
paths-ignore: ['*.md']
branches: ['main', 'master']
branches: ['master']
push:
paths-ignore: ['*.md']
branches: ['main', 'master']
branches: ['master']

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
printf "\n SHA256SUM: $(sha256sum ${PACKAGE_ID}.s9pk) \n"
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
# with:
# FREE_DISK_SPACE: true
secrets:
DEV_KEY: ${{ secrets.DEV_KEY }}
72 changes: 10 additions & 62 deletions .github/workflows/releaseService.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,67 +6,15 @@ on:
- 'v*.*'

jobs:
ReleasePackage:
runs-on: ubuntu-latest
release:
uses: start9labs/shared-workflows/.github/workflows/releaseService.yml@master
with:
# FREE_DISK_SPACE: true
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 }}
printf "\n SHA256SUM: $(sha256sum ${PACKAGE_ID}.s9pk) \n"
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
14 changes: 7 additions & 7 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
.DS_Store
www/.DS_Store
*.s9pk
image.tar
test_config.yaml
.vscode
scripts/embassy.js
startos/*.js
node_modules/
.DS_Store
.vscode/
docker-images
TODO.md
javascript
ncc-cache
notes.md
4 changes: 4 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## How the upstream version is pulled
- Image is `dockerBuild` from root (no dockerTag to update)

> This is a Start9-maintained package. Source is in this repo.
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
```
22 changes: 6 additions & 16 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,17 +1,7 @@
FROM alpine:latest
FROM fholzer/nginx-brotli

RUN echo https://dl-cdn.alpinelinux.org/alpine/edge/community >> /etc/apk/repositories
RUN apk update
RUN apk add bash curl nginx tini yq

ADD www /var/www
RUN cp /var/www/assets/main.css /var/www/index/main.css
RUN cp /var/www/assets/main.css /var/www/welcome/main.css
ADD ./docker_entrypoint.sh /usr/local/bin/docker_entrypoint.sh
RUN chmod a+x /usr/local/bin/docker_entrypoint.sh

WORKDIR /root

EXPOSE 80

ENTRYPOINT ["/usr/local/bin/docker_entrypoint.sh"]
RUN \
addgroup -g 33 nextcloud-data && \
addgroup -g 1000 filebrowser-data && \
adduser nginx nextcloud-data && \
adduser nginx filebrowser-data
37 changes: 3 additions & 34 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,34 +1,3 @@
PKG_ID := $(shell yq e ".id" manifest.toml)
PKG_VERSION := $(shell yq e ".version" manifest.toml)
TS_FILES := $(shell find ./scripts -name '*.ts')

.DELETE_ON_ERROR:

all: verify

verify: $(PKG_ID).s9pk
start-sdk verify s9pk $(PKG_ID).s9pk

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

# assumes /etc/embassy/config.yaml exists on local system with `host: "http://embassy-server-name.local"` configured
install: $(PKG_ID).s9pk
start-cli package install $(PKG_ID).s9pk

$(PKG_ID).s9pk: manifest.toml instructions.md LICENSE icon.png scripts/embassy.js docker-images/aarch64.tar docker-images/x86_64.tar
start-sdk pack

docker-images/aarch64.tar: Dockerfile docker_entrypoint.sh
mkdir -p docker-images
DOCKER_CLI_EXPERIMENTAL=enabled docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --platform=linux/arm64 -o type=docker,dest=docker-images/aarch64.tar .

docker-images/x86_64.tar: Dockerfile docker_entrypoint.sh
mkdir -p docker-images
DOCKER_CLI_EXPERIMENTAL=enabled docker buildx build --tag start9/$(PKG_ID)/main:$(PKG_VERSION) --platform=linux/amd64 -o type=docker,dest=docker-images/x86_64.tar .

scripts/embassy.js: $(SCRIPTS_SRC)
deno bundle scripts/embassy.ts scripts/embassy.js
ARCHES := x86 arm
# overrides to s9pk.mk must precede the include statement
include s9pk.mk
Loading
Loading