Containerized Subtitle Manager
Sublify is a modern, fully dockerized subtitle manager featuring Smart Drag & Drop with intelligent conflict resolution. Built for simplicity and performance with zero-configuration deployment.
- 🎯 Smart Drag & Drop: Drop your movie file - we find it in your library and download the subtitle
- 🔍 Intelligent Search: Optimized file scanning with directory exclusions for lightning-fast searches
- ⚖️ Conflict Resolution: Multiple file copies? Interactive modal lets you choose the exact path
- 📊 Dynamic Stats: Real-time tracking of downloads and bandwidth saved
- 🎨 Cinema-Grade UI: Premium dark theme with glassmorphism effects
- 📱 Cross-Platform: Run on Windows, Mac, Linux, or NAS. Control from any device on your network
- 🌐 Universal Support: Works with 50+ video formats (
.mkv,.mp4,.avi,.webm,.mov...) - 🚀 Auto-Download: Single match? Instant subtitle download with visual feedback
- 📲 Mobile Optimized: Fully responsive design with touch-friendly controls
- 🔒 Secure: No cloud dependencies - runs entirely on your local network
- ⚡ Fast API: Python FastAPI backend with async subtitle fetching
- 🐳 Docker-Only: Pure containerized deployment - no local dependencies
- Docker Desktop: Ensure Docker is installed and running.
- Git: To clone the repository.
- Note: No Node.js, Python, or npm is required on your host machine.
-
Clone the repository and navigate to the root:
git clone https://github.com/dragonpilee/Sublify.git cd Sublify -
Configure Volume Mapping (Important): Edit
docker-compose.ymland update the volume path to match your media library:services: backend: volumes: - D:/:/data # Windows: Change D:/ to your drive # - /path/to/movies:/data # Linux/Mac: Use absolute path
-
Build and launch the containers:
docker-compose up -d --build
-
Open your browser and visit: http://localhost:4321
# Restart containers
docker-compose restart
# Stop containers
docker-compose down
# View logs
docker-compose logs -f
# Rebuild after code changes
docker-compose up -d --build| Component | Technology |
|---|---|
| Frontend Framework | Astro 5 (React Islands) |
| Backend Framework | FastAPI (Python 3.10+) |
| Styling | TailwindCSS |
| Subtitle Engine | Subliminal |
| Infrastructure | Docker, Docker Compose |
Since Sublify runs in Docker, you can access it from any device on your Wi-Fi:
-
Find your PC's local IP address:
# Windows ipconfig # Linux/Mac ifconfig
-
Open
http://YOUR_PC_IP:4321on your phone/tablet- Example:
http://192.168.1.50:4321
- Example:
-
Note: The app controls the server's files. Dropping a file triggers subtitle download on the server, not your mobile device.
- Cinema-Grade Aesthetics: Deep blacks, cinema reds/purples, glassmorphism info cards
- Smart Feedback: Visual status indicators for success, error, and processing states
- Minimal Clutter: Clean interface - just the Drop Zone and Stats
- Responsive First: Optimized padding, text sizes, and touch targets for mobile
- SEO Optimized: Proper meta tags for social sharing and discoverability
- Drop a File: Drag your movie file from Explorer/Finder into the Drop Zone
- Smart Search: Backend searches your entire library for matching files
- Conflict Resolution:
- Single Match: Instant download ✅
- Multiple Matches: Modal appears - select the correct path
- Download: Subtitle (.srt) saved next to your video file
- Stats Update: Dashboard reflects your download count and bandwidth saved
Important: This project enforces a strict Docker-only workflow.
- Fork & Branch: Create a new branch for your feature.
- Develop: Test all changes inside the container (
docker-compose up). - Commit & Push: Submit your changes via Pull Request.
This project is open source and available under the MIT License.
Cinema-Grade Subtitle Manager • Docker-Only Deployment