SOYO is a Next.js web application designed to display and stream video files stored on local drives across your local network. It allows you to browse, search, and watch your media collection from any device without requiring a central cloud server.
Wanted to watch animes on phone but low on storage , so proceeded to spend hours in this
Framework: Next.js
Styling: Tailwind CSS
- Displays video files from configured local media directories across all devices on the local network.
- Automatic zero-configuration Docker volume discovery for mounted media folders.
- Live online torrent and magnet streaming via WebTorrent with HTTP range-request support.
- In-app verified torrent search engine with seeds/leeches counts, resolution tags, and 1-click magnet streaming.
- Local user profiles with custom avatar uploads and per-profile watch progress tracking.
- Intelligent scene filename parsing for clean movie titles, release year, resolution (1080p, 720p, 4K), and source badges.
- Curated media rails for Trending, Most Watched, and Recently Added titles with settings toggles.
- Fetches anime thumbnails from AniList API and movie posters from OMDb API with local thumbnail fallbacks.
- Hardware-accelerated 3D magnetic parallax UI with customizable theme accents.
docker pull fal3n4ngel/soyo- Docker Desktop installed
- Sufficient permissions to run Docker
- Access to local video directories
Custom Building
Install Docker Desktop:
- Windows/Mac: Download from Docker's official website
- Linux: Use package manager or follow the official Docker CE installation guides
Build Docker Image
docker build -t soyo .
docker build -t soyo:v1.0 . # build with specific tag
Run Docker Container
# Basic run
docker run -d -p 3000:3000 --volume=F:/:/Movies --volume=G:/:/Anime --name soyo fal3n4ngel/soyo:latest
# Run with auto-restart policy
docker run -d --restart=unless-stopped -p 3000:3000 --volume=F:\:/Movies --volume=G:\:/Anime --name soyo fal3n4ngel/soyo:latest
Open your browser and navigate to
http://{ip}:3000git clone https://github.com/fal3n-4ngel/SOYO.git
cd SOYOnpm install
npm run devnpm run build
npm run startOpen your browser and navigate to
http://{ip}:3000 # if Development Serverhttp://{ip}:3000 # if Production Serverto view the website.
-
Symptoms
- Videos not displaying
- Incorrect directory access
- Permission-related errors
-
Troubleshooting Steps
# verify the external / needed drives are mounted # restart the wsl ( within docker desktop )
|
Adithya Krishnan |
This project is open-source and available under the MIT License.
Interested in improving Soyo? I welcome contributions! Feel free to open issues, submit pull requests, or share your ideas on GitHub. Together, we can make this project even better.