v2 architecture draft: see `docs/architecture-v2.org` default v2 app run: ``` python3 ./youdis.py ``` `youdis.py` is the app-level runner. It starts the backend first, waits for health, then starts each enabled adapter explicitly. direct component runs still work for testing: ``` python3 -m uvicorn youdis.main:app --host 127.0.0.1 --port 8000 python3 -m youdis.adapters.discord ``` adapter selection is controlled by env, currently: ``` YOUDIS_RUN_BACKEND=1 YOUDIS_ENABLED_ADAPTERS=discord ``` to add a new adapter: 1. add `youdis/adapters/.py` 2. make it independently runnable 3. add `start_()` to `youdis.py` 4. register it in the explicit adapter starter map in `youdis.py` 5. add any required env vars to `.env.example` build and run the docker container ``` DISCORD_BOT_TOKEN = [discord bot token] -v [downloads]:/downloads -v [config]:/config ``` config contains data to persist across container updates, i.e., unraid appdata, such as yt-dlp's archive.txt