Despliega tu propia plataforma de documentación colaborativa con BookStack y MariaDB
¿Te gustaría tener tu propio portal de documentación colaborativa tipo wiki, donde tu equipo pueda crear libros, capítulos y páginas ordenadas fácilmente? En este artículo te traigo un proyecto muy útil y con una instalación simplísima gracias a Docker Compose: BookStack junto con MariaDB como motor de base de datos.
BookStack: tu wiki personal y profesional
BookStack es una plataforma de documentación open source pensada para ser extremadamente intuitiva. Puedes documentar procesos, manuales, proyectos, API, recetas ¡y hasta historias familiares! Todo organizado por libros, capítulos y páginas, con permisos avanzados y editor WYSIWYG.
- Apto para equipos de cualquier tamaño.
- Sistema de roles y permisos para compartir o limitar accesos.
- Soporta Markdown y adjuntos.
- Interfaz moderna, localizable completamente al español.
- Ideal para documentación interna, portales de conocimiento, proyectos de código abierto y mucho más.
¿Por qué usar Docker Compose?
Docker Compose te permite orquestar múltiples servicios (en este caso, BookStack y MariaDB) con un solo comando, manteniendo todo el proyecto desplegable, portable y extremadamente fácil de actualizar o restaurar[3][4][5].
Fichero docker-compose.yml
Aquí tienes el archivo docker-compose.yml
listo para copiar y poner a funcionar tu BookStack en minutos:
version: "3.8"
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
container_name: bookstack
environment:
- PUID=1000
- PGID=1000
- APP_URL=http://localhost:6875
- DB_HOST=bookstack_db
- DB_USER=bookstack
- DB_PASS=bookstackpass
- DB_DATABASE=bookstackdb
volumes:
- ./data/bookstack:/config
ports:
- 6875:80
depends_on:
- bookstack_db
restart: unless-stopped
bookstack_db:
image: mariadb:11
container_name: bookstack_db
environment:
- MYSQL_ROOT_PASSWORD=s3cr3tr00t
- MYSQL_DATABASE=bookstackdb
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=bookstackpass
volumes:
- ./data/db:/var/lib/mysql
restart: unless-stopped
volumes:
# Declarados para la persistencia, pero puedes ajustarlos según tus rutas preferidas
¿Cómo lo despliego?
- Guarda el docker-compose.yml en una carpeta de tu servidor (por ejemplo,
~/bookstack
). - Crea los directorios de datos:
mkdir -p data/bookstack data/db
- Lanza los servicios:
docker compose up -d
- Accede a http://tu-servidor:6875 desde el navegador. La primera vez, tendrás que registrar un usuario administrador.
¡A documentar!
Ahora ya tienes tu propia plataforma interna de documentación que puede crecer con tu equipo y tus proyectos. Puedes personalizar el logo, la portada, el idioma y explorar integraciones o backups automáticos.
Consejos y troubleshooting
- Seguridad: Cambia las contraseñas del archivo y valora exponer el puerto solo en localhost si usas un proxy inverso.
- Respaldo: Haz copias periódicas de la carpeta
data/db
ydata/bookstack
para no perder nada. - Variables útiles: Puedes cambiar
APP_URL
para usar un dominio y añadir HTTPS fácilmente con un proxy tipo Caddy, Nginx o Traefik. - Errores de conexión a la base de datos: Si BookStack tarda en levantarse, es normal que muestre error hasta que MariaDB esté lista.
- Actualizaciones: Basta con
docker compose pull
ydocker compose up -d
para actualizar ambos servicios.