- Reescalado HD con Real-ESRGAN (ncnn-vulkan, GPU por /dev/dri): cola persistente, todo lo pendiente, un rango o capítulos elegidos en la lista, con estimación de tiempo. La versión HD va a <carpeta>/.hd/ sin tocar el original; marca HD en la lista de capítulos y casilla "Versión HD" en el lector. - Imagen Debian slim (glibc + Mesa Vulkan + cwebp); compose con /dev/dri y RENDER_GID. - Ficha: acciones principales + menú ⋯, panel "Biblioteca local" (copia local y HD), idioma junto a la lista de capítulos. - Lector: la barra de progreso avanza de derecha a izquierda en der → izq; botón rápido páginas ⇄ vertical; en vertical "Ajustar alto" y "Separar páginas" para mangas. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
28 lines
1.6 KiB
Docker
28 lines
1.6 KiB
Docker
# Real-ESRGAN (ncnn-vulkan) para el reescalado HD. Solo se guarda el modelo de anime ×2.
|
||
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.* /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"]
|