Oracle Cloud Nivel Gratuito (Recomendado)
El nivel Always Free de Oracle Cloud te da un servidor permanente que nunca se apaga, nunca caduca y no cuesta nada. A diferencia de otras opciones de hosting gratuito, tus datos se quedan en disco local (no necesitas base de datos externa) y tu servidor responde al instante — sin arranques en frío.
¿Por qué Oracle Cloud?
- Genuinamente gratuito — la tarjeta de crédito es solo para verificación de identidad. No se te cobrará.
- Nunca se apaga — tu servidor está siempre encendido, siempre responde
- SQLite local — no necesitas servicio de base de datos externa
- 47 GB de disco — más que suficiente para Crow y todos tus datos
- 10 TB/mes de ancho de banda — más que la mayoría de planes pagados
Paso 1: Crear una Cuenta de Oracle Cloud
- Ve a cloud.oracle.com y haz clic en Sign Up
- Ingresa tu correo electrónico y crea una contraseña
- Necesitarás una tarjeta de crédito para verificación — Oracle la usa para confirmar que eres una persona real. El nivel Always Free es genuinamente gratuito y no se te cobrará.
- Selecciona tu región principal — elige la más cercana a ti para menor latencia. Esto no se puede cambiar después.
- Espera a que tu cuenta sea aprovisionada (generalmente unos minutos)
Paso 2: Lanzar una Instancia Always Free
- Inicia sesión en la Consola de Oracle Cloud
- Ve a Compute → Instances → Create Instance
- Dale un nombre a tu instancia (por ejemplo,
crow) - Imagen: Selecciona Ubuntu 22.04 Minimal (en "Change image" → Platform images)
- Shape: Haz clic en Change shape → Specialty and previous generation → Selecciona VM.Standard.E2.1.Micro (1 OCPU, 1 GB RAM)
- Busca la insignia "Always Free Eligible" — esto confirma que no se te cobrará
- Red: El VCN y subnet público predeterminados están bien. Asegúrate de que "Assign a public IPv4 address" esté marcado.
- Clave SSH: Haz clic en "Generate a key pair" y descarga ambas claves, o sube tu clave pública si ya tienes una
- Haz clic en Create
La instancia tarda 1-2 minutos en aprovisionarse. Una vez que el estado muestre "Running", anota la dirección IP pública en la página de detalles de la instancia.
Paso 3: Conectar por SSH
# Si descargaste la clave generada por Oracle
chmod 600 ~/Downloads/ssh-key-*.key
ssh -i ~/Downloads/ssh-key-*.key ubuntu@<tu-ip-publica>
# Si subiste tu propia clave
ssh ubuntu@<tu-ip-publica>Paso 4: Instalar Node.js
# Actualizar paquetes del sistema
sudo apt update && sudo apt upgrade -y
# Instalar Node.js 20
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt install -y nodejs git
# Verificar
node --version # Debería ser 20.x
npm --versionPaso 5: Instalar Crow
Puedes usar el instalador de un comando o instalar manualmente.
Opción A: Instalador de un comando
curl -fsSL https://raw.githubusercontent.com/kh0pper/crow/main/scripts/crow-install.sh | bashOpción B: Instalación manual
git clone https://github.com/kh0pper/crow.git ~/.crow/app
cd ~/.crow/app
npm run setupNo necesitas base de datos externa — Crow usa SQLite local en el volumen de disco de Oracle automáticamente.
Paso 6: Seguridad
Tu servidor está en el internet público. Estos pasos lo protegen de ataques comunes.
Oracle Security Lists (firewall en la nube)
Oracle tiene su propio firewall que controla qué tráfico puede llegar a tu instancia. Por defecto, solo SSH (puerto 22) está abierto.
- En la Consola de Oracle Cloud, ve a Networking → Virtual Cloud Networks
- Haz clic en tu VCN → haz clic en tu Subnet → haz clic en la Security List
- Haz clic en Add Ingress Rules y agrega:
| Source CIDR | Protocolo | Puerto Dest | Descripción |
|---|---|---|---|
0.0.0.0/0 | TCP | 443 | HTTPS |
UFW (firewall en la instancia)
Defensa en profundidad — un segundo firewall en la instancia misma.
sudo apt install -y ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH
sudo ufw allow 443/tcp # HTTPS (para blog público)
sudo ufw allow 41641/udp # Tailscale (WireGuard)
sudo ufw enablefail2ban (bloquea intentos de fuerza bruta)
fail2ban observa tus registros de inicio de sesión y bloquea temporalmente las direcciones IP que fallan demasiados intentos. Esto detiene los ataques automatizados de adivinación de contraseñas.
sudo apt install -y fail2ban
sudo systemctl enable --now fail2banDesactivar autenticación por contraseña en SSH
Las claves SSH son mucho más seguras que las contraseñas:
sudo sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo sed -i 's/^#*ChallengeResponseAuthentication.*/ChallengeResponseAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart sshdWARNING
Solo haz esto después de confirmar que tu inicio de sesión con clave SSH funciona. Si desactivas las contraseñas y pierdes tu clave, quedarás bloqueado.
Actualizaciones de seguridad automáticas
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgradesSelecciona "Yes" cuando se te pregunte.
Paso 7: Instalar Tailscale
Tailscale crea una red privada entre tus dispositivos usando encriptación WireGuard. Tu servidor Crow se vuelve accesible desde tu teléfono, laptop o cualquier dispositivo en tu red Tailscale — sin abrir puertos al internet público.
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale upSigue el enlace que aparece en tu terminal para autorizar el dispositivo en tu consola de administración de Tailscale.
Configura un nombre memorable:
- Ve a tu consola de administración de Tailscale
- Haz clic en tu instancia de Oracle → Edit → Renombra a
crow - Activa MagicDNS si aún no está activado (en configuración de DNS)
Tu servidor ahora es accesible en http://crow:3001 desde cualquier dispositivo en tu red Tailscale.
Paso 8: Crear un Servicio systemd
Ejecuta el gateway de Crow como un servicio en segundo plano que inicia automáticamente al arrancar:
sudo tee /etc/systemd/system/crow-gateway.service > /dev/null << 'EOF'
[Unit]
Description=Crow Gateway
After=network.target
[Service]
Type=simple
User=ubuntu
WorkingDirectory=/home/ubuntu/.crow/app
ExecStart=/usr/bin/node servers/gateway/index.js
Restart=unless-stopped
RestartSec=5
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable --now crow-gatewayVerifica que esté funcionando:
sudo systemctl status crow-gateway
curl http://localhost:3001/healthPaso 9: Conectar Tu Plataforma de IA
Tu servidor Crow ahora está funcionando y accesible vía Tailscale. Conéctalo desde cualquier plataforma de IA:
- Claude Web y Móvil —
http://crow:3001/memory/mcp - ChatGPT —
http://crow:3001/memory/sse - Gemini —
http://crow:3001/memory/mcp - Claude Code —
http://crow:3001/memory/mcp - Todas las plataformas
Visita http://crow:3001/setup desde un dispositivo en tu red Tailscale para ver el estado de las integraciones.
Pruébalo
Después de conectar tu plataforma de IA, di:
"Recuerda que hoy es mi primer día usando Crow" "¿Qué recuerdas?"
Opcional: Hacer Tu Blog Público
Por defecto, todo es privado detrás de Tailscale. Si quieres que tu blog sea accesible desde el internet público:
Opción A: Tailscale Funnel (sin dominio necesario)
# Primero activa Funnel en tu consola de administración de Tailscale:
# https://login.tailscale.com/admin/dns → Enable Funnel
tailscale funnel --bg --https=443 http://localhost:3001Tu blog estará en https://crow.tu-tailnet.ts.net/blog.
Opción B: Caddy + Dominio personalizado
Para una URL profesional como blog.tudominio.com:
# Instalar Caddy
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy
# Configurar proxy reverso
sudo tee /etc/caddy/Caddyfile > /dev/null << 'EOF'
blog.tudominio.com {
reverse_proxy localhost:3001
}
EOF
sudo systemctl restart caddyApunta el registro DNS A de tu dominio a la IP pública de tu instancia de Oracle. Caddy obtiene automáticamente certificados Let's Encrypt.