feat: altyazı otomasyon sistemi MVP'sini ekle

Docker tabanlı mikro servis mimarisi ile altyazı otomasyon sistemi altyapısı kuruldu.

- Core (Node.js): Chokidar dosya izleyici, BullMQ iş kuyrukları, ffprobe medya analizi, MongoDB entegrasyonu ve dosya yazma işlemleri.
- API (Fastify): Mock sağlayıcılar, arşiv güvenliği (zip-slip), altyazı doğrulama, puanlama ve aday seçim motoru.
- UI (React/Vite): İş yönetimi paneli, canlı SSE log akışı, manuel inceleme arayüzü ve sistem ayarları.
- Altyapı: Docker Compose (dev/prod), Redis, Mongo ve çevresel değişken yapılandırmaları.
This commit is contained in:
2026-02-15 23:12:24 +03:00
commit f1a1f093e6
72 changed files with 2882 additions and 0 deletions

94
compose.dev.yml Normal file
View File

@@ -0,0 +1,94 @@
services:
mongo:
image: mongo:7
container_name: subwatcher-mongo-dev
ports:
- "27017:27017"
volumes:
- mongo_data:/data/db
redis:
image: redis:7-alpine
container_name: subwatcher-redis-dev
ports:
- "6379:6379"
volumes:
- redis_data:/data
api:
build:
context: ./services/api
target: dev
container_name: subwatcher-api-dev
env_file:
- .env
environment:
- NODE_ENV=development
- API_PORT=3002
- TEMP_ROOT=/temp
- ENABLE_API_KEY=false
ports:
- "3002:3002"
volumes:
- ./services/api:/app
- api_node_modules:/app/node_modules
- temp_data:/temp
depends_on:
- mongo
- redis
core:
build:
context: ./services/core
target: dev
container_name: subwatcher-core-dev
env_file:
- .env
environment:
- NODE_ENV=development
- CORE_PORT=3001
- MONGO_URI=mongodb://mongo:27017/subwatcher
- REDIS_HOST=redis
- REDIS_PORT=6379
- API_BASE_URL=http://api:3002
- TEMP_ROOT=/temp
- MEDIA_TV_PATH=/media/tv
- MEDIA_MOVIE_PATH=/media/movie
- ENABLE_API_KEY=false
ports:
- "3001:3001"
volumes:
- ./services/core:/app
- core_node_modules:/app/node_modules
- temp_data:/temp:ro
- ./_media/tv:/media/tv
- ./_media/movie:/media/movie
depends_on:
- mongo
- redis
- api
ui:
build:
context: ./services/ui
target: dev
container_name: subwatcher-ui-dev
environment:
- NODE_ENV=development
- VITE_CORE_URL=http://core:3001
- VITE_PUBLIC_CORE_URL=http://localhost:3001
ports:
- "5173:5173"
volumes:
- ./services/ui:/app
- ui_node_modules:/app/node_modules
depends_on:
- core
volumes:
mongo_data:
redis_data:
temp_data:
core_node_modules:
api_node_modules:
ui_node_modules: