No description
Find a file
2026-01-11 21:51:42 +07:00
.github/workflows Add Forgejo registry deployment 2026-01-10 14:44:49 +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 Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +07:00
templates Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +07:00
.dockerignore Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +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
deploy_v2.ps1 Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +07:00
docker-compose.yml Bump version to v2.1 for cache busting 2026-01-10 14:56:24 +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
update_and_restart.sh Add update_and_restart.sh script 2026-01-10 14:53:52 +07:00
USER_GUIDE.md Release v2.0: Optimized Performance and Docker Support 2026-01-10 14:35:08 +07:00
wsgi.py Fix subscribe button and library tab navigation 2026-01-11 21:51:42 +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.