Reescalado HD, ficha reorganizada y mejoras del lector

- 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>
This commit is contained in:
2026-10-31 10:51:29 -06:00
co-authored by Claude Opus 5.5
parent 9e9139f43a
commit bc84a9f6fe
10 changed files with 645 additions and 64 deletions
+20 -4
View File
@@ -1,11 +1,27 @@
# 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.
FROM node:24.22.2-alpine3.24
ENV NODE_ENV=production NODE_NO_WARNINGS=1
RUN apk add --no-cache tzdata
# 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 wget -qO- http://127.0.0.1:3352/api/me >/dev/null || exit 1
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"]