Setup Dockerization for Voice App Backend
Description
The backend currently requires manual environment setup, which leads to inconsistencies across development and deployment environments. This issue focuses on containerizing the application using Docker to ensure portability, reproducibility, and easier deployment.
Problem Statement
- Manual setup of dependencies is time-consuming and error-prone
- Environment inconsistencies across different systems
- Difficult to onboard new developers quickly
- No standardized deployment workflow
Proposed Solution
- Create a Dockerfile to containerize the backend application
- Add .dockerignore to optimize build size
- Configure environment variables for flexible deployment
- Ensure compatibility with existing startup script (uvicorn entrypoint)
- Optionally add docker-compose.yml for multi-service setup (backend, DB, etc.)
Tasks
- Write Dockerfile for backend service
- Add .dockerignore file
- Configure environment variables (ASR_HOST, ASR_PORT, etc.)
- Ensure app runs correctly inside container
- Expose required ports (e.g., 8001)
- Test container locally
- (Optional) Add docker-compose.yml for full stack setup
Acceptance Criteria
- Application builds successfully using Docker
- Container runs without errors
- Backend accessible via exposed port
- Environment variables configurable at runtime
- Setup works consistently across different machines