Cómo instalar BookStack en Docker - Wiki y documentación autohospedada en Docker

BookStack | Wiki | Docker

BookStack: Wiki y documentación profesional autohospedada en Docker

Wiki simple y potente. Shelves → Books → Chapters → Pages. WYSIWYG + Markdown. Búsqueda. Roles y permisos. MFA. SAML/LDAP/OIDC. Laravel + PHP. Control total. Gratuito.

¿Qué es BookStack?


BookStack es una plataforma de wiki y documentación simple, poderosa y completamente autohospedable diseñada para equipos y organizaciones que necesitan un lugar centralizado para almacenar, organizar y compartir documentación sin depender de servicios SaaS como Confluence (caro), Notion (sin control) o wikis complejas. A diferencia de MediaWiki (complejo) o DokuWiki (antiguo), BookStack ofrece una interfaz moderna, WYSIWYG intuitiva, y características empresariales como MFA, SAML2, LDAP, y permisos granulares.

Stack profesional: Laravel + PHP + MySQL. Organización jerárquica simple: Shelves (estantes) → Books (libros) → Chapters (capítulos) → Pages (páginas). Editor WYSIWYG moderno o Markdown nativo. Búsqueda full-text. Revisión de páginas. Permisos granulares (Admin, Editor, Viewer). MFA con TOTP. Autenticación social (GitHub, Google, Slack) y empresarial (SAML2, LDAP, OIDC). Temas claro/oscuro. Completamente gratuito MIT License.

Para documentación interna: Equipos, startups, empresas que necesiten wiki profesional sin SaaS. Control de datos total. Sin límite de usuarios o documentos.

Características principales

Organización jerárquica

Shelves → Books → Chapters → Pages. Intuitivo y escalable.

Editor WYSIWYG

Interfaz simple y moderna. Drag-drop. Formatos sin código.

Markdown nativo

Editor Markdown con preview en vivo. Para developers.

Búsqueda full-text

Busca en toda la wiki. Por página, libro, capítulo.

Roles y permisos

Admin, Editor, Viewer. Control granular por libro/capítulo.

MFA integrado

TOTP (Google Authenticator, Authy, etc). Backup codes.

Autenticación social

GitHub, Google, Slack, Azure AD. O email/password.

SAML2, LDAP, OIDC

Autenticación empresarial. Integración directorio corporativo.

Revisiones de página

Historial completo. Restaura versiones antiguas.

Gestión de imágenes

Sube, organiza, inserta en documentos.

API completa

Intégra con herramientas externas. CRUD de contenido.

Temas claro/oscuro

Interfaz moderna. Accesible. Responsivo.

Requisitos del sistema

  • Docker & Docker Compose
  • 1-2 GB RAM (PHP + MySQL)
  • 5+ GB espacio disco (base de datos, imágenes, documentos)
  • Puerto 80/443 (HTTP/HTTPS)
  • MySQL 5.7+ o MariaDB (incluido en docker-compose)
  • PHP 8.0+ (incluido en imagen Docker)
Ligero: BookStack es ligero comparado con Confluence. Rápido incluso con documentación extensa.

Instalación con Docker Compose

Opción 1: Instalación simple

cat > docker-compose.yml << 'EOF' version: '3.8' services: db: image: mysql:8 container_name: bookstack_db restart: unless-stopped environment: - MYSQL_DATABASE=bookstack - MYSQL_USER=bookstack - MYSQL_PASSWORD=contraseña-segura - MYSQL_ROOT_PASSWORD=root-password volumes: - bookstack_db:/var/lib/mysql bookstack: image: lscr.io/linuxserver/bookstack:latest container_name: bookstack restart: unless-stopped ports: - "80:80" environment: - APP_URL=http://localhost - DB_HOST=db - DB_PORT=3306 - DB_NAME=bookstack - DB_USER=bookstack - DB_PASS=contraseña-segura volumes: - ./config:/config depends_on: - db volumes: bookstack_db: EOF

Iniciar

docker compose up -d

Acceder

http://localhost con admin@example.com / password

Primeros pasos

1. Acceder al panel

  1. Abre http://localhost
  2. Login con admin@example.com / password
  3. Dashboard con overview de tu wiki

2. Crear estructura: Shelf → Book → Chapter → Page

  1. Click "Create" → "New Shelf" (estante)
  2. Nombre: "Documentación", "Procesos", "Técnico", etc
  3. En el shelf: "Add book" (libro)
  4. Nombre libro: "Onboarding", "API Docs", "Runbooks"
  5. En el libro: "Add chapter" (capítulo)
  6. Nombre capítulo: "Primeros pasos", "Autenticación", "Errores comunes"
  7. En el capítulo: "Add page" (página)

3. Crear una página

  1. Click "Add page" desde cualquier nivel
  2. Título: "Guía de instalación"
  3. Editor WYSIWYG aparece. Escribe con botones o pega HTML
  4. O switch a Markdown si prefieres
  5. Save

4. Insertar imágenes

  1. En editor: botón de imagen o drag-drop
  2. Sube desde tu computadora o URL
  3. Se inserta automáticamente en la página

5. Gestionar usuarios y permisos

  1. Settings → Users → New user
  2. Email, password, role (Admin/Editor/Viewer)
  3. Permisos: puedes restringir por libro/capítulo

6. Habilitar autenticación social

  1. Settings → Registration & Login → OAuth options
  2. GitHub: App ID + Secret (desde GitHub Developer Settings)
  3. Google: Client ID + Secret (desde Google Cloud Console)
  4. Usuarios ahora pueden login con GitHub/Google

7. Configurar MFA

  1. Settings → Security → MFA
  2. Enable TOTP
  3. Usuarios verán QR al login para Authenticator app

Casos de uso

  • Documentación interna: Procesos, políticas, guías para equipo
  • API Docs: Documentación de tu API. Mejor que Postman o Swagger.
  • Knowledge base: FAQ, troubleshooting, soluciones comunes
  • Runbooks: Procedimientos de deploy, escalada, incident response
  • Training: Materiales de capacitación para nuevos empleados
  • Propuestas y RFCs: Documentación de decisiones arquitectónicas
  • Wiki pública: Documentación open source para comunidad

Gestión y mantenimiento

Ver logs

docker logs -f bookstack

Cambiar contraseña admin (primero)

# Accede a Settings → Users y edita tu usuario # O usa phpMyAdmin si está disponible

Backup de base de datos

docker exec bookstack_db mysqldump -u bookstack -p bookstack > backup-$(date +%Y%m%d).sql

Backup de archivos (imágenes, documentos)

docker run --rm -v bookstack_bookstack:/config -v $(pwd):/backup alpine tar czf /backup/bookstack-files-$(date +%Y%m%d).tar.gz -C /config .

Restore de backup

cat backup-20260522.sql | docker exec -i bookstack_db mysql -u bookstack -p bookstack

Reiniciar servicios

docker compose restart

Actualizar BookStack

docker compose pull docker compose up -d

Limpiar datos de prueba

docker compose down -v # Elimina volúmenes, ojo con datos

HTTPS con Caddy (producción)

Caddyfile

wiki.tudominio.com { reverse_proxy localhost:80 }

Actualizar APP_URL

environment: - APP_URL=https://wiki.tudominio.com

Acceso remoto seguro

https://wiki.tudominio.com con HTTPS automático

Comparativa con alternativas

vs Confluence

BookStack gana: Gratuito, self-hosted, simple, sin servidor. Confluence gana: Más features, soporte Atlassian.

vs Notion

BookStack gana: Self-hosted, control datos, sin suscripción. Notion gana: Más potente, bases de datos, UI.

vs MediaWiki

BookStack gana: UI moderna, simple, menos complicado. MediaWiki gana: Más maduro, Wikipedia.

vs DokuWiki

BookStack gana: UI moderna, WYSIWYG, mejor UX. DokuWiki gana: Ultra ligero, sin BD.

Mejor para: Equipos que necesiten wiki profesional, documentación limpia, sin pagar Confluence. Self-hosted forever.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.