No description
Find a file
2026-01-10 14:43:48 +07:00
.github/workflows Add Docker Hub publishing workflow 2026-01-10 14:37:54 +07:00
app Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
doc feat: enforce horizontal videos, personalize categories, remove shorts 2026-01-02 12:35:33 +07:00
static Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
templates Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
.env.example Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
.gitignore Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
API_DOCUMENTATION.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
config.py Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
CONSOLE_ERROR_FIXES.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
debug_transcript.py Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
deploy-docker.bat feat: enforce horizontal videos, personalize categories, remove shorts 2026-01-02 12:35:33 +07:00
deploy-docker.ps1 feat: enforce horizontal videos, personalize categories, remove shorts 2026-01-02 12:35:33 +07:00
docker-compose.yml Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
Dockerfile Fix Gunicorn import by renaming app.py to wsgi.py 2026-01-10 14:43:48 +07:00
DOWNLOAD_FIXES.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
generate_icons.py Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
NDH6SA~M Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
proxy_check.m3u8 Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
README.md feat: enforce horizontal videos, personalize categories, remove shorts 2026-01-02 12:35:33 +07:00
requirements.txt Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
response.json Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
response_error.json Initial commit: KV-Tube v2.0 complete 2025-12-17 07:51:54 +07:00
server.log Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
TEST_REPORT.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
USER_GUIDE.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
wsgi.py Fix Gunicorn import by renaming app.py to wsgi.py 2026-01-10 14:43:48 +07:00

KV-Tube is a distraction-free, privacy-focused YouTube frontend designed for a premium viewing experience.

🚀 New Features (v2.0 Updates)

  • Horizontal-First Experience: Strictly enforces horizontal videos across all categories. "Shorts" and vertical content are aggressively filtered out for a cleaner, cinematic feed.
  • Personalized Discovery:
    • Suggested for You: Dynamic recommendations based on your local watch history.
    • You Might Like: curated discovery topics to help you find new interests.
  • Refined Tech Feed: Specialized "Tech & AI" section focusing on gadget reviews, unboxings, and deep dives (no spammy vertical clips).
  • Performance: Optimized fetching limits to ensure rich, full grids of content despite strict filtering.

Features

  • No Ads: Watch videos without interruptions.
  • Privacy Focused: No Google account required. Watch history is stored locally (managed by SQLite).
  • Trending: Browse trending videos by category (Tech, Music, Gaming, etc.).
  • Auto-Captions: English subtitles automatically enabled if available.
  • AI Summary: (Optional) Extractive summarization of video content running locally.
  • PWA Ready: Installable on mobile devices with a responsive drawer layout.
  • Dark/Light Mode: User preference persisted in settings.

🚀 Deployment

This is the easiest way to run KV-Tube.

  1. Create a folder named kv-tube on your NAS/Server.
  2. Copy docker-compose.yml into that folder.
  3. Create a data folder inside kv-tube.
  4. Run the container.

docker-compose.yml

version: '3.8'

services:
  kv-tube:
    image: vndangkhoa/kvtube:latest
    container_name: kv-tube
    restart: unless-stopped
    ports:
      - "5011:5001"
    volumes:
      - ./data:/app/data
    environment:
      - PYTHONUNBUFFERED=1
      - FLASK_ENV=production

Run Command:

docker-compose up -d

Access the app at http://YOUR_NAS_IP:5011

Option B: Local Development (Python)

  1. Clone the repository:

    git clone https://github.com/vndangkhoa/kv-tube.git
    cd kv-tube
    
  2. Install Dependencies:

    python3 -m venv venv
    source venv/bin/activate
    pip install -r requirements.txt
    
  3. Run:

    python3 app.py
    

    Open http://127.0.0.1:5001 in your browser.

🛠️ Configuration

The app is zero-config by default.

  • Database: SQLite (stored in ./data/kvtube.db)
  • Port: 5001 (internal), mapped to 5011 in Docker compose example.

📝 License

Proprietary / Personal Use.