StreamFlow Netflix - Android TV + Web App
Find a file
2025-12-24 15:42:09 +07:00
backend fix(player): Force native HLS on Android to resolve WebView black screen 2025-12-24 15:42:09 +07:00
frontend fix(player): Force native HLS on Android to resolve WebView black screen 2025-12-24 15:42:09 +07:00
.gitignore chore: initial commit with premium Liquid Glass UI and performance optimizations 2025-12-23 18:30:09 +07:00
build_apk.sh fix(player): Force native HLS on Android to resolve WebView black screen 2025-12-24 15:42:09 +07:00
deploy_apk.sh fix(player): Force native HLS on Android to resolve WebView black screen 2025-12-24 15:42:09 +07:00
docker-compose.yml chore: initial commit with premium Liquid Glass UI and performance optimizations 2025-12-23 18:30:09 +07:00
Dockerfile v1.0.8: Simplified Dockerfile - use pre-built backend/static, includes Get App button 2025-12-24 14:20:39 +07:00
README.md docs: Update README to v1.0.8 2025-12-24 14:55:51 +07:00
streamflow.db v1.0.6: Image optimization, navigation fixes, PWA improvements 2025-12-24 12:21:34 +07:00

StreamFlow - Premium Cinema Experience 🎬

Docker Image GitHub Version

StreamFlow is a high-fidelity movie streaming application designed for NAS enthusiasts and home cinema lovers. It combines a premium Apple TV+ inspired aesthetic with a lightweight, high-performance backend, now consolidated into a single Docker image for effortless deployment.

📋 Latest Release: v1.0.8

What's New in v1.0.8:

  • 📱 Android Live Updates: App now loads content directly from server (no need to reinstall APK for UI updates)
  • 🤖 Auto-Update Script: Added deploy_apk.sh for one-click deployment
  • 🛠️ Docker Optimization: Simplified build process (unified backend/frontend)

Previous (v1.0.7):

  • 🔧 HOTFIX: Fixed Docker crash - Added missing Request import causing NameError on startup

Previous (v1.0.6):

  • 🖼️ Optimized mobile image loading - 40% faster thumbnail loading
  • 🔗 Fixed Install App navigation
  • 🏠 Fixed hero button null reference errors
  • 📱 Added PWA icon (512x512)
  • ⬅️ Fixed back button navigation
  • 📐 Mobile UI improvements
  • 🔍 Smart tab scrolling

💎 Premium Features

🧊 Liquid Glass UI

  • Immersive Design: Deep frosted-glass effects (40px+ blur) with Apple-style deep occlusion.
  • Micro-interactions: 1px translucent borders, 3D card scaling, and smooth state transitions.
  • Cinematic Hero: Dynamic full-screen backdrops that change based on featured content.
  • Dark Mode Perfected: A custom OLED-friendly palette optimized for theater viewing.

Turbo-Charged Performance

  • Parallel Crawler: Fetches category data with concurrent workers, reducing initial load times by up to 60%.
  • Multi-Layer Caching: Advanced Redis-backed caching for movie metadata, catalog results, and stream extraction.
  • Eager Prefetching: Intelligent frontend prefetching of thumbnails and metadata before you even scroll to them.
  • Instant Recovery: Session-based client caching for near-instant navigation back to Home and Cinema views.

📱 Native PWA Experience

  • Installable: Full Progressive Web App (PWA) support. Add to Home Screen on iOS and Android.
  • Native Feel: Runs in standalone mode without browser chrome for a truly native app experience.
  • Custom Icons: High-resolution 'Liquid Glass' app icons for your home screen.

🐳 Unified NAS Architecture

  • Single-Container Deployment: Backend and Frontend are bundled into one efficient image.
  • Low Overhead: Zero-bypass streaming shifts heavy video load 100% to the client side.
  • NAS-Optimized: Designed to run smoothly on Synology, QNAP, and Unraid (linux/amd64).

🍅 Rich Metadata

  • Rotten Tomatoes Ratings: Real-time integration of "Fresh" and "Rotten" score badges.
  • Watch History: Cross-device history and "My List" bookmarks saved to Redis.
  • Robust Player: Hardened video overlay with instant context-aware closure (Escape key, Back button, and X support).

🚀 One-Step Deployment

Copy this into your docker-compose.yml and run docker-compose up -d:

version: '3.8'

services:
  # StreamFlow Unified (Backend + Frontend)
  app:
    image: vndangkhoa/streamflix:1.0.8
    platform: linux/amd64
    ports:
      - "3478:8000"
    environment:
      - REDIS_URL=redis://redis:6379
      - DATABASE_URL=sqlite:///./app/data/streamflow.db
      - PYTHONUNBUFFERED=1
    volumes:
      - ./data:/app/data
    depends_on:
      redis:
        condition: service_healthy
    restart: unless-stopped

  # Redis Cache & History
  redis:
    image: redis:7-alpine
    platform: linux/amd64
    ports:
      - "6379:6379"
    volumes:
      - ./redis-data:/data
    restart: unless-stopped
    command: redis-server --appendonly yes
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 5s
      timeout: 3s
      retries: 5

🏁 Accessing the App


🛠 Tech Stack

  • Backend Core: FastAPI (Python 3.11), SQLAlchemy, Redis
  • Scraping Engine: Playwright (Headless Chromium) & aiohttp for resilient data extraction
  • Frontend Engine: Vanilla JS (ES6+), Vite, ArtPlayer.js
  • Styling: Modern CSS with deep backdrop filters and Liquid Glass design tokens
  • Architecture: Multi-stage Docker Build (Debian-slim)

📝 Credits

Movie data provided by ophim API. Designed with ❤️ by vndangkhoa.


Tip

Synology Tip: Use the Container Manager (formerly Docker) on Synology. Create a new "Project" using the YAML above for the best management experience.