Plataforma de documentación colaborativa con BookStack y MariaDB usando Docker Compose

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?

  1. Guarda el docker-compose.yml en una carpeta de tu servidor (por ejemplo, ~/bookstack).
  2. Crea los directorios de datos: mkdir -p data/bookstack data/db
  3. Lanza los servicios: docker compose up -d
  4. 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 y data/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 y docker compose up -d para actualizar ambos servicios.
Avatar

Por Mid