Files
hark/compose.yaml
flan eb13ebb0fe
Lint Python / lint (push) Successful in 6s
Test Python / test (push) Successful in 3m30s
Make the repo usable by someone who is not the author
The adscrub dependency was a filesystem path (../adscrub), so a fresh clone could not be
installed and CI could not pass — Test CI has been red on main since the repo went public.
adscrub is public now, so depend on it by git URL; uv.lock pins the exact commit, and
side-by-side development still works via an editable override.

Add the missing LICENSE (AGPL-3.0, matching winnow/tendril) — without one the code was
legally unusable by anyone.

Lead the README with the dashboard screenshot and a four-bullet summary rather than five
dense paragraphs, and drop the now-obsolete sibling-clone setup step.

Stop hardcoding a private registry and hostnames: REGISTRY_IMAGE is overridable and
defaults to a local tag; the feed test uses an example host.
2026-07-13 17:05:38 +00:00

31 lines
1.6 KiB
YAML

# Dashboard + feed/audio routes + one-shot pipeline commands.
# docker compose up -d # serve :8710
# docker compose run --rm hark ingest # poll feeds once
# docker compose run --rm hark canon # retry Wikidata matches
# docker compose run --rm hark chapters # chapter-sourced ad spans
# docker compose run --rm hark transcribe # Whisper — CPU by default, see compose.gpu.yaml
# docker compose run --rm hark detect-ads # LLM ad-span classification
# docker compose run --rm hark cut # ffmpeg out the ad spans
#
# HARK_ADMIN_TOKEN bootstraps the admin login on a fresh auth db; set a real
# password at /account afterwards (the token stops working once one exists).
# HARK_BASE_URL must be set to wherever the podcast player can actually reach
# this container (not localhost) — it's embedded in generated feeds' links.
# NOTE: `docker compose build`/`up --build` won't work from this directory alone —
# the image build needs adscrub's source in the build context. Build with
# scripts/build-image.sh instead (tags `hark:<version>`; set REGISTRY_IMAGE to push
# elsewhere). `docker compose up -d` then runs whatever is tagged `hark:latest` —
# retag the built image to that, or point `image:` below at your registry tag.
services:
hark:
image: hark:latest
ports:
- "8710:8710"
environment:
HARK_ADMIN_TOKEN: ${HARK_ADMIN_TOKEN:-}
HARK_COOKIE_SECURE: ${HARK_COOKIE_SECURE:-0}
HARK_BASE_URL: ${HARK_BASE_URL:-http://localhost:8710}
volumes:
- ./data:/app/data
restart: unless-stopped