lt_space / Dockerfile
Arsive2's picture
Updated ct translate
6a6828e
FROM python:3.10-slim
LABEL maintainer="Universal Translator Team"
LABEL description="Universal Translator API with CTranslate2 optimization"
# Set environment variables
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
CT2_MODEL_CACHE=/app/.cache/ct2_models \
NLTK_DATA=/app/nltk_data
# Install system dependencies
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
cmake \
git \
wget \
curl \
unzip \
pkg-config \
libpoppler-cpp-dev \
poppler-utils \
libgl1-mesa-glx \
&& rm -rf /var/lib/apt/lists/*
# Create directories
WORKDIR /app
RUN mkdir -p /app/app/models /app/.cache/ct2_models /app/nltk_data
# Copy requirements first for better caching
COPY requirements.txt .
# Install dependencies
RUN pip install --upgrade pip && \
pip install -r requirements.txt
# Copy application files
COPY . .
# Set permissions
RUN chmod -R 777 /app/.cache/ct2_models && \
python -c "import nltk; nltk.download('punkt', download_dir='/app/nltk_data')"
# Expose the port
EXPOSE 7860
# Start the application
CMD ["uvicorn", "api_server:app", "--host", "0.0.0.0", "--port", "7860"]