Docker autónomo: configuración del host en .env e imagen fijada
- Puertos, carpeta de mangas, PUID/PGID, URL pública y registro se configuran en .env (plantilla en .env.example); sin .env arranca con valores portables (0.0.0.0:3352, ./mangas). - Publicar en 0.0.0.0 evita fallar al arrancar si la IP de la LAN o de Tailscale aún no existe; el acceso lo siguen limitando las reglas DOCKER-USER del host. - Imagen base fijada a node:24.22.2-alpine3.24 (node:sqlite es experimental). - ALLOW_SIGNUP=false por defecto (el primer usuario puede registrarse igual). - Comprobación de permisos al arrancar con mensaje claro (chown / PUID). - README: qué guardar y cómo mover el servicio a otro servidor. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -29,11 +29,36 @@ Lector web de manga autoalojado, con las dos fuentes de
|
||||
## Uso
|
||||
|
||||
```bash
|
||||
cp .env.example .env # opcional: ajusta rutas, puerto, usuario…
|
||||
docker compose up -d --build
|
||||
# http://192.168.1.141:3352 (o la IP de Tailscale)
|
||||
# http://<ip-del-servidor>:3352
|
||||
```
|
||||
|
||||
Crea tu cuenta en la pantalla de inicio. Para cerrar el registro después:
|
||||
`ALLOW_SIGNUP=false` en `.env` y `docker compose up -d`.
|
||||
El contenedor no depende del sistema operativo: imagen Node fijada (`node:24.22.2-alpine3.24`),
|
||||
sin dependencias npm, y todo lo propio de la máquina está en `.env` (ver `.env.example`).
|
||||
Sin `.env` arranca igual: puerto 3352 en todas las interfaces y descargas en `./mangas`.
|
||||
|
||||
Copia de seguridad: basta con `data/manga.db` (+ `-wal`/`-shm` si existen).
|
||||
El primer usuario puede registrarse siempre; después el registro queda cerrado salvo
|
||||
`ALLOW_SIGNUP=true` en `.env`.
|
||||
|
||||
## Qué guardar / mover a otro servidor
|
||||
|
||||
| Qué | Dónde | Contenido |
|
||||
|---|---|---|
|
||||
| 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 |
|
||||
| `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 |
|
||||
| Mangas descargados | `MANGA_DIR_HOST` (aquí `/zdata/media/mangas`) | CBZ + portadas |
|
||||
|
||||
Pasos en el sistema nuevo:
|
||||
|
||||
```bash
|
||||
git clone <repo> manga-reader && cd manga-reader
|
||||
# copiar .env y data/ desde el servidor anterior (con el contenedor parado), y la carpeta de mangas
|
||||
id -u; id -g # si no son 1000, ponlos en PUID/PGID del .env
|
||||
docker compose up -d --build
|
||||
```
|
||||
|
||||
Si el usuario del host no coincide con PUID/PGID, el contenedor no arranca y el log dice
|
||||
exactamente qué `chown` hacer. Si la carpeta de mangas no existe, Docker la crea como root:
|
||||
créala antes (`mkdir -p` con tu usuario) para que las descargas funcionen.
|
||||
|
||||
Reference in New Issue
Block a user