|
| 1 | +# Subsyncarr |
| 2 | + |
| 3 | +An automated subtitle synchronization tool that runs as a Docker container. It watches a directory for video files with matching subtitles and automatically synchronizes them using both ffsubsync and autosubsync. |
| 4 | + |
| 5 | +## Features |
| 6 | + |
| 7 | +- Automatically scans directory for video files and their corresponding subtitles |
| 8 | +- Uses both ffsubsync and autosubsync for maximum compatibility |
| 9 | +- Runs on a schedule (daily at midnight) and on container startup |
| 10 | +- Supports common video formats (mkv, mp4, avi, mov) |
| 11 | +- Docker-based for easy deployment |
| 12 | +- Generates synchronized subtitle files with `.ffsubsync.srt` and `.autosubsync.srt` extensions |
| 13 | + |
| 14 | +## Quick Start |
| 15 | + |
| 16 | +### Using Docker Compose (Recommended) |
| 17 | + |
| 18 | +#### 1. Create a new directory for your project: |
| 19 | + |
| 20 | +```bash |
| 21 | +mkdir subsyncarr && cd subsyncarr |
| 22 | +``` |
| 23 | + |
| 24 | +#### 2. Download the docker-compose.yml and .env.example files: |
| 25 | + |
| 26 | +```bash |
| 27 | +curl -O https://raw.githubusercontent.com/johnpc/subsyncarr/main/docker-compose.yml |
| 28 | +curl -O https://raw.githubusercontent.com/johnpc/subsyncarr/main/.env.example |
| 29 | +``` |
| 30 | + |
| 31 | +#### 3. Create your .env file: |
| 32 | + |
| 33 | +```bash |
| 34 | +cp .env.example .env |
| 35 | +``` |
| 36 | + |
| 37 | +#### 4. Edit the .env file with your settings: |
| 38 | + |
| 39 | +```bash |
| 40 | +MEDIA_PATH=/path/to/your/media |
| 41 | +TZ=America/New_York # Adjust to your timezone |
| 42 | +``` |
| 43 | + |
| 44 | +#### 5. Start the container: |
| 45 | + |
| 46 | +```bash |
| 47 | +docker-compose up -d |
| 48 | +``` |
| 49 | + |
| 50 | +## Configuration |
| 51 | + |
| 52 | +The container is configured to: |
| 53 | + |
| 54 | +- Scan for subtitle files in the mounted directory |
| 55 | +- Run synchronization at container startup |
| 56 | +- Run daily at midnight (configurable via cron) |
| 57 | +- Generate synchronized subtitle versions using different tools (currently ffsubsync and autosubsync) |
| 58 | + |
| 59 | +### Directory Structure |
| 60 | + |
| 61 | +Your media directory should be organized as follows: |
| 62 | + |
| 63 | +/media |
| 64 | + ├── movie1.mkv |
| 65 | + ├── movie1.srt |
| 66 | + ├── movie2.mp4 |
| 67 | + └── movie2.srt |
| 68 | + |
| 69 | +It should follow the naming conventions expected by other services like Bazarr and Jellyfin. |
| 70 | + |
| 71 | +## Logs |
| 72 | + |
| 73 | +View container logs: |
| 74 | + |
| 75 | +```bash |
| 76 | +docker logs -f subsyncarr |
| 77 | +``` |
0 commit comments