Add docker support
This commit is contained in:
@@ -35,8 +35,13 @@ As an HTML templating engine, you can use Jinja2, which is built into Flask, for
|
||||
9. Configuration only through environment variables: port, cache TTL, log level and timeouts.
|
||||
10. HTTPS not in application: TLS terminates at external reverse proxy (Nginx/Caddy/Traefik), Flask runs behind it.
|
||||
11. TDD: Write a single integration test that will consist of downloading few video urls. It should query these videos over proxy and check if it works properly (yt-dlp is fully capable substitute for a browser that can be configured to output all necessary debug inforation, such as headers and cookies). Also write tests for critical functions like URL parsing, caching, playlist and segment proxying, and error handling. All test should be in `tests/` folder and use `pytest` as a testing framework. All tests should generate maximum debugging output to make it easy to understand what went wrong in case of failure.
|
||||
12. yt-dlp usage restriction (critical):
|
||||
- yt-dlp MUST be used strictly as a Python library (`import yt_dlp`).
|
||||
- DO NOT invoke yt-dlp via CLI (`yt-dlp` binary or `python -m yt_dlp`) anywhere in the application or tests.
|
||||
- Integration tests MUST simulate playback using the library or HTTP requests through the proxy, not by spawning yt-dlp subprocesses.
|
||||
- Any use of subprocess to call yt-dlp is considered a violation of architecture.
|
||||
12. Documentation and license: only `README.md`, `AGENTS.md` and MIT license.
|
||||
|
||||
|
||||
### Common Pitfalls
|
||||
|
||||
1. Do not disable tests or skip critical paths. If something is not working, fix it instead of skipping tests.
|
||||
|
||||
Reference in New Issue
Block a user