BookStack Docker Compose – Wiki y documentación self-hosted

BookStack Docker Compose - Wiki y documentación self-hosted

BookStack Docker Compose te permite desplegar una wiki self-hosted para organizar documentación en formato de libros, capítulos y páginas. Con editor WYSIWYG, Markdown, búsqueda global, diagramas integrados (diagrams.net) y soporte para OIDC, LDAP y MFA, es ideal para runbooks, documentación técnica y knowledge bases. En esta guía verás cómo instalar BookStack con Docker Compose usando la imagen de LinuxServer.io, configurar MariaDB, generar la APP_KEY y exponer el servicio tras Traefik o Caddy.

¿Qué es BookStack Docker Compose?

BookStack es un wiki open source (licencia MIT) diseñado para documentación sencilla y navegable. La estructura sigue estanterías → libros → capítulos → páginas; el editor WYSIWYG y opcionalmente Markdown facilita la escritura. Con BookStack Docker Compose despliegas la aplicación y la base de datos en unos minutos. El proyecto está en GitHub y la documentación oficial en bookstackapp.com. La imagen LinuxServer.io es la más usada y mantiene el mapeo correcto de volúmenes y variables de entorno.

Requisitos e instalación de BookStack Docker Compose

Necesitas Docker y Docker Compose v2. BookStack requiere MySQL o MariaDB; con la imagen LinuxServer puedes usar la imagen linuxserver/mariadb en el mismo stack. Genera primero la APP_KEY ejecutando:

docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey

Guarda la clave generada para el archivo .env. Crea un directorio para el proyecto y el archivo docker-compose.yml:

docker-compose.yml para BookStack Docker Compose

services:
  bookstack_db:
    image: lscr.io/linuxserver/mariadb:latest
    container_name: bookstack_db
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=rootpass
      - TZ=Europe/Madrid
    volumes:
      - bookstack_db:/config
    restart: unless-stopped

  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Madrid
      - APP_URL=http://TU_IP:6875
      - APP_KEY=base64:TU_APP_KEY_GENERADA
      - DB_HOST=bookstack_db
      - DB_PORT=3306
      - DB_USERNAME=bookstack
      - DB_PASSWORD=bookstackpass
      - DB_DATABASE=bookstackapp
    volumes:
      - bookstack_config:/config
    ports:
      - "6875:80"
    depends_on:
      - bookstack_db
    restart: unless-stopped

volumes:
  bookstack_db:
  bookstack_config:

Antes de arrancar, crea el usuario y la base de datos en MariaDB. Conecta al contenedor bookstack_db y ejecuta:

docker exec -it bookstack_db mysql -uroot -prootpass -e "
CREATE DATABASE IF NOT EXISTS bookstackapp;
CREATE USER IF NOT EXISTS 'bookstack'@'%' IDENTIFIED BY 'bookstackpass';
GRANT ALL ON bookstackapp.* TO 'bookstack'@'%';
FLUSH PRIVILEGES;
"

O usa un docker-compose.yml que incluya un script de inicialización. Arranca con docker compose up -d. Accede a http://TU_IP:6875. Credenciales por defecto: [email protected] / password; cámbialas al instante. Si usas proxy inverso con subcarpeta o subdominio, configura APP_URL con la URL pública exacta (por ejemplo https://wiki.tudominio.com). La documentación de instalación detalla las variables adicionales.

Configurar BookStack Docker Compose detrás de proxy inverso

Con Traefik o Caddy terminas SSL y rediriges al puerto 6875 (o 80 dentro del contenedor). En APP_URL usa la URL pública (por ejemplo https://wiki.tudominio.com) sin barra final. Si cambias la URL después de la instalación, ejecuta:

docker exec -it bookstack php /app/www/artisan bookstack:update-url http://URL_VIEJA http://URL_NUEVA

El volumen /config persiste subidas, temas, backups y logs. Más guías de Docker Compose en el blog para combinar BookStack con otros servicios.

Actualizar y mantener BookStack Docker Compose

Para actualizar: docker compose pull y docker compose up -d. Los backups se guardan en /config/backups si los configuras en la aplicación. Para email, LDAP u OIDC añade las variables indicadas en la documentación de BookStack o monta un .env personalizado en /config/www/.env.

Conclusión

Con BookStack Docker Compose tienes una wiki self-hosted lista en minutos: estructura en libros y capítulos, editor WYSIWYG, Markdown, diagramas, búsqueda y opciones de autenticación avanzadas. La imagen LinuxServer.io simplifica el despliegue; combinada con MariaDB y un proxy inverso tienes una base de documentación segura y accesible.

FAQ sobre BookStack Docker Compose

¿En qué puerto escucha BookStack? Por defecto la imagen LinuxServer expone el puerto 80 del contenedor; lo mapeas a 6875 en el host (o al que prefieras).

¿Puedo usar MySQL en lugar de MariaDB? Sí. BookStack es compatible con MySQL 5.7+ y MariaDB. Ajusta DB_HOST, DB_PORT y las credenciales.

¿Cómo cambio la APP_URL después de instalar? Ejecuta docker exec -it bookstack php /app/www/artisan bookstack:update-url URL_VIEJA URL_NUEVA.

¿Dónde están los backups? En /config/backups si los activas en la configuración de la aplicación.

¿Dónde está el código fuente? En github.com/BookStackApp/BookStack. La web oficial es bookstackapp.com.

Avatar

Por Mid

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x