Skip to content

Referencia de configuración ​

Vaultisse se configura con variables de entorno, definidas en el archivo .env junto a docker-compose.yml. Después de cambiar .env, aplícalo con:

bash
docker compose up -d

Los ajustes que omitas usan el valor por defecto que se indica abajo.

Lo esencial ​

VariablePor defectoQué hace
JWT_SECRETninguno, obligatorioSecreto que firma las sesiones. Usa un valor largo y aleatorio: openssl rand -hex 32. Cambiarlo cierra la sesión de todo el mundo.
DB_PASSWORDninguno, obligatorioContraseña de la base de datos.
FRONT_END_URLhttp://localhost:3000La dirección que la gente escribe en el navegador, con https:// y sin barra final. Controla qué orígenes acepta el servidor, así que debe coincidir exactamente.
ALLOW_DEV_AUTHfalseOmite el inicio de sesión con una sesión falsa. Nunca true en un servidor real.
APP_TAGlatestQué versión de Vaultisse ejecutar. Fíjala, por ejemplo 1.3.5.

Red y puertos ​

VariablePor defectoQué hace
API_PORT3000Puerto en el que escucha la aplicación, y puerto publicado en el host.
TRUST_PROXYfalsePon true solo cuando haya un proxy inverso o un túnel delante de la aplicación. Hace que la limitación de intentos use la dirección real de cada visitante. Activado y sin proxy, los visitantes pueden falsear su dirección.
ALLOW_HTTPfalsePon true solo cuando se acceda a la aplicación por http:// plano en algo distinto de localhost, como http://192.168.1.50:3000. Sin esto los navegadores reescriben todos los enlaces a https://. Déjalo en false siempre que haya HTTPS delante.
CSP_EXTRA_IMG_SRCvacíoSitios web adicionales autorizados a servir portadas de libros, separados por comas, por ejemplo https://covers.example.com.
CLOUDFLARE_TUNNEL_TOKENvacíoSolo se usa con el perfil cloudflare, consulta Proxy inverso y HTTPS.

Base de datos ​

VariablePor defectoQué hace
DB_NAMEvaultisseNombre de la base de datos.
DB_USERpostgresUsuario de la base de datos.
DB_PASSWORDningunoContraseña de la base de datos.

Con el archivo compose incluido, la aplicación siempre llega a la base de datos como db en el puerto 5432 dentro de la red de Compose, digan lo que digan DB_HOST y DB_PORT. Esos dos solo importan si ejecutas la aplicación fuera de Docker.

Cuentas y sesiones ​

VariablePor defectoQué hace
REGISTRATION_ENABLEDtruefalse desactiva la página de registro y el enlace de alta. Nadie puede crear una cuenta con contraseña.
REGISTRATION_REQUIRES_APPROVALfalsetrue permite registrarse, pero mantiene la cuenta desactivada hasta que la habilites en la base de datos, consulta Instalación.
SESSION_TIME3600000Cuánto dura una sesión sin actividad, en milisegundos (una hora). La actividad la renueva.
MAX_SESSION_AGE_DAYS30Lo máximo que puede durar una sesión, incluso con actividad constante. Pasado ese tiempo hay que iniciar sesión de nuevo.
DEMO_MODEfalseDeja la instancia en solo lectura para demostraciones públicas: solo funcionan el inicio de sesión y la consulta, y el SSO se desactiva.

Inicio de sesión único ​

Todo esto se explica paso a paso en Inicio de sesión único.

VariablePor defectoQué hace
OIDC_ISSUERvacíoDirección de tu proveedor de identidad.
OIDC_CLIENT_IDvacíoID de cliente del proveedor.
OIDC_CLIENT_SECRETvacíoSecreto de cliente del proveedor.
OIDC_REDIRECT_URIvacíoDebe ser exactamente https://tu-direccion/auth/oidc/callback.
OIDC_SCOPESopenid profile emailQué pedir al proveedor.
OIDC_BUTTON_LABELSign in with SSOTexto del botón de la página de inicio de sesión.
OIDC_GROUPS_CLAIMgroupsNombre del campo que contiene los grupos de una persona. Qué grupo abre qué biblioteca se define en cada biblioteca, no aquí.
OIDC_PERSONAL_VAULTtrueDa a una persona nueva con SSO una biblioteca propia en su primer inicio de sesión. Pon false para que vea solo las bibliotecas que le dan sus grupos.
SSO_ONLYfalseDesactiva el inicio de sesión con contraseña y el registro, para que el SSO sea la única vía. Se ignora si el SSO no está activado.

El SSO solo está activo cuando están definidos los cuatro primeros.

Subidas y límites ​

VariablePor defectoQué hace
MAX_EBOOK_FILE_SIZE_MB10El ebook más grande (.epub, .pdf, .mobi, .azw3) que se puede subir a un libro. Auméntalo para PDF escaneados.
MAX_IMPORT_FILE_SIZE_MB10El CSV más grande que acepta Importar libros.
MAX_JSON_BODY_PARSE100kbEl cuerpo de petición más grande que lee la API. Valen valores como 500kb o 1mb.
MAX_URLENCODED_BODY_PARSE100kbLo mismo, para peticiones tipo formulario.

Si pones un proxy inverso delante, puede tener su propio límite de subida. Nginx, por ejemplo, se detiene en 1m salvo que aumentes client_max_body_size.

Consulta de información de libros ​

VariablePor defectoQué hace
GOOGLE_BOOKS_API_KEYvacíoOpcional. Te da más consultas diarias a Google Books. Open Library se prueba primero y no necesita clave.
LIBRARYTHING_API_KEYvacíoOpcional. Un tercer sitio donde buscar una portada cuando los dos primeros no la tienen. Gratis con una cuenta de LibraryThing.

Registros ​

VariablePor defectoQué hace
LOGGER_PATH/app/logsDónde se escribe el registro dentro del contenedor. El volumen app-logs lo conserva. Déjalo.
DEBUG_LOGGINGfalseRegistro detallado, con consultas a la base de datos y nombres de personas y registros. Úsalo brevemente al resolver problemas y luego desactívalo.

Un archivo de partida razonable ​

ini
APP_TAG=1.3.5
FRONT_END_URL=https://books.example.com
JWT_SECRET=<salida de: openssl rand -hex 32>
DB_PASSWORD=<una contraseña larga y aleatoria>
ALLOW_DEV_AUTH=false
TRUST_PROXY=true
REGISTRATION_ENABLED=false

Es para un servidor público detrás de un proxy inverso, donde ya has creado las cuentas que necesitas.

Released under the MIT License.