office_translator/DEPLOYMENT.md

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

  1. Add rate limiting
  2. Implement authentication (JWT/API keys)
  3. Enable HTTPS/TLS
  4. Sanitize file uploads
  5. Implement virus scanning for uploads
  6. Add request validation middleware