β οΈ IMPORTANT LEGAL NOTICE: This project is for educational purposes only. Please read the DISCLAIMER.md file before using this software.
VePhim is a feature-rich platform where you can watch movies online for free. Think of it as your personal movie library accessible anytime, anywhere with an internet connection. With a clean, modern interface and powerful features, VePhim delivers a premium streaming experience without the premium price tag.
VePhim acts as an aggregator rather than a host. Instead of storing movies on its own servers, it intelligently indexes and streams content from publicly available sources across the internet. Our specialized crawlers collect comprehensive movie data including:
- Movie metadata: Titles, descriptions, genres, release dates, directors, actors
- Media sources: Both m3u8 streaming URLs and embed URLs from various providers
- Episode information: For TV shows with multiple episodes and seasons
- Server options: Multiple streaming sources for each piece of content
- Media details: Quality options, language information, and subtitles when available
This complete data collection approach enables:
- Massive content library with minimal infrastructure costs
- Buffer-free streaming with optimized content delivery
- Always-fresh content that updates automatically through scheduled crawling
- Reliable playback options with fallbacks between m3u8 and embed sources
Our Gemini-powered AI understands your preferences and helps you find the perfect movie based on your mood, interests, or specific criteria. |
Experience smooth, high-quality playback with our advanced streaming technology and optimized content delivery. |
Enjoy VePhim on your browser or mobile device with our responsive web app and native mobile applications. |
Discover new content through intelligent recommendations based on your viewing history and preferences. |
Create a free account to save favorites, track viewing history, and receive personalized recommendations. |
Enjoy a clean, ad-light experience focused on content enjoyment rather than disruptions. |
VePhim is built as a monorepo using Nx, a powerful build system and development toolkit that enables efficient code sharing and maintenance across multiple applications.
vephim/
βββ apps/
β βββ api/ # NestJS backend service
β β βββ .env # Backend environment configuration
β βββ fe/ # Main user interface (Next.js)
β β βββ .env # Frontend environment configuration
β βββ mnt/ # Admin dashboard interface
β β βββ .env # Admin environment configuration
β βββ mobile/ # React Native mobile application
βββ containers/ # Docker configurations for infrastructure
β βββ be-with-redis/ # Backend with Redis configuration
β βββ be-redis-pm2/ # Backend with Redis and PM2
β βββ be-redis-es/ # Backend with Redis and Elasticsearch
β βββ elasticsearch/ # Elasticsearch configuration
β βββ kibana/ # Kibana visualization tool
β βββ load-balancer/ # Load balancing configuration
β βββ swag/ # Secure Web Application Gateway
β βββ weserv-images/ # Image optimization service
βββ documents/ # Project documentation and diagrams
βββ tools/ # Build and development utilities
βββ .env # Root environment variables
βββ nx.json # Nx workspace configuration
VePhim leverages modern technologies to deliver a seamless user experience:
- NestJS: Enterprise-grade Node.js framework for building scalable server applications
- MongoDB: NoSQL database for flexible and scalable data storage
- Redis: In-memory data store for caching and performance optimization
- Gemini AI: Google's advanced LLM for intelligent search and recommendations
- Elasticsearch: Distributed search engine for powerful content discovery
- GraphQL: Modern API technology for efficient data querying and manipulation
- Data Crawlers: Sophisticated crawlers that index and collect complete movie data from multiple public sources, including metadata, streaming URLs, and embed options
VePhim provides two separate frontend applications for different user roles:
- Next.js: React framework optimized for the end-user streaming experience
- Ant Design: Premium UI components for a visually appealing user interface
- Vidstack: Modern, accessible media player for streaming video content
- Swiper: Touch-enabled slider for browsing movie collections
- React Hook Form: Performance-focused form validation and handling
- Next.js: Same framework as the main UI but configured for administrative tasks
- RefineJS: React-based framework for building admin panels
- Ant Design: Consistent design system across both frontends
- React Hook Form: Form handling for content management operations
- Expo: Cross-platform mobile app development framework
- UI Kitten: React Native UI library with customizable components
- React Native Reanimated: Advanced animations for a fluid mobile experience
- Expo Video: Native video playback for mobile devices
-
Install dependencies:
yarn install
-
Configure environment:
cp .env.example .env # Edit .env with your configuration values
-
Start infrastructure services:
docker compose -f docker-compose.infra.yml up -d
-
Start applications in development mode:
Backend:
# Configure backend environment cp apps/api/.env.example apps/api/.env # Edit apps/api/.env as needed # Start the API server in development mode yarn api # Server will run at http://localhost:8000
Main User Interface:
# Configure frontend environment cp apps/fe/.env.example apps/fe/.env # Edit apps/fe/.env as needed # Start the web application in development mode yarn fe # Main UI will run at http://localhost:3000
Admin Dashboard:
# Configure admin environment cp apps/mnt/.env.example apps/mnt/.env # Edit apps/mnt/.env as needed # Start the admin interface in development mode yarn mnt # Admin dashboard will run at http://localhost:4000
Mobile Application:
# Ensure Android emulator is running yarn adr
-
Build Backend:
yarn nx build api --configuration=production # Output will be in dist/apps/api
-
Build Main UI:
yarn nx build fe --skip-nx-cache # Output will be in apps/fe/.next with standalone folder for production
-
Build Admin Dashboard:
yarn nx build mnt --skip-nx-cache # Output will be in apps/mnt/.next with standalone folder for production
-
Run Backend:
# After building NODE_ENV=production node dist/apps/api/main
-
Run Main UI:
# After building cd apps/fe/.next/standalone NODE_ENV=production node server.js
-
Run Admin Dashboard:
# After building cd apps/mnt/.next/standalone NODE_ENV=production node server.js
-
Option 1: Standalone Backend
docker compose up -d
-
Option 2: Backend with Redis Bundle
docker compose -f docker-compose.bundle.yml up -d
For quick deployment with Vercel:
-
Main User Interface:
- Connect your repository to Vercel
- Configure environment variables
- Use these build settings:
- Build Command:
yarn nx build fe --skip-nx-cache
- Output Directory:
apps/fe/.next
- Install Command:
yarn install --immutable
- Build Command:
-
Admin Dashboard:
- Create a separate Vercel project for the admin interface
- Configure environment variables (including authentication)
- Use these build settings:
- Build Command:
yarn nx build mnt --skip-nx-cache
- Output Directory:
apps/mnt/.next
- Install Command:
yarn install --immutable
- Build Command:
You can also build and run your own Docker images using the provided Dockerfiles:
# Build and run backend
docker build -f apps/api/Dockerfile -t vephim-api .
docker run -p 8000:8000 vephim-api
# Build and run main UI
docker build -f apps/fe/Dockerfile -t vephim-fe .
docker run -p 3000:3000 vephim-fe
# Build and run admin dashboard
docker build -f apps/mnt/Dockerfile -t vephim-mnt .
docker run -p 4000:4000 vephim-mnt
This README provides an overview of VePhim. For detailed documentation, architecture diagrams, and contribution guidelines, check the documents
directory or visit our GitHub repository.
IMPORTANT LEGAL NOTICE
This project is provided STRICTLY FOR EDUCATIONAL AND DEMONSTRATION PURPOSES ONLY.
For the full legal disclaimer, please refer to the DISCLAIMER.md file in this repository.
In summary:
- VePhim does not host, store, or distribute any movie content
- All content is sourced from and streamed directly from third-party sources
- Users are responsible for complying with their local laws and regulations
- This project is designed to showcase development techniques, not to facilitate copyright infringement
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.