42 lines
1.7 KiB
Markdown
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
|
|
```
|