90b9dad59c26e9250634cd2b52020c62fc6de963
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:
- add
youdis/adapters/<adapter>.py - make it independently runnable
- add
start_<adapter>()toyoudis.py - register it in the explicit adapter starter map in
youdis.py - 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
Languages
Python
87.2%
Shell
12.8%