Configuración de ejemplo genérica y datos internos fuera del repo

This commit is contained in:
2026-11-06 09:28:26 -06:00
parent bda8800a89
commit 8b82cbbfdb
4 changed files with 7 additions and 7 deletions
+3 -3
View File
@@ -5,14 +5,14 @@ PUID=1000
PGID=1000 PGID=1000
# Dónde guardar los mangas descargados en el host (por defecto ./mangas dentro del proyecto). # Dónde guardar los mangas descargados en el host (por defecto ./mangas dentro del proyecto).
MANGA_DIR_HOST=/zdata/media/mangas MANGA_DIR_HOST=./mangas
# Interfaz y puerto publicados. 0.0.0.0 = todas. # Interfaz y puerto publicados. 0.0.0.0 = todas.
BIND_IP=0.0.0.0 BIND_IP=0.0.0.0
HOST_PORT=3352 HOST_PORT=3352
# URL de la web que se usa en los enlaces de las notificaciones. # URL de la web que se usa en los enlaces de las notificaciones.
PUBLIC_URL=http://192.168.1.141:3352 PUBLIC_URL=http://localhost:3352
# Registro de cuentas nuevas (con la base vacía, el primer usuario siempre puede registrarse). # Registro de cuentas nuevas (con la base vacía, el primer usuario siempre puede registrarse).
ALLOW_SIGNUP=false ALLOW_SIGNUP=false
@@ -20,7 +20,7 @@ ALLOW_SIGNUP=false
# Grupo "render" del host, para usar la GPU en el reescalado HD (getent group render | cut -d: -f3). # Grupo "render" del host, para usar la GPU en el reescalado HD (getent group render | cut -d: -f3).
RENDER_GID=992 RENDER_GID=992
TZ=America/El_Salvador TZ=UTC
CHECK_INTERVAL_HOURS=3 CHECK_INTERVAL_HOURS=3
# --- Exponer a internet --- # --- Exponer a internet ---
+2 -2
View File
@@ -17,7 +17,7 @@ Lector web de manga autoalojado, con las fuentes de
- Usuarios con contraseña; el **historial y la página exacta** se guardan en el servidor - Usuarios con contraseña; el **historial y la página exacta** se guardan en el servidor
(`data/manga.db`), así que puedes seguir desde cualquier dispositivo/sesión. (`data/manga.db`), así que puedes seguir desde cualquier dispositivo/sesión.
- **Descargas**: botón "⬇ Descargar" en la ficha. Baja el manga entero en segundo plano a - **Descargas**: botón "⬇ Descargar" en la ficha. Baja el manga entero en segundo plano a
`/zdata/media/mangas/<Título>/Capitulo NNNN.cbz` (+ `cover.jpg`, `ComicInfo.xml` en cada CBZ), `./mangas/<Título>/Capitulo NNNN.cbz` (+ `cover.jpg`, `ComicInfo.xml` en cada CBZ),
compatible con Kavita/Komga/Mihon. Se reanuda tras reinicios; repetirla baja solo los capítulos compatible con Kavita/Komga/Mihon. Se reanuda tras reinicios; repetirla baja solo los capítulos
nuevos. Los capítulos descargados se leen desde disco y, sin conexión, la ficha usa los datos guardados. nuevos. Los capítulos descargados se leen desde disco y, sin conexión, la ficha usa los datos guardados.
- **Novedades**: los mangas que empiezas a leer (o marcas con "Seguir") se revisan cada - **Novedades**: los mangas que empiezas a leer (o marcas con "Seguir") se revisan cada
@@ -158,7 +158,7 @@ responde (`app/connectivity.js`).
| Código | este repositorio | se recrea con `git clone` | | Código | este repositorio | se recrea con `git clone` |
| `.env` | raíz del proyecto (no está en git) | rutas, puerto, PUID/PGID, URL pública | | `.env` | raíz del proyecto (no está en git) | rutas, puerto, PUID/PGID, URL pública |
| `data/` | raíz del proyecto (no está en git) | `manga.db` (+ `-wal`/`-shm`): usuarios, historial, estadísticas, seguimiento, ajustes; `secret`: clave del proxy de imágenes; `clips/`: recortes; `covers/`: portadas HD (caché) | | `data/` | raíz del proyecto (no está en git) | `manga.db` (+ `-wal`/`-shm`): usuarios, historial, estadísticas, seguimiento, ajustes; `secret`: clave del proxy de imágenes; `clips/`: recortes; `covers/`: portadas HD (caché) |
| Mangas descargados | `MANGA_DIR_HOST` (aquí `/zdata/media/mangas`) | CBZ + portadas | | Mangas descargados | `MANGA_DIR_HOST` (por defecto `./mangas`) | CBZ + portadas |
Pasos en el sistema nuevo: Pasos en el sistema nuevo:
+1 -1
View File
@@ -1,7 +1,7 @@
// Seguimiento de capítulos nuevos (+ notificaciones ntfy/Telegram y autodescarga), // Seguimiento de capítulos nuevos (+ notificaciones ntfy/Telegram y autodescarga),
// preferencias del lector por manga y estadísticas de lectura. // preferencias del lector por manga y estadísticas de lectura.
const CHECK_HOURS = Number(process.env.CHECK_INTERVAL_HOURS || 3) const CHECK_HOURS = Number(process.env.CHECK_INTERVAL_HOURS || 3)
const PUBLIC_URL = (process.env.PUBLIC_URL || 'http://192.168.1.141:3352').replace(/\/+$/, '') const PUBLIC_URL = (process.env.PUBLIC_URL || 'http://localhost:3352').replace(/\/+$/, '')
// Día local (TZ del contenedor) en formato YYYY-MM-DD. // Día local (TZ del contenedor) en formato YYYY-MM-DD.
export const dayOf = ts => new Date(ts).toLocaleDateString('sv-SE') export const dayOf = ts => new Date(ts).toLocaleDateString('sv-SE')
+1 -1
View File
@@ -40,7 +40,7 @@ services:
- "${RENDER_GID:-render}" - "${RENDER_GID:-render}"
ports: ports:
# 0.0.0.0 no depende de que la IP de la LAN o de Tailscale existan al arrancar. # 0.0.0.0 no depende de que la IP de la LAN o de Tailscale existan al arrancar.
# Para limitarlo a una interfaz: BIND_IP=192.168.1.141 en .env. # Para limitarlo a una interfaz: BIND_IP=192.0.2.10 en .env.
- "${BIND_IP:-0.0.0.0}:${HOST_PORT:-3352}:3352" - "${BIND_IP:-0.0.0.0}:${HOST_PORT:-3352}:3352"
read_only: true read_only: true
tmpfs: tmpfs: