Subir archivos a "/"

This commit is contained in:
2026-05-09 17:47:43 +00:00
parent e6d9b29457
commit 1ecab757d9
5 changed files with 537 additions and 0 deletions
+91
View File
@@ -0,0 +1,91 @@
# 🪟 Instalación de Ubuntu + n8n en Windows (WSL2)
> ← [Volver al índice](../README.md) | Siguiente: [☁️ Google Cloud VM →](./02-gcloud-vm-n8n.md)
---
## Requisitos previos
- Windows 10 versión 2004+ o Windows 11
- Acceso a Microsoft Store
- PowerShell con permisos de administrador
---
## Paso 1 — Instalar Ubuntu 24.04 LTS
Descarga desde Microsoft Store:
👉 [Ubuntu 24.04 LTS](https://apps.microsoft.com/store/detail/ubuntu-2404-lts/9NZ3KLHXDJP5)
---
## Paso 2 — Habilitar WSL2
Abre **PowerShell como administrador** y ejecuta:
```powershell
wsl --install
```
Esto habilita WSL2 y descarga Ubuntu automáticamente.
---
## Paso 3 — Reiniciar el equipo
Windows completará la instalación durante el reinicio.
---
## Paso 4 — Configurar Ubuntu
- Abre **Ubuntu 24.04** desde el menú de inicio.
- Crea tu **usuario** y **contraseña** cuando se te solicite.
---
## Paso 5 — Instalar dependencias y n8n
Ejecuta los siguientes comandos en orden dentro de Ubuntu:
```bash
# Instalar NVM (última versión estable)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Recargar bash para que funcione nvm
source ~/.bashrc
# Instalar Node.js LTS (última recomendada por n8n)
nvm install --lts
# Verificar versiones
node -v
npm -v
# Instalar n8n última versión
npm install -g n8n@latest
# Ejecutar n8n
n8n
```
---
## Paso 6 — Acceder a n8n
Abre en tu navegador:
👉 [http://localhost:5678](http://localhost:5678)
---
## Notas
- n8n se ejecuta en primer plano. Cierra la terminal y se detendrá.
- Para entornos de producción o con dominio propio, consulta los pasos de [Google Cloud VM](./02-gcloud-vm-n8n.md) y [HTTPS](./03-https-nginx.md).
- Esta instalación es ideal para **desarrollo local y pruebas**.
---
> ← [Volver al índice](../README.md) | Siguiente: [☁️ Google Cloud VM →](./02-gcloud-vm-n8n.md)
+140
View File
@@ -0,0 +1,140 @@
# ☁️ Instalación de n8n en Google Cloud VM
> ← [Anterior: 🪟 WSL2](./01-wsl2-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🔐 HTTPS →](./03-https-nginx.md)
---
## Requisitos previos
- Cuenta en [Google Cloud Console](https://console.cloud.google.com/)
- Proyecto activo con facturación habilitada
- `gcloud` CLI instalado *(opcional, también se puede hacer desde la web)*
---
## Paso 1 — Crear la VM en Google Cloud
1. Ingresa a [Google Cloud Console](https://console.cloud.google.com/).
2. Ve a **Compute Engine > VM Instances**.
3. Haz clic en **Create Instance** y configura:
| Campo | Valor recomendado |
|-------|------------------|
| **Nombre** | `n8n-vm` |
| **Región/Zona** | La más cercana a tu ubicación |
| **Machine type** | `e2-medium` (2 vCPU, 4 GB RAM) |
| **Boot disk** | Ubuntu 24.04 LTS |
| **Firewall** | ✅ Allow HTTP traffic / ✅ Allow HTTPS traffic |
4. Haz clic en **Create**.
---
## Paso 2 — Conectarse a la VM
Desde la consola o terminal:
```bash
gcloud compute ssh n8n-vm --zone us-central1-a
```
También puedes usar el botón **SSH** directamente desde la consola web de GCP.
---
## Paso 3 — Actualizar paquetes
```bash
sudo apt update && sudo apt upgrade -y
```
---
## Paso 4 — Instalar dependencias y n8n
```bash
# Instalar NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# Recargar bash
source ~/.bashrc
# Instalar Node.js LTS
nvm install --lts
# Verificar versiones
node -v
npm -v
# Instalar n8n
npm install -g n8n@latest
# Ejecutar n8n
n8n
```
n8n quedará escuchando en el puerto **5678** por defecto.
---
## Paso 5 — Abrir puertos en el firewall de Google Cloud
### Opción A: Desde la consola web
1. Ve a **VPC Network > Firewall**.
2. Clic en **Create Firewall Rule** y configura:
| Campo | Valor |
|-------|-------|
| **Name** | `allow-n8n` |
| **Targets** | All instances in the network |
| **Source IP ranges** | `0.0.0.0/0` *(o tu IP para mayor seguridad)* |
| **Protocols/Ports** | TCP: `80, 443, 5678` |
### Opción B: Con gcloud CLI
```bash
gcloud compute firewall-rules create allow-n8n \
--allow tcp:80,tcp:443,tcp:5678 \
--source-ranges=0.0.0.0/0 \
--target-tags=n8n-server
```
Luego edita tu VM y en **Network tags** agrega `n8n-server`.
---
## Paso 6 — Acceder a n8n
Abre en tu navegador:
👉 `http://EXTERNAL_IP:5678`
*(La IP externa está visible en la consola de GCP)*
---
## Paso 7 (Opcional) — Ejecutar n8n en segundo plano con PM2
Sin PM2, n8n se detiene al cerrar la sesión SSH.
```bash
npm install -g pm2
pm2 start n8n
pm2 save
pm2 startup
```
PM2 se asegura de que n8n se reinicie automáticamente tras reinicios de la VM.
---
## ⚠️ Nota de seguridad
> No expongas el puerto `5678` directamente en producción. Lo ideal es configurar un **proxy inverso con Nginx + SSL**.
> Consulta el siguiente paso: [🔐 Habilitar HTTPS](./03-https-nginx.md)
---
> ← [Anterior: 🪟 WSL2](./01-wsl2-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🔐 HTTPS →](./03-https-nginx.md)
+126
View File
@@ -0,0 +1,126 @@
# 🔐 Habilitar HTTPS en Google Cloud (Nginx + Certbot)
> ← [Anterior: ☁️ Google Cloud VM](./02-gcloud-vm-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🕷️ Crawl4AI →](./04-crawl4ai-ubuntu.md)
---
## Requisitos previos
- VM en Google Cloud con Ubuntu 24.04 *(ver [paso anterior](./02-gcloud-vm-n8n.md))*
- n8n ya instalado y corriendo con PM2
- Un **dominio propio** con un registro **A** apuntando a la IP externa de tu VM:
```
n8n.midominio.com → EXTERNAL_IP_VM
```
---
## Paso 1 — Instalar n8n con PM2 (si no lo hiciste aún)
```bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
npm install -g n8n@latest
npm install -g pm2
pm2 start n8n
pm2 save
pm2 startup
```
---
## Paso 2 — Instalar Nginx
```bash
sudo apt install -y nginx
```
### Crear configuración para n8n
```bash
sudo nano /etc/nginx/sites-available/n8n
```
Pega el siguiente contenido (reemplaza `n8n.midominio.com` por tu dominio real):
```nginx
server {
listen 80;
server_name n8n.midominio.com;
location / {
proxy_pass http://localhost:5678;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
```
### Activar el sitio
```bash
sudo ln -s /etc/nginx/sites-available/n8n /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
```
n8n ya será accesible en `http://n8n.midominio.com`.
---
## Paso 3 — Instalar Certbot para HTTPS
```bash
sudo apt install -y certbot python3-certbot-nginx
```
Ejecuta el proceso de certificación:
```bash
sudo certbot --nginx -d n8n.midominio.com
```
Durante el proceso:
- Acepta los términos de servicio.
- Selecciona la opción de **redirigir todo el tráfico a HTTPS**.
Certbot configurará Nginx automáticamente para usar TLS.
---
## Paso 4 — Verificar acceso
Abre en tu navegador:
👉 `https://n8n.midominio.com`
n8n estará corriendo con **HTTPS válido y seguro**
---
## Paso 5 — Renovación automática de certificados
Certbot instala un cron job que renueva los certificados antes de que expiren. Puedes verificarlo con:
```bash
sudo certbot renew --dry-run
```
---
## ✅ Resultado final
Con esta configuración tienes:
-**n8n corriendo en segundo plano** con PM2
-**Acceso seguro** vía Nginx + HTTPS (Let's Encrypt)
-**Firewall en GCP** abierto solo en puertos `80` y `443` (ya no necesitas exponer el `5678`)
---
> ← [Anterior: ☁️ Google Cloud VM](./02-gcloud-vm-n8n.md) | [Volver al índice](../README.md) | Siguiente: [🕷️ Crawl4AI →](./04-crawl4ai-ubuntu.md)
+113
View File
@@ -0,0 +1,113 @@
# 🕷️ Instalación de Crawl4AI en Ubuntu
> ← [Anterior: 🔐 HTTPS](./03-https-nginx.md) | [Volver al índice](../README.md) | Siguiente: [📋 Proyecto →](./05-proyecto-website-craw-css.md)
---
## Requisitos previos
- Ubuntu 22.04+ (local vía WSL2 o en Google Cloud VM)
- Python 3 y pip instalados
```bash
sudo apt update && sudo apt install -y python3 python3-pip
```
---
## Instalación básica
### 1 — Instalar el núcleo de Crawl4AI
```bash
pip install crawl4ai
```
Esto instala la versión base sin características adicionales como modelos ML o Transformers.
### 2 — Ejecutar la configuración inicial
```bash
crawl4ai-setup
```
Este comando instala y configura las dependencias del navegador: Playwright, librerías del sistema, etc.
### 3 — Diagnosticar el entorno *(opcional pero recomendado)*
```bash
crawl4ai-doctor
```
Verifica compatibilidad de Python, instalación de Playwright y variables del sistema.
### 4 — Verificar la instalación con un ejemplo
```python
import asyncio
from crawl4ai import AsyncWebCrawler, BrowserConfig, CrawlerRunConfig
async def main():
async with AsyncWebCrawler() as crawler:
result = await crawler.arun(url="https://www.example.com")
print(result.markdown[:300])
if __name__ == "__main__":
asyncio.run(main())
```
Ejecuta el script y verás los primeros 300 caracteres de `example.com` en formato Markdown.
---
## Instalación avanzada *(opcional)*
Elige según las capacidades que necesites:
| Variante | Comando |
|----------|---------|
| Con PyTorch | `pip install crawl4ai[torch] && crawl4ai-setup` |
| Con Transformers | `pip install crawl4ai[transformer] && crawl4ai-setup` |
| Todas las características | `pip install crawl4ai[all] && crawl4ai-setup` |
### Pre-descargar modelos *(solo si los necesitas)*
```bash
crawl4ai-download-models
```
> ⚠️ Los modelos son pesados. Descárgalos solo si tu flujo los requiere.
---
## Opción Docker *(experimental)*
La documentación oficial indica que la vía Docker es **experimental** y puede cambiar. No se recomienda para producción aún.
```bash
docker pull unclecode/crawl4ai:latest
docker run -p 11235:11235 unclecode/crawl4ai:latest
```
Consulta la [documentación oficial de Crawl4AI](https://docs.crawl4ai.com/core/installation/) para actualizaciones.
---
## Resumen de comandos
```bash
# Instalación mínima
pip install crawl4ai
crawl4ai-setup
# Verificar entorno
crawl4ai-doctor
# Instalación completa
pip install crawl4ai[all]
crawl4ai-setup
```
---
> ← [Anterior: 🔐 HTTPS](./03-https-nginx.md) | [Volver al índice](../README.md) | Siguiente: [📋 Proyecto →](./05-proyecto-website-craw-css.md)
+67
View File
@@ -0,0 +1,67 @@
# 📌 Website Craw CSS — Documentación del Proyecto
> Pipeline de scraping automatizado con **Crawl4AI + n8n** para extracción, procesamiento y exportación de productos desde páginas web.
---
## 🗂️ Tabla de Contenidos
| # | Categoría | Descripción |
|---|-----------|-------------|
| 1 | [🪟 Instalación local (Windows + WSL2)](./docs/01-wsl2-n8n.md) | Configurar Ubuntu y n8n en Windows mediante WSL2 |
| 2 | [☁️ Instalación en Google Cloud VM](./docs/02-gcloud-vm-n8n.md) | Crear una VM en GCP e instalar n8n |
| 3 | [🔐 Habilitar HTTPS en Google Cloud](./docs/03-https-nginx.md) | Configurar Nginx + Certbot para SSL en producción |
| 4 | [🕷️ Instalación de Crawl4AI en Ubuntu](./docs/04-crawl4ai-ubuntu.md) | Instalar y configurar Crawl4AI como motor de scraping |
| 5 | [📋 Documento del Proyecto](./docs/05-proyecto-website-craw-css.md) | Arquitectura, flujo n8n, KPIs y entrega del proyecto |
---
## 🧭 Ruta de configuración recomendada
Sigue los pasos en orden según tu entorno:
```
┌─────────────────────────────────────────┐
│ ¿Dónde vas a correr n8n? │
└────────────┬────────────────────────────┘
┌───────▼──────┐ ┌──────────────────┐
│ Windows │ │ Google Cloud │
│ (Local) │ │ (Producción) │
└──────┬───────┘ └────────┬─────────┘
│ │
[Paso 1: WSL2] [Paso 2: GCloud VM]
│ │
└──────────┬──────────────┘
[Paso 3: HTTPS] ← Solo en producción
[Paso 4: Crawl4AI]
[Paso 5: Proyecto]
```
---
## 🛠️ Stack tecnológico
- **n8n** — Orquestador del workflow de scraping
- **Crawl4AI** — Motor de extracción web (Python + Playwright)
- **Ubuntu 24.04** — Sistema operativo base (WSL2 o GCP)
- **Nginx + Certbot** — Proxy inverso y SSL para producción
- **Google Sheets** *(opcional)* — Destino final de los datos exportados
---
## 📁 Estructura de archivos
```
/
├── README.md ← Estás aquí
└── docs/
├── 01-wsl2-n8n.md ← Instalación local en Windows
├── 02-gcloud-vm-n8n.md ← Instalación en Google Cloud
├── 03-https-nginx.md ← HTTPS con Nginx + Certbot
├── 04-crawl4ai-ubuntu.md ← Instalación de Crawl4AI
└── 05-proyecto-website-craw-css.md ← Documento del proyecto
```