StreamFlow Netflix - Android TV + Web App
Find a file
2025-12-24 10:50:25 +07:00
backend v1.0.5 Gold Master - Final Release 2025-12-24 10:50:25 +07:00
frontend v1.0.5 Gold Master - Final Release 2025-12-24 10:50:25 +07:00
.gitignore chore: initial commit with premium Liquid Glass UI and performance optimizations 2025-12-23 18:30: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 chore: initial commit with premium Liquid Glass UI and performance optimizations 2025-12-23 18:30:09 +07:00
README.md docs: enhance README with performance features and updated tech stack 2025-12-24 06:44:40 +07:00

StreamFlow - Premium Cinema Experience 🎬

Docker Image GitHub

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.


💎 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/streamflow:latest
    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.