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_DOMAINyAPP_URLdeben coincidir para que enlaces, cookies y redirecciones HTTPS sean válidos.APP_KEYcifra 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_PUIDyBOOKSTACK_PGIDdeben tener acceso aBOOKSTACK_DATA_PATH.BOOKSTACK_LANGyBOOKSTACK_DARK_MODEfijan los valores iniciales de interfaz.BOOKSTACK_MAIL_FROM*identifica el remitente; el transporte usa el servicio internomail-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
proxyymail_internal - Un archivo
.envlocal con las imágenes, dominio, rutas, credenciales de base de datos yAPP_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