1.5 KiB
1.5 KiB
Development and Production Setup Scripts
Start the API Server
Development Mode (with auto-reload)
# Activate virtual environment
.\venv\Scripts\Activate.ps1
# Start server with hot-reload
python main.py
Production Mode
# Activate virtual environment
.\venv\Scripts\Activate.ps1
# Start with uvicorn (better performance)
uvicorn main:app --host 0.0.0.0 --port 8000 --workers 4
Docker Deployment (Optional)
Create Dockerfile
FROM python:3.11-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
# Create directories
RUN mkdir -p uploads outputs temp
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
Build and Run
# Build image
docker build -t document-translator-api .
# Run container
docker run -d -p 8000:8000 -v ${PWD}/uploads:/app/uploads -v ${PWD}/outputs:/app/outputs document-translator-api
Environment Variables for Production
TRANSLATION_SERVICE=google
DEEPL_API_KEY=your_production_api_key
MAX_FILE_SIZE_MB=100
UPLOAD_DIR=/app/uploads
OUTPUT_DIR=/app/outputs
Monitoring and Logging
Add to requirements.txt for production:
prometheus-fastapi-instrumentator==6.1.0
python-json-logger==2.0.7
Security Hardening
- Add rate limiting
- Implement authentication (JWT/API keys)
- Enable HTTPS/TLS
- Sanitize file uploads
- Implement virus scanning for uploads
- Add request validation middleware