Add StartOS 0.4.0 packaging

This commit is contained in:
MacPro
2026-04-09 15:03:31 -05:00
commit 68ec875ee7
2057 changed files with 490924 additions and 0 deletions
+76
View File
@@ -0,0 +1,76 @@
# Deploy on StartOS 0.4.0
This file documents how to build and deploy YouTube Summarizer on StartOS 0.4.0.
## Prerequisites
- Docker with `buildx` support (for ARM64 cross-compilation)
- `start-sdk` CLI tool installed ([docs.start9.com](https://docs.start9.com))
- Git (required by `start-sdk pack`)
## 0) One-time Git setup
`start-sdk pack` requires a Git repository in the project folder.
```bash
cd /Users/macpro/Projects/youtube-summarizer
git init
git add .
git commit -m "Initial commit for Start9 packaging"
```
## 1) Build package
```bash
cd /Users/macpro/Projects/youtube-summarizer
# For x86_64 servers (Intel NUC, mini PC, custom build) — the default:
make -C start9/0.4 package
# For ARM64 servers (Raspberry Pi, Start9 original hardware):
make -C start9/0.4 package PLATFORM=linux/arm64
```
This creates:
- `start9/0.4/image.tar` (Docker image for your server's architecture)
- `start9/0.4/youtube-summarizer.s9pk` (installable package)
## 2) Upload to StartOS
1. Open the StartOS web UI.
2. Go to Services > Sideload Package.
3. Upload `start9/0.4/youtube-summarizer.s9pk`.
4. Install and start the service.
## 3) First run
1. Open the service UI.
2. Go to Settings and enter your Gemini API key.
3. (Recommended) Set up YouTube OAuth authentication.
4. Run a manual StartOS backup.
## 4) Data persistence
All user data lives in `/data` on the StartOS service volume:
- `/data/history/` — processed summaries, subscriptions, queue state
- `/data/config/` — StartOS-managed configuration + processing config
- `/data/cookies.txt` — YouTube cookie file (if uploaded)
- `/data/bin/` — runtime-updated yt-dlp binary
- `/data/ytdlp-cache/` — yt-dlp cache (OAuth tokens)
- `/data/.env` — optional env overrides
This contract must be preserved across package versions.
Key config files:
- `config/startos-config.json` — Gemini API key (set from UI)
- `config/processing-config.json` — background queue delay + enabled state
- `history/subscriptions.json` — subscriptions (with autoDownload flag)
- `history/auto-queue.json` — processing queue state (survives restarts)
## 5) Updating the package
1. Make changes to the app or wrapper.
2. Bump `version` in `start9/0.4/manifest.yaml`.
3. Rebuild: `make -C start9/0.4 package`
4. Sideload the new `.s9pk` — StartOS will upgrade in place.
5. All data in `/data` is preserved across upgrades.