Saltar a contenido

Despliegue (Cloudflare Pages + Access)

La documentación se publica de forma privada con Cloudflare Pages (hosting estático gratuito) y se protege con Cloudflare Access (Zero Trust), que exige inicio de sesión antes de ver el sitio.

¿Por qué Cloudflare y no GitHub Pages?

GitHub Pages publica el sitio de forma pública en los planes normales (Free/Pro/Team), aunque el repositorio sea privado. El acceso restringido a Pages solo existe en GitHub Enterprise Cloud. Cloudflare Access da control de acceso gratuito hasta 50 usuarios.

1. Conectar el repositorio a Cloudflare Pages

  1. Entra a Cloudflare Dashboard → Workers & Pages → Create → Pages → Connect to Git.
  2. Autoriza la organización Legalys-Panama y selecciona el repositorio legalys-docs.
  3. Configura el build con estos valores:

    Ajuste Valor
    Framework preset None
    Build command pip install -r requirements.txt && mkdocs build
    Build output directory site
    Production branch main
  4. Añade una variable de entorno para fijar la versión de Python (evita builds con una versión antigua):

    Variable Valor
    PYTHON_VERSION 3.12
  5. Guarda y despliega. Cada push a main reconstruirá el sitio automáticamente; las ramas y PRs generan preview deployments.

2. Proteger el sitio con Cloudflare Access

  1. Ve a Cloudflare Dashboard → Zero Trust → Access → Applications → Add an application → Self-hosted.
  2. Asigna el dominio del proyecto de Pages (legalys-docs.pages.dev o el dominio personalizado que configures).
  3. Crea una política de acceso, por ejemplo:
    • Action: Allow
    • Include: Emails ending in @legalys.com (o los correos/grupos del equipo)
  4. Elige el método de login (Google, GitHub, One-time PIN por email, etc.).
  5. Guarda. A partir de ahora, quien visite el sitio deberá autenticarse.

Dominio personalizado

Puedes asignar un dominio propio (p. ej. docs.legalys.com) en la pestaña Custom domains del proyecto de Pages, y aplicar la política de Access sobre ese dominio.

Build local (equivalente al de producción)

.venv/bin/mkdocs build   # genera site/ igual que Cloudflare