# BookStack Base de conocimiento y documentación desplegada con MariaDB, acceso por Traefik y envío de correo mediante `mail-relay`. ## Arquitectura y propósito `bookstack` sirve la aplicación y guarda adjuntos/configuración en `BOOKSTACK_DATA_PATH`; `bookstack-db` conserva páginas, permisos y estructura en MariaDB. La base sólo usa la red interna `bookstack`. La aplicación se añade a `proxy` para Traefik y a `mail_internal` para enviar correo sin publicar la base de datos ni el relay. ## Configuración - `BOOKSTACK_DOMAIN` y `APP_URL` deben coincidir para que enlaces, cookies y redirecciones HTTPS sean válidos. - `APP_KEY` cifra datos de aplicación: genérala una vez, mantenla estable y respáldala como secreto. - Las variables `BOOKSTACK_DB_*` conectan ambos contenedores; las contraseñas deben existir sólo en `.env`. - `BOOKSTACK_PUID` y `BOOKSTACK_PGID` deben tener acceso a `BOOKSTACK_DATA_PATH`. - `BOOKSTACK_LANG` y `BOOKSTACK_DARK_MODE` fijan los valores iniciales de interfaz. - `BOOKSTACK_MAIL_FROM*` identifica el remitente; el transporte usa el servicio interno `mail-relay`. Separar datos y base permite actualizar la imagen sin perder contenido y respaldar cada componente con el método adecuado. ## Requisitos - Docker Compose - Redes externas `proxy` y `mail_internal` - Un archivo `.env` local con las imágenes, dominio, rutas, credenciales de base de datos y `APP_KEY` ## Despliegue ```bash cd bookstack docker compose --env-file .env config docker compose --env-file .env up -d ``` Los datos de BookStack y MariaDB se conservan en las rutas indicadas por `BOOKSTACK_DATA_PATH` y `BOOKSTACK_DB_PATH`. ## Operación ```bash docker compose --env-file .env ps docker compose --env-file .env logs -f bookstack ```