acsaco's picture
download
raw
2.15 kB
# =============================================================================
# Manga Translator API - Docker Build
# Uses manga-image-translator as core engine (same as MangaLingo)
# =============================================================================
# Stage 1: Builder
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04 AS builder
ARG PYTHON_VERSION=3.11
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install -y --no-install-recommends \
python${PYTHON_VERSION} python${PYTHON_VERSION}-venv python3-pip \
curl wget git \
&& rm -rf /var/lib/apt/lists/*
RUN python${PYTHON_VERSION} -m venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
COPY requirements.txt /tmp/requirements.txt
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir \
torch torchvision torchaudio \
--index-url https://download.pytorch.org/whl/cu121 && \
pip install --no-cache-dir onnxruntime-gpu==1.19.2 && \
pip install --no-cache-dir -r /tmp/requirements.txt
# Stage 2: Runtime
FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04 AS runtime
ARG PYTHON_VERSION=3.11
ENV DEBIAN_FRONTEND=noninteractive
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
RUN apt-get update && apt-get install -y --no-install-recommends \
python${PYTHON_VERSION} python${PYTHON_VERSION}-venv \
curl libgl1-mesa-glx libglib2.0-0 \
libcublas-12-1 \
fonts-noto-cjk fonts-dejavu-core \
&& rm -rf /var/lib/apt/lists/*
COPY --from=builder /opt/venv /opt/venv
ENV PATH="/opt/venv/bin:$PATH"
RUN groupadd -r manga && useradd -r -g manga -d /app manga
WORKDIR /app
COPY app/ /app/app/
COPY configs/ /app/configs/
RUN mkdir -p /app/models/weights /app/models/cache && \
chown -R manga:manga /app
USER manga
HEALTHCHECK --interval=60s --timeout=10s --retries=3 --start-period=180s \
CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8002/health')" || exit 1
EXPOSE 8002
CMD ["python", "-m", "uvicorn", "app.main:app", \
"--host", "0.0.0.0", \
"--port", "8002", \
"--workers", "1", \
"--loop", "uvloop", \
"--http", "httptools"]

Xet Storage Details

Size:
2.15 kB
·
Xet hash:
3a5d7c82fdf229b62fa32dffcf417144c571fdae8c273e70e66bc48bc3eaf28d

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.