aboutsummaryrefslogtreecommitdiffstats
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md42
1 files changed, 28 insertions, 14 deletions
diff --git a/README.md b/README.md
index 062d979..44dcf64 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# yt-local
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
-[![Python 3.7+](https://img.shields.io/badge/python-3.7+-blue.svg)](https://www.python.org/downloads/)
-[![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](https://git.fridu.us/heckyel/youtube-local)
+[![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
+[![Tests](https://img.shields.io/badge/tests-passing-brightgreen.svg)](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