diff options
| author | Astounds <kirito@disroot.org> | 2026-05-30 00:34:34 -0500 |
|---|---|---|
| committer | Astounds <kirito@disroot.org> | 2026-05-30 00:34:34 -0500 |
| commit | 4e54a34d87056067c0110c00282f6a3248dc5f6f (patch) | |
| tree | d85617414cb083447523238803ba88146a0dc543 /README.md | |
| parent | ed2af5e3d7a3fcd5a1f383003b6723f5d419f634 (diff) | |
| download | yt-local-4e54a34d87056067c0110c00282f6a3248dc5f6f.tar.lz yt-local-4e54a34d87056067c0110c00282f6a3248dc5f6f.tar.xz yt-local-4e54a34d87056067c0110c00282f6a3248dc5f6f.zip | |
Use pip-compile --generate-hashes in the Docker build stage so that
the runtime stage installs pinned dependencies with verified integrity,
ensuring fully reproducible container builds.
- Add Docker section to README
- Fix Python badge (3.7+ → 3.11+) and outdated docs links
- Upgrade pip, setuptools, and wheel in Dockerfile to fix grype findings
Diffstat (limited to 'README.md')
| -rw-r--r-- | README.md | 42 |
1 files changed, 28 insertions, 14 deletions
@@ -1,8 +1,8 @@ # yt-local [](https://www.gnu.org/licenses/agpl-3.0) -[](https://www.python.org/downloads/) -[](https://git.fridu.us/heckyel/youtube-local) +[](https://www.python.org/downloads/) +[](https://git.fridu.us/heckyel/yt-local) A privacy-focused, browser-based YouTube client that routes requests through Tor for anonymous viewing—**without compromising on speed or features**. @@ -76,16 +76,13 @@ cd yt-local python3 -m venv venv source venv/bin/activate # or `venv\Scripts\activate` on Windows -# 3. Install dependencies -pip install -r requirements.txt +# 3. Install pinned dependencies +pip install --no-deps -r requirements.lock # 4. Run the server python3 server.py ``` -> [!TIP] -> If `pip` isn't installed, use your distro's package manager (e.g., `sudo apt install python3-pip` on Debian/Ubuntu). - ### Portable Mode To keep settings and data in the same directory as the app: @@ -97,6 +94,25 @@ python3 server.py # Data now stored in ./data/ instead of ~/.yt-local/ ``` +### Docker + +A multi-stage Docker image is available for production use: + +```bash +# Build and run +docker compose up -d + +# Or build manually +docker build -t yt-local . +docker run -d -p 127.0.0.1:9010:9010 --name yt-local yt-local + +# With Tor enabled +docker run -d -p 127.0.0.1:9010:9010 -e ENABLE_TOR=1 --name yt-local yt-local +``` + +> [!TIP] +> Persistent data (settings, subscriptions, cache) is stored in a Docker volume named `yt-local-data`. + --- ## Usage @@ -209,8 +225,7 @@ Visit `http://localhost:9010/settings` to configure: ### Running Tests ```bash -source venv/bin/activate # if not already in venv -make test +pytest ``` ### Project Structure @@ -248,10 +263,9 @@ yt-local/ Contributions welcome! Please: 1. Read [`docs/HACKING.md`](docs/HACKING.md) for coding guidelines -2. Follow [PEP 8](https://peps.python.org/pep-0008/) style (use `ruff format`) -3. Run tests before submitting: `pytest` -4. Ensure no security issues: `bandit -r .` -5. Update docs for new features +2. Follow [PEP 8](https://peps.python.org/pep-0008/) style (use `make lint`) +3. Run tests before submitting: `make test` +4. Update docs for new features --- @@ -310,4 +324,4 @@ Permission is granted to relicense code portions into youtube-dl's license (curr Made for privacy-conscious users -Last updated: 2026-05-03 +Last updated: 2026-05-29 |
