Desplegar Tu Documentación
Esta guía explica cómo publicar este sitio de documentación en tu propio dominio personalizado — por ejemplo docs.tudominio.com.
Antes de Desplegar
Primero, actualiza la URL del sitio en el archivo de configuración. Abre apps/docs/docusaurus.config.ts y cambia:
url: 'https://docs.tudominio.com',
Reemplaza tudominio.com con tu nombre de dominio real.
Opción 1 — Desplegar con Vercel (Recomendado)
Vercel es la forma más sencilla de desplegar y mantener la documentación actualizada automáticamente. Es gratuito para la mayoría de los casos de uso y se vuelve a desplegar automáticamente cada vez que envías una actualización.
Pasos
1. Sube el código a GitHub Asegúrate de que tu repositorio (o monorepo) esté subido a una cuenta de GitHub.
2. Conectar a Vercel
- Ve a vercel.com e inicia sesión con tu cuenta de GitHub
- Haz clic en Agregar Nuevo Proyecto y selecciona tu repositorio
3. Configurar los ajustes del proyecto
- Establece el Directorio Raíz como
apps/docs - Vercel detecta automáticamente Docusaurus y configura los ajustes de compilación correctos
4. Agregar tu dominio personalizado
- En tu proyecto de Vercel, ve a Configuración → Dominios
- Haz clic en Agregar Dominio e ingresa
docs.tudominio.com - Vercel te proporcionará los registros DNS que necesitas agregar
5. Actualizar tu DNS
- Inicia sesión en tu registrador de dominio (por ejemplo, GoDaddy, Namecheap, Cloudflare)
- Agrega un registro CNAME:
- Nombre / Host:
docs - Valor / Apunta a:
cname.vercel-dns.com
- Nombre / Host:
- Los cambios de DNS generalmente surten efecto en pocos minutos a pocas horas
Una vez configurado, cada vez que envíes archivos de documentación actualizados, Vercel reconstruye y vuelve a publicar el sitio automáticamente.
Opción 2 — Alojamiento Propio con nginx
Si prefieres alojar en tu propio servidor (VPS o servidor dedicado), sigue estos pasos.
Paso 1 — Compilar el Sitio
En tu máquina local o pipeline de CI/CD:
cd apps/docs
pnpm install
pnpm run build
Esto genera una carpeta build/ que contiene el sitio estático completo (HTML, CSS y JavaScript).
Paso 2 — Subir a Tu Servidor
Copia el contenido de la carpeta build/ a tu servidor. Usando rsync:
rsync -avz apps/docs/build/ usuario@tuservidor.com:/var/www/docs/
Paso 3 — Configurar nginx
Crea un nuevo archivo de configuración de nginx en /etc/nginx/sites-available/docs:
server {
listen 80;
server_name docs.tudominio.com;
root /var/www/docs;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
}
Activa el sitio:
sudo ln -s /etc/nginx/sites-available/docs /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
Paso 4 — Activar HTTPS
Usa Certbot para un certificado SSL gratuito:
sudo certbot --nginx -d docs.tudominio.com
Paso 5 — Configurar Tu DNS
Agrega un registro DNS en tu registrador de dominio:
- Tipo:
A - Nombre / Host:
docs - Valor: La dirección IP pública de tu servidor
Opción 3 — Desplegar con Netlify
Netlify funciona de manera muy similar a Vercel:
- Conecta tu repositorio de GitHub en netlify.com
- Establece el Directorio base como
apps/docs - Establece el Comando de compilación como
pnpm run build - Establece el Directorio de publicación como
apps/docs/build - Agrega tu dominio personalizado en la configuración de dominios de Netlify
Proteger la Documentación Interna de Desarrolladores
Docusaurus no incluye autenticación integrada, por lo que no es posible proteger con contraseña una sección del sitio de forma nativa. Para documentación interna de desarrolladores que requiera control de acceso, recomendamos uno de estos enfoques:
Cloudflare Access (Gratuito — Recomendado)
Si tu dominio usa DNS de Cloudflare, puedes usar Cloudflare Access para restringir rutas URL específicas (por ejemplo, /dev/*) solo a direcciones de correo electrónico autorizadas. Es gratuito para hasta 50 usuarios y no requiere cambios en el código de la documentación.
Autenticación Básica de nginx (Alojamiento Propio)
Si usas la opción de nginx, agrega Autenticación Básica HTTP a una ruta específica:
location /dev {
auth_basic "Acceso de Desarrolladores";
auth_basic_user_file /etc/nginx/.htpasswd;
try_files $uri $uri/ /index.html;
}
Genera el archivo de contraseñas con:
sudo htpasswd -c /etc/nginx/.htpasswd devusuario
Despliegue Separado
Mantén la documentación interna de desarrolladores en un repositorio o despliegue completamente separado, accesible solo desde direcciones IP específicas o mediante una URL privada.
Ejecutar la Documentación Localmente
Para previsualizar la documentación en tu propia computadora:
cd apps/docs
pnpm install
pnpm run start
Abre http://localhost:3000 en tu navegador.
Para previsualizar la versión en español:
pnpm run start -- --locale es
Actualizar la Documentación
Para actualizar cualquier página:
- Edita el archivo Markdown relevante en
apps/docs/docs/(inglés) oapps/docs/i18n/es/(español) - Previsualiza localmente con
pnpm run start - Sube tus cambios — el sitio se vuelve a desplegar automáticamente si usas Vercel o Netlify