d28c4caa6a
feat(scanning): add library scanner with rules engine
...
- Add ScanRule model with configurable conditions
- Add FileAnalyzer for ffprobe-based media analysis
- Add LibraryScanner with manual, scheduled and watcher modes
- Add LanguageDetector for audio language detection
- Support rule-based filtering with priority evaluation
2026-01-16 16:54:41 +01:00
58c565cd96
feat(core): add database, models, queue and settings system
...
- Add SQLAlchemy database setup with session management
- Add Job model with status, priority and progress tracking
- Add QueueManager with priority queue and deduplication
- Add SystemSettings model for database-backed configuration
- Add SettingsService with caching and defaults
- Add SystemMonitor for CPU/RAM/GPU resource monitoring
- Add LanguageCode utilities (moved from root)
2026-01-16 15:11:30 +01:00
9594c0b8ab
refactor(config): simplify to database-backed settings
...
- Reduce .env.example to only DATABASE_URL
- Simplify backend/config.py to only read database connection
- All other settings now managed via database and Web UI
2026-01-16 15:11:02 +01:00
8373d8765f
docs: add comprehensive project documentation
...
- Replace original Subgen README with TranscriptorIO documentation
- Add docs/API.md with 45+ REST endpoint documentation
- Add docs/ARCHITECTURE.md with backend component details
- Add docs/FRONTEND.md with Vue 3 frontend structure
- Add docs/CONFIGURATION.md with settings system documentation
- Remove outdated backend/README.md
2026-01-16 15:10:41 +01:00
9655686a50
chore: cleanup legacy files and update gitignore
...
- Remove obsolete Docker files (will be recreated later)
- Remove legacy launcher.py and transcriptarr.py
- Remove subgen.xml configuration
- Remove test_backend.py (tests will be restructured)
- Remove language_code.py from root (moved to backend/core/)
- Update .gitignore for Python project structure
2026-01-16 15:10:14 +01:00
8acbe84b15
chore: update project structure and workflows
...
- Update .gitignore for new backend structure
- Update GitHub workflows for transcriptarr rename
- Update launcher.py to use new module name
2026-01-11 21:37:23 +01:00
4e9e3c4159
docs: add comprehensive documentation and test suite
...
- Add CLAUDE.md with project architecture and operation modes
- Add backend/README.md with setup and usage instructions
- Add test_backend.py with automated tests for config, database, and queue
- Update requirements.txt with optional dependencies structure
- Update .env.example with all configuration options
2026-01-11 21:37:20 +01:00
7959210724
feat: add centralized configuration system with Pydantic
...
- Add backend/config.py with Pydantic settings validation
- Support for standalone, provider, and hybrid operation modes
- Multi-database backend configuration (SQLite/PostgreSQL/MariaDB)
- Environment variable validation with helpful error messages
- Worker and Whisper model configuration
2026-01-11 21:23:45 +01:00
McCloudS
ad0bdba03d
Fix double task_done in ASR/detect-language handlers ( #262 )
Update_CalVer_Amend / docker (push) Successful in 24s
2026-01-10 22:59:03 +00:00
McCloudS
11cca018ae
Check model existence before unloading
...
Add a check to ensure model exists before unloading.
2026-01-07 22:17:19 +00:00
McCloudS
948d44ca66
Remove unused import statement for cutil
...
Removed unused import of cutil.
2026-01-07 21:33:27 +00:00
McCloudS
809f1a055d
Import cutil and ctypes for memory optimization
...
Added ctypes and cutil imports for memory management.
2026-01-07 19:13:28 +00:00
McCloudS
594b78b84f
Refactor transcription worker error handling
...
Might fix CPU memory leak.
2026-01-07 18:39:30 +00:00
McCloudS
7373f9a87b
Change runner to self-hosted for GPU build
2025-12-13 14:15:57 -05:00
McCloudS
1f428eabf9
Update GitHub Actions workflow for GPU build
2025-12-13 12:58:21 -05:00
McCloudS
a0778e7220
Remove local Docker artifacts cleanup step
...
Removed cleanup step for local Docker artifacts after job completion.
2025-12-13 12:46:14 -05:00
McCloudS
6e99826c9e
Downgrade CUDA base image version in Dockerfile
...
Not worth the other broken stuff to save ~1gb of space for now...
2025-12-13 12:34:08 -05:00
McCloudS
8bbf9eff6f
Remove disk cleanup step from build_GPU workflow
...
Removed pre-job step for cleaning up disk space.
2025-12-13 12:12:20 -05:00
McCloudS
512a8a473b
Update CUDA base image version in Dockerfile
2025-12-13 12:09:10 -05:00
McCloudS
771ec16597
Update GitHub Actions workflow for GPU build
2025-12-13 12:06:50 -05:00
McCloudS
c0cc23b5a9
Enhance GPU build workflow with disk cleanup steps
...
Added pre-job and post-job steps for disk cleanup in the GPU build workflow.
2025-12-13 12:00:42 -05:00
McCloudS
44acb13e2b
Update CUDA base image version in Dockerfile
...
Trying to shrink the image...
2025-12-13 11:48:46 -05:00
McCloudS
9e5d9229e9
Force /batch to require a string
2025-11-23 20:36:59 +00:00
McCloudS
dc0cb72b3d
Add timestamps to regular logging.
2025-09-17 14:11:06 +00:00
McCloudS
34df085cfe
Add curl to image
2025-08-30 09:19:38 -04:00
McCloudS
12a5e1803b
Add curl to image
2025-08-30 09:19:27 -04:00
McCloudS
fc3b7b0bd4
Update subgen.py
2025-08-28 23:52:45 +00:00
McCloudS
8c598007e5
Clarify if we're transcribing or translating from Bazarr
2025-08-28 23:36:16 +00:00
McCloudS
298dcd74a9
Standardize environment variable naming with backwards compatibility ( #229 )
...
- Add get_env_with_fallback() helper function for seamless migration
- Implement consistent UPPERCASE_WITH_UNDERSCORES naming convention
- Group variables by logical categories (PLEX_*, JELLYFIN_*, PROCESS_*, SKIP_*, etc.)
- Maintain full backwards compatibility with legacy variable names
- Add comprehensive documentation explaining new naming convention
New standardized names with backwards compatibility:
- PLEX_TOKEN (was PLEXTOKEN)
- PLEX_SERVER (was PLEXSERVER)
- JELLYFIN_TOKEN (was JELLYFINTOKEN)
- JELLYFIN_SERVER (was JELLYFINSERVER)
- PROCESS_ADDED_MEDIA (was PROCADDEDMEDIA)
- PROCESS_MEDIA_ON_PLAY (was PROCMEDIAONPLAY)
- SUBTITLE_LANGUAGE_NAME (was NAMESUBLANG)
- WEBHOOK_PORT (was WEBHOOKPORT)
- SKIP_IF_EXTERNAL_SUBTITLES_EXIST (was SKIPIFEXTERNALSUB)
- SKIP_IF_TARGET_SUBTITLES_EXIST (was SKIP_IF_TO_TRANSCRIBE_SUB_ALREADY_EXIST)
- SKIP_IF_INTERNAL_SUBTITLES_LANGUAGE (was SKIPIFINTERNALSUBLANG)
- SKIP_SUBTITLE_LANGUAGES (was SKIP_LANG_CODES)
- SKIP_IF_AUDIO_LANGUAGES (was SKIP_IF_AUDIO_TRACK_IS)
- SKIP_ONLY_SUBGEN_SUBTITLES (was ONLY_SKIP_IF_SUBGEN_SUBTITLE)
- SKIP_IF_NO_LANGUAGE_BUT_SUBTITLES_EXIST (was SKIP_IF_LANGUAGE_IS_NOT_SET_BUT_SUBTITLES_EXIST)
Migration is seamless - both old and new names work simultaneously.
New names take precedence when both are set.
Tested: All mappings, type conversions, precedence logic, and syntax validation.
2025-08-27 00:48:04 +00:00
McCloudS
9879e2d4b9
Prepare for pull 229 changes in the readme
2025-08-26 20:47:36 -04:00
McCloudS
405476ca87
Fix subtitle checking logic to properly separate internal vs external subtitle detection ( #228 )
...
- Line 1139: Change has_subtitle_language() to has_subtitle_language_in_file() for SKIPIFINTERNALSUBLANG check
- Line 1148: Change has_subtitle_language() to has_subtitle_of_language_in_folder() for SKIPIFEXTERNALSUB check
This fixes the logic conflict where:
- SKIPIFINTERNALSUBLANG should only check for internal/embedded subtitles
- SKIPIFEXTERNALSUB should only check for external subtitle files
Previously both were using has_subtitle_language() which checks both internal AND external,
causing incorrect skip behavior when users wanted to generate subtitles despite having
internal subtitles but skip when external subtitle files exist.
2025-08-22 03:21:11 +00:00
McCloudS
94cc7c5005
fix naming subtitles again
2025-08-12 12:03:59 +00:00
McCloudS
51ca07ddf4
Update README.md
2025-08-12 07:59:47 -04:00
McCloudS
41b843965d
Fix subtitle naming for distil 3.5
...
Original function split on '.' which broken naming with models with decimals.
2025-08-12 11:58:30 +00:00
v3DJG6GL
67f0bf1404
fix "SUBGEN_KWARGS" example ( #209 )
...
I think the example is wrong here. The values should be passed as boolean and float instead of strings.
Not sure but I suppose this issue was caused by this. I at least got the exact same error message: https://github.com/McCloudS/subgen/issues/114
2025-05-14 19:06:20 -06:00
McCloudS
04026c3b64
Revert Logging Change
2025-05-14 15:59:22 +00:00
McCloudS
c80b5db14d
Fix terrible hierarchy of environment/external variables
...
DEBUG should be respected now.
2025-05-14 09:57:43 -06:00
McCloudS
d9febbe991
Fix Uvicorn logger overwriting Subgen logging
2025-05-14 14:47:44 +00:00
McCloudS
2b0f0fc478
Fix calling an empty environment variable
2025-05-11 01:31:49 +00:00
McCloudS
5e209bfc0c
Add "Known Issues"
2025-05-03 10:08:58 -06:00
McCloudS
b73c32aa71
Update README.md
2025-05-02 09:40:07 -06:00
McCloudS
4b2407b370
Update README.md
2025-05-02 09:33:09 -06:00
McCloudS
89e0556930
Add option to remove subgen and model name from subtitle filename
2025-05-02 15:32:01 +00:00
McCloudS
49d85bf939
Update Dockerfile
2025-03-28 03:04:45 -06:00
McCloudS
ec2b636ee0
Add tzdata for TZ env variable
2025-03-27 19:37:38 -06:00
McCloudS
9e35780e7b
Add tzdata for TZ env variable
2025-03-27 19:37:22 -06:00
McCloudS
3ed6da7f4c
add video_file for detect-language if Bazarr provides it.
2025-03-05 02:36:44 +00:00
McCloudS
d183ad574a
Fix wrong languagecode being used
2025-03-02 19:41:17 +00:00
McCloudS
cc2868915f
Add queue debug logging.
2025-03-02 02:26:02 +00:00
McCloudS
3cba9352a8
reorganize detect-language logic
2025-03-02 00:53:54 +00:00