Files
recap/start9/0.4/DEPLOY.md
T
2026-04-09 15:03:31 -05:00

2.3 KiB

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)
  • Git (required by start-sdk pack)

0) One-time Git setup

start-sdk pack requires a Git repository in the project folder.

cd /Users/macpro/Projects/youtube-summarizer
git init
git add .
git commit -m "Initial commit for Start9 packaging"

1) Build package

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.