Instalá Arandu AI v1 en un comando

Un instalador guiado descarga la imagen OCI firmada, verifica su firma con cosign, genera los secretos y deja el stack de Docker Compose listo para arrancar. Tiempo estimado: 30 minutos en hardware estándar.

# Descargá el instalador y ejecutalo
curl -fsSLO https://descargas.arandu-ia.com/install.sh
bash install.sh

Funciona en Linux, macOS y Windows (WSL2). Detecta automáticamente Podman o Docker y la arquitectura (arm64 / amd64).

Requisitos del sistema

Requisitos para Arandu AI y sus servicios propios (arandu-server, consola, PostgreSQL, Redis, Qdrant, storage). Los modelos locales requieren hardware adicional según el runtime elegido por el operador.

Componente Requisito mínimo Recomendado
Sistema operativo Linux, macOS o Windows con WSL2 Linux x86_64/arm64 para producción
Motor de containers Podman 4+ o Docker 24+, con su plugin compose Podman 5+ (recomendado) o Docker 25+
RAM 4 GB libres para Arandu 8 GB con RAG habilitado
CPU 2 vCPU para Arandu 4 vCPU recomendado
Disco 20 GB libres mínimo Escala con corpus RAG
Red Salida HTTPS a descargas.arandu-ia.com, license.arandu-ia.com y proveedores BYOK
Reverse proxy Caddy, Nginx, Traefik o equivalente con TLS válido Caddy (TLS automático)
Herramientas bash, curl, openssl cosign para verificar la firma

Instalación paso a paso

El instalador install.sh hace el trabajo pesado y es el camino soportado. Produce una instalación self-hosted funcional sobre Docker/Podman Compose, validada end-to-end.

Descargar y ejecutar el instalador

Descargá install.sh y ejecutalo. El instalador detecta el motor de containers (Podman preferido, Docker soportado) y tu arquitectura, y te preguntará la URL pública de la instancia y el email del owner inicial.

curl -fsSLO https://descargas.arandu-ia.com/install.sh
bash install.sh

Opciones: --version 1.0.0-rc.2, --dir ./arandu, --port 8080. Ejecutá bash install.sh --help para verlas todas.

Qué hace el instalador

De forma automática y verificable:

  • Descarga la imagen OCI (tar), compose.yaml, cosign.pub y checksums.txt.
  • Verifica el checksum SHA-256 y, si cosign está instalado, la firma cosign del artefacto.
  • Carga la imagen en el motor de containers.
  • Genera la clave maestra de cifrado (KEK) y la contraseña de PostgreSQL con permisos 600.
  • Escribe el .env de producción (incluye ARANDU_LICENSE_SERVER_URL=https://license.arandu-ia.com) y deja instrucciones de TLS y arranque.

Configurar el reverse proxy con TLS

En producción Arandu exige HTTPS detrás de un reverse proxy TLS. Ejemplo mínimo con Caddy (emite y renueva el certificado solo):

# Caddyfile
tu-dominio.com {
    reverse_proxy 127.0.0.1:8080
}

Arrancar el stack

Desde el directorio de instalación (por defecto ./arandu), levantá todos los servicios. Las migraciones se aplican solas al arrancar.

cd arandu
# Podman:
podman compose --env-file .env up -d
# o Docker:
docker compose --env-file .env up -d

Verificar la instalación

Comprobá que los endpoints respondan y obtené la contraseña inicial del owner desde los logs:

curl -fsS http://127.0.0.1:8080/health
curl -fsS http://127.0.0.1:8080/ready
curl -fsS http://127.0.0.1:8080/info

# Contraseña inicial del owner (marcador owner_bootstrap)
podman logs $(podman ps --format '{{.Names}}' | grep arandu-server) | grep owner_bootstrap

Criterios: /health y /ready retornan 200; /info muestra version, commit y canal rc.

Primer login, onboarding y trial

Abrí la consola en la URL pública configurada e ingresá con el email del owner y la contraseña inicial impresa en logs. El asistente de onboarding te guiará para:

  • Establecer una contraseña fuerte y enrolar MFA TOTP.
  • Configurar tu primer proveedor/modelo BYOK.
  • Crear una API key y validar la primera llamada de IA.

Verificación manual de la firma

El instalador verifica la firma automáticamente si cosign está disponible. Para hacerlo a mano, descargá el artefacto, su firma .sig y la clave pública cosign.pub, y verificá (reemplazá arm64 por amd64 según tu arquitectura):

VER=1.0.0-rc.2
ARCH=arm64   # o amd64
BASE=https://descargas.arandu-ia.com

curl -fsSLO $BASE/arandu-server-$VER-$ARCH.oci.tar
curl -fsSLO $BASE/arandu-server-$VER-$ARCH.oci.tar.sig
curl -fsSLO $BASE/cosign.pub

cosign verify-blob \
  --key cosign.pub \
  --signature arandu-server-$VER-$ARCH.oci.tar.sig \
  --insecure-ignore-tlog=true \
  arandu-server-$VER-$ARCH.oci.tar

La salida esperada es Verified OK. La firma se genera con cosign respaldado por una clave no exportable; --insecure-ignore-tlog=true indica que no usamos el log público de transparencia (firma offline con clave propia).

Instalación manual (avanzada)

Si preferís controlar cada paso o auditar el proceso, podés replicar a mano lo que hace el instalador. Descargá los artefactos, verificá la firma (sección anterior), cargá la imagen y armá el .env.

VER=1.0.0-rc.2
ARCH=arm64   # o amd64
BASE=https://descargas.arandu-ia.com
mkdir -p arandu/secrets && cd arandu

# 1. Descargar artefactos
for f in arandu-server-$VER-$ARCH.oci.tar compose.yaml cosign.pub checksums.txt; do
  curl -fsSLO $BASE/$f
done

# 2. Verificar checksum
grep "  arandu-server-$VER-$ARCH.oci.tar\$" checksums.txt | shasum -a 256 -c -

# 3. Cargar la imagen
podman load -i arandu-server-$VER-$ARCH.oci.tar   # o: docker load -i ...

# 4. Generar secretos
openssl rand -base64 32 > secrets/kek.key
openssl rand -hex 24   > secrets/postgres-password
chmod 600 secrets/*

# 5. Crear .env (ver variables en compose.yaml) y arrancar
#    ARANDU_IMAGE, ARANDU_PORT, ARANDU_APP_URL, ARANDU_DATABASE_URL,
#    ARANDU_LICENSE_MODE=remote, ARANDU_LICENSE_SERVER_URL=https://license.arandu-ia.com, ...
podman compose --env-file .env up -d

El compose.yaml oficial documenta todas las variables requeridas en su cabecera. No uses tags latest: fijá siempre la versión.

Fortalecimiento post-instalación

Acción Por qué
Configurar reverse proxy con TLS y HSTS Cifrado en tránsito obligatorio en producción
Mantener arandu-server escuchando solo en 127.0.0.1 detrás del proxy Reducir superficie de ataque
Programar backup diario de PostgreSQL + storage + Qdrant + KEK RPO recomendado: 24 horas
Almacenar copia offline de la KEK en medio separado Sin KEK, las credenciales BYOK son irrecuperables
Configurar IP allowlist para API keys de producción Reducir exposición ante filtración de API keys
Suscribir /metrics al Prometheus del cliente Observabilidad: latencia, errores, costos, security hits
Programar restore drill trimestral Verificar que los backups son realmente recuperables

¿Necesitás ayuda con la instalación?

El soporte estándar incluido en la suscripción Pro cubre asistencia con upgrades y restore. Contactanos por email.