Skip to content

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 ​

  1. Ve a cloud.oracle.com y haz clic en Sign Up
  2. Ingresa tu correo electrónico y crea una contraseña
  3. 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á.
  4. Selecciona tu región principal — elige la más cercana a ti para menor latencia. Esto no se puede cambiar después.
  5. Espera a que tu cuenta sea aprovisionada (generalmente unos minutos)

Paso 2: Lanzar una Instancia Always Free ​

  1. Inicia sesión en la Consola de Oracle Cloud
  2. Ve a Compute → Instances → Create Instance
  3. Dale un nombre a tu instancia (por ejemplo, crow)
  4. Imagen: Selecciona Ubuntu 22.04 Minimal (en "Change image" → Platform images)
  5. 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á
  6. Red: El VCN y subnet público predeterminados están bien. Asegúrate de que "Assign a public IPv4 address" esté marcado.
  7. Clave SSH: Haz clic en "Generate a key pair" y descarga ambas claves, o sube tu clave pública si ya tienes una
  8. 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 ​

bash
# 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 ​

bash
# Actualizar paquetes del sistema
sudo apt update && sudo apt upgrade -y

# Instalar Node.js 24
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
sudo apt install -y nodejs git

# Verificar
node --version   # Debería ser 20.x
npm --version

Paso 5: Instalar Crow ​

Puedes usar el instalador de un comando o instalar manualmente.

Opción A: Instalador de un comando

bash
curl -fsSL https://raw.githubusercontent.com/kh0pper/crow/main/scripts/crow-install.sh | bash

Opción B: Instalación manual

bash
git clone https://github.com/kh0pper/crow.git ~/.crow/app
cd ~/.crow/app
npm run setup

No 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.

  1. En la Consola de Oracle Cloud, ve a Networking → Virtual Cloud Networks
  2. Haz clic en tu VCN → haz clic en tu Subnet → haz clic en la Security List
  3. Haz clic en Add Ingress Rules y agrega:
Source CIDRProtocoloPuerto DestDescripción
0.0.0.0/0TCP443HTTPS

UFW (firewall en la instancia) ​

Defensa en profundidad — un segundo firewall en la instancia misma.

bash
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 enable

fail2ban (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.

bash
sudo apt install -y fail2ban
sudo systemctl enable --now fail2ban

Desactivar autenticación por contraseña en SSH ​

Las claves SSH son mucho más seguras que las contraseñas:

bash
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 sshd

WARNING

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 ​

bash
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades

Selecciona "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.

bash
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up

Sigue el enlace que aparece en tu terminal para autorizar el dispositivo en tu consola de administración de Tailscale.

Configura un nombre memorable:

  1. Ve a tu consola de administración de Tailscale
  2. Haz clic en tu instancia de Oracle → Edit → Renombra a crow
  3. 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:

bash
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-gateway

Verifica que esté funcionando:

bash
sudo systemctl status crow-gateway
curl http://localhost:3001/health

Paso 9: Conectar Tu Plataforma de IA ​

Tu servidor Crow ahora está funcionando y accesible vía Tailscale. Conéctalo desde cualquier plataforma de IA:

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) ​

bash
# 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:3001

Tu blog estará en https://crow.tu-tailnet.ts.net/blog.

Opción B: Caddy + Dominio personalizado ​

Para una URL profesional como blog.tudominio.com:

bash
# 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 caddy

Apunta 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.

Released under the MIT License.