Implementar Unusual Suite On-Premises

Puedes ejecutar tu propio servidor de Unusual Suite para que todos tus datos permanezcan en tu propia infraestructura. El servidor on-premises sigue conectándose al servidor de licencias de Unusual Suite para verificaciones de cumplimiento y soporte del producto, pero ninguno de tus datos se envía a Unusual Suite.

Requisitos previos

  • Un servidor Linux ARM64 con al menos 2 GB de RAM y 1 GB de espacio en disco disponible.
  • El servidor debe ser accesible a través de una URL o dirección IP externa.
  • El puerto 80 debe estar disponible para una configuración sin SSL. El SSL nativo no es compatible con el propio servidor on-premises; proporciona terminación SSL a través de un proxy inverso.
  • MariaDB 11.8.2 o posterior debe estar instalado con suficiente espacio en disco para tus datos. Necesitarás tener preparadas estas credenciales de base de datos:
    • server — IP o dominio de la instancia de MariaDB (por ejemplo, localhost)
    • database — nombre de la base de datos que contendrá los datos de Unusual Suite (se crea automáticamente durante la configuración si aún no existe)
    • user — nombre de usuario de la base de datos
    • password — contraseña de la base de datos
  • Una dirección de correo electrónico válida para el superusuario/administrador. Esta dirección es permanente y no se puede cambiar después de la configuración.
  • Una suscripción a Unusual Suite. Tu clave interna, que autentica el servidor on-premises con el servidor de licencias de Unusual Suite, está disponible en 'Mi cuenta' ⟶ 'Acerca de'. Debes estar registrado para obtenerla.
  • Si quieres usar servicios externos como IA (por ejemplo en Power-Chat), necesitas cuentas válidas y claves de API para esos servicios. Consulta la sección de Configuración a continuación para ver la lista completa.

Configuración Recomendada de MariaDB

Aplica estas configuraciones a tu instancia de MariaDB antes de la instalación:

collation_server: utf8mb4_uca1400_ai_ci o utf8mb4_unicode_ci
character_set_client: utf8mb4
character_set_connection: utf8mb4
character_set_database: utf8mb4
character_set_results: utf8mb4
character_set_server: utf8mb4
log_bin_trust_function_creators: 1
max_allowed_packet: 67108864

Instalar el Servidor On-Premises de Unusual Suite

Los comandos a continuación instalan el servidor de Unusual Suite en un servidor Ubuntu donde el usuario ubuntu ya existe. El servidor se instala en el directorio de inicio de ese usuario. Adapta los comandos para tu propia configuración. Ejecuta todos los comandos con privilegios de root.

# instalar unzip si no está instalado
apt update
apt install unzip

# crear subdirectorios assets y trace
mkdir -p /home/ubuntu/assets /home/ubuntu/trace
chmod 755 /home/ubuntu/assets /home/ubuntu/trace
chown -R ubuntu:ubuntu /home/ubuntu/assets /home/ubuntu/trace

# obtener y descomprimir el binario del servidor de Unusual Suite
# asignar privilegios elevados para que el servidor de Unusual Suite pueda escuchar en el puerto 443 (SSL) o 80 (sin SSL)
rm -f /home/ubuntu/Unusual.Server
wget --no-cache -P /home/ubuntu/assets https://ds-01.unusual-suite.com/assets/Unusual.Server.zip
unzip -o /home/ubuntu/assets/Unusual.Server.zip Unusual.Server -d /home/ubuntu
chmod 555 /home/ubuntu/Unusual.Server
rm -f /home/ubuntu/assets/Unusual.Server.zip
setcap 'cap_net_bind_service=+ep' /home/ubuntu/Unusual.Server

# obtener el binario de webassembly
rm -f /home/ubuntu/assets/Unusual.WebAssembly.zip
wget --no-cache -P /home/ubuntu/assets https://ds-01.unusual-suite.com/assets/Unusual.WebAssembly.zip
chown ubuntu:ubuntu /home/ubuntu/assets/Unusual.WebAssembly.zip
chmod 600 /home/ubuntu/assets/Unusual.WebAssembly.zip

# crear archivo de configuración
# - reemplaza 'user', 'password', etc. en 'ConnectionString'
# - establece el dominio o IP real en 'HostName'
# - establece tu correo electrónico de licencia inmutable en 'UnusualLicenseEmail'
cat <<EOF > /home/ubuntu/Unusual.xml
<?xml version="1.0" encoding="utf-8"?>
<Unusual>
 <ConnectionString>server=localhost;database=unusual;user=unusual;password=unusual</ConnectionString>
 <HostName>mydomain.com</HostName>
 <InternalKey>your-internal-key</InternalKey>
 <UnusualLicenseEmail>myemail@mydomain.com</UnusualLicenseEmail>
</Unusual>
EOF
chown ubuntu:ubuntu /home/ubuntu/Unusual.xml
chmod 600 /home/ubuntu/Unusual.xml

# crear el servicio de Unusual Suite
cat <<EOF > /etc/systemd/system/unusual.service
[Unit]
Description=Unusual Server
[Service]
ExecStart=/home/ubuntu/Unusual.Server --installPath=/home/ubuntu
Restart=always
RestartSec=60
StandardError=file:/home/ubuntu/trace/stderr.txt
StandardOutput=file:/home/ubuntu/trace/stdout.txt
SyslogIdentifier=unusual
User=ubuntu
WorkingDirectory=/home/ubuntu/
[Install]
WantedBy=multi-user.target
EOF

# habilitar e iniciar el servicio de Unusual Suite
systemctl enable unusual.service
service unusual start

Verificar la Instalación

Ve al directorio /home/ubuntu/trace y abre el archivo de traza más reciente. Una línea que contenga Server.Server.Main.Run confirma que el servidor de Unusual Suite está en funcionamiento.

Iniciar Sesión por Primera Vez

Una vez que el servidor esté en funcionamiento, inicia sesión con estas credenciales:

  • URL: http://<mydomain.com>/login (reemplaza el dominio con tu dominio real)
  • Usuario: la dirección de correo electrónico que proporcionaste durante la configuración
  • Contraseña: la contraseña de la base de datos de tu cadena de conexión

La contraseña de inicio de sesión inicial es por defecto la contraseña de la base de datos de tu cadena de conexión. Cambia tu contraseña de inicio de sesión después del primer acceso. La contraseña de la base de datos no se ve afectada cuando cambias tu contraseña de inicio de sesión.

Configurar una Cuenta de Correo SMTP Predeterminada

El servidor de Unusual Suite requiere una cuenta de correo SMTP predeterminada para enviar correos electrónicos de notificación. Si no hay ninguna cuenta configurada, aparece la siguiente línea en los archivos de traza:

Server.Server.SMTP: No SMTP default account configured

Asegúrate de que los registros DNS de tu servidor incluyan las entradas correctas de DMARC y DKIM para que los correos salientes no sean rechazados.

Actualizar el Servidor On-Premises

Para actualizar, debes reemplazar tanto el binario del servidor como el archivo WebAssembly. Ejecuta los siguientes comandos con privilegios de root:

# obtener y descomprimir el binario del servidor de Unusual Suite
# asignar privilegios elevados para que el servidor de Unusual Suite pueda escuchar en el puerto 443 (SSL) o 80 (sin SSL)
rm -f /home/ubuntu/Unusual.Server
wget --no-cache -P /home/ubuntu/assets https://ds-01.unusual-suite.com/assets/Unusual.Server.zip
unzip -o /home/ubuntu/assets/Unusual.Server.zip Unusual.Server -d /home/ubuntu
chmod 555 /home/ubuntu/Unusual.Server
rm -f /home/ubuntu/assets/Unusual.Server.zip
setcap 'cap_net_bind_service=+ep' /home/ubuntu/Unusual.Server

# obtener el binario de webassembly
rm -f /home/ubuntu/assets/Unusual.WebAssembly.zip
wget --no-cache -P /home/ubuntu/assets https://ds-01.unusual-suite.com/assets/Unusual.WebAssembly.zip
chown ubuntu:ubuntu /home/ubuntu/assets/Unusual.WebAssembly.zip
chmod 600 /home/ubuntu/assets/Unusual.WebAssembly.zip

# detener y reiniciar el servicio
service unusual stop
service unusual start

Referencia de Configuración

Toda la configuración está controlada por el archivo /home/ubuntu/Unusual.xml.

Propiedades obligatorias

  • ConnectionString — la cadena de conexión de la base de datos, que contiene:
    • server — dominio o IP del servidor de base de datos (por ejemplo, localhost)
    • database — nombre de la base de datos
    • user — nombre de usuario para conectarse a la base de datos
    • password — contraseña para conectarse a la base de datos
  • InternalKey — la clave interna de la sección de requisitos previos anterior
  • HostName — IP o dominio del servidor on-premises
  • LicenseEmail — el correo electrónico de licencia inmutable de la sección de requisitos previos anterior

Propiedades opcionales

  • DeepLApiKey — clave de API para los servicios de traducción de DeepL
  • FireCrawlApiKey — clave de API para FireCrawl para rastrear y extraer datos de sitios web
  • GenderizeApiKey — clave de API para Genderize IO para detectar el género a partir de nombres de contacto
  • MistralAIApiKey — clave de API para los servicios de Mistral AI
  • OcrSpaceApiKey — clave de API para OCR Space para extraer texto de documentos PDF o de imagen
  • OpenAIApiKey — clave de API para los servicios de OpenAI
  • UseSsl — establece en 'True' (predeterminado) si el servidor es accesible mediante SSL; establece en 'False' si no usas SSL

Propiedades gestionadas por el sistema — no editar

  • AesKey y AesIV — claves de cifrado utilizadas para proteger las credenciales almacenadas, como las contraseñas. Unusual Suite las establece automáticamente. No elimines ni modifiques estos valores, o perderás el acceso a las credenciales almacenadas en la base de datos.