Files
hark/compose.gpu.yaml
flan 7c94632bf6 Depend on adscrub as a library for ad-stripping (v0.4.0)
adscrub (flan/adscrub) stays a separate, standalone product -- own
repo, schema, CLI. hark adds it as a path dependency (editable,
../adscrub -- see pyproject.toml [tool.uv.sources]) and calls its
functions directly rather than duplicating any code.

hark's own episodes/shows/ad_segments schema was deliberately shaped
to match adscrub's column-for-column, so adscrub's schema-coupled
functions (pending_episodes, scan_episode, transcribe_episode,
detect_pending, cut_pending, ...) work unchanged against hark's own
conn. hark cli.py's chapters/transcribe/detect-ads/cut subcommands
call straight into the adscrub package -- no hark-side
chapters.py/transcribe.py/detect.py/cut.py exists.

podcast_feed.py is hark's own file (schema-specific: show_id/feed_url
naming plus token auth, none of which adscrub's own feed.py has), used
by new token-gated /feed/<show_id>/<token> and
/audio/<episode_id>/<token>.<ext> routes on hark web -- unauthenticated
since a podcast app can't do the dashboard's cookie login, gated
instead by a random per-show feed_token.

110 tests pass. Known gap, not solved: the path dependency doesn't
resolve in the Docker build context yet (needs a real packaging
decision -- git dependency+deploy key, vendored wheel, or a
multi-repo build script) -- documented in the Dockerfile, README, and
docs/PLAN.md rather than papered over.
2026-07-11 04:33:03 +00:00

20 lines
637 B
YAML

# GPU override: requests the host's RTX 2070 SUPER via the nvidia Docker
# runtime (confirmed registered on `code` — see CLAUDE.md) and builds the
# image with the cuBLAS/cuDNN extra (passed through from adscrub[gpu], see
# pyproject.toml) so faster-whisper actually uses it.
#
# docker compose -f compose.yaml -f compose.gpu.yaml build
# docker compose -f compose.yaml -f compose.gpu.yaml run --rm hark transcribe
services:
hark:
build:
args:
GPU: "1"
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: ["gpu"]