Files

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

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

docker compose --env-file .env ps
docker compose --env-file .env logs -f bookstack