Files
2026-08-09 17:15:58 +00:00

42 lines
1.7 KiB
Markdown

# 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
```