Add StartOS 0.4.0 packaging
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user