Files
manga-reader/Dockerfile

28 lines
1.7 KiB
Docker
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Real-ESRGAN (ncnn-vulkan) para el reescalado HD. Solo se guardan los modelos de anime ×2 (capítulos) y ×4 (recortes).
FROM debian:trixie-slim AS esrgan
ARG ESRGAN_URL=https://github.com/xinntao/Real-ESRGAN/releases/download/v0.2.5.0/realesrgan-ncnn-vulkan-20220424-ubuntu.zip
ARG ESRGAN_SHA256=e5aa6eb131234b87c0c51f82b89390f5e3e642b7b70f2b9bbe95b6a285a40c96
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl unzip && rm -rf /var/lib/apt/lists/*
RUN curl -fsSL -o /tmp/esr.zip "$ESRGAN_URL" \
&& echo "$ESRGAN_SHA256 /tmp/esr.zip" | sha256sum -c - \
&& mkdir -p /opt/realesrgan/models && cd /tmp && unzip -q esr.zip -d esr \
&& install -m 755 esr/realesrgan-ncnn-vulkan /opt/realesrgan/ \
&& cp esr/models/realesr-animevideov3-x2.* esr/models/realesr-animevideov3-x4.* /opt/realesrgan/models/
# Versión fijada: node:sqlite aún es experimental y una actualización silenciosa podría romperlo.
# Debian (no Alpine): Real-ESRGAN necesita glibc y los controladores Vulkan de Mesa.
FROM node:24.22.2-trixie-slim
ENV NODE_ENV=production NODE_NO_WARNINGS=1 \
UPSCALER_BIN=/opt/realesrgan/realesrgan-ncnn-vulkan \
MESA_SHADER_CACHE_DIR=/tmp/mesa-cache
RUN apt-get update && apt-get install -y --no-install-recommends tzdata libvulkan1 mesa-vulkan-drivers libgomp1 webp \
&& rm -rf /var/lib/apt/lists/*
COPY --from=esrgan /opt/realesrgan /opt/realesrgan
WORKDIR /app
COPY app/ ./
# Usuario por defecto; docker-compose.yml lo sustituye por PUID:PGID.
USER node
EXPOSE 3352
HEALTHCHECK --interval=60s --timeout=5s --start-period=20s CMD node -e "fetch('http://127.0.0.1:3352/api/me').then(r=>process.exit(r.status<500?0:1),()=>process.exit(1))"
CMD ["node", "server.js"]