feat: Implement conversion service with job management and logging

- Added `ConversionService` class to handle job queuing, processing, and cancellation.
- Introduced `Job`, `JobLog`, and `JobResult` data classes to manage job details and results.
- Implemented job status tracking with enums for better state management.
- Created a web interface with HTML templates for job submission and monitoring.
- Developed CSS styles for a modern UI layout and responsive design.
- Added functionality for voice profile management in the voice mixer.
- Implemented a Docker Compose configuration for GPU support.
- Wrote unit tests for the conversion service to ensure job processing works as expected.
This commit is contained in:
JB
2025-10-05 15:53:33 -07:00
parent 033c809b95
commit 338ff104e8
18 changed files with 2353 additions and 436 deletions
+30
View File
@@ -0,0 +1,30 @@
services:
abogen:
build:
context: .
dockerfile: abogen/Dockerfile
args:
TORCH_INDEX_URL: ${TORCH_INDEX_URL:-https://download.pytorch.org/whl/cu124}
TORCH_VERSION: ${TORCH_VERSION:-}
image: abogen-gpu:latest
ports:
- "${ABOGEN_PORT:-8000}:8000"
volumes:
- ${ABOGEN_DATA:-./data}:/data
environment:
ABOGEN_HOST: 0.0.0.0
ABOGEN_PORT: 8000
ABOGEN_UPLOAD_ROOT: /data/uploads
ABOGEN_OUTPUT_ROOT: /data/outputs
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
device_requests:
- driver: nvidia
count: -1
capabilities: [gpu]
restart: unless-stopped