Concerto Local (on-premise)
Concerto Local (precio a medida: habla con ventas) despliega Shara en tu propia infraestructura: la base de datos, los agentes y el modelo principal (Concerto) corren en tu servidor. Esta guía explica qué necesitas, cómo se instala, cómo se conecta con tu cuenta de Shara y cómo se mantiene.
Quién lo instala
Sección titulada «Quién lo instala»Hay dos maneras, y las dos están incluidas en el contrato:
- Te lo instalamos nosotros. La instalación va incluida al contratar Concerto Local. La hacemos presencialmente o en remoto y la dejamos funcionando y conectada a Shara. No tienes que hacer nada de lo que sigue.
- Lo instala tu equipo de IT. Si tu empresa tiene IT y prefiere hacerlo él, es un instalador de un solo comando sobre Docker. El resto de esta guía va paso a paso, con frases cortas y comandos que se copian tal cual.
Para instalar por tu cuenta necesitas tres datos que AIGiner entrega con el contrato: la dirección de descarga (<URL>), el token de descarga (<TOKEN>) y, si procede, la dirección del fichero de modelos (<URL-MODELOS>). Sin ellos no se puede instalar. Si no los tienes, escribe a hola@aiginer.com.
Qué necesitas
Sección titulada «Qué necesitas»El servidor
Sección titulada «El servidor»Concerto Local es para un servidor de empresa con GPU y funciona en Linux x86_64 (no en ARM). Es un solo servidor, con estos requisitos:
| Requisito | Mínimo |
|---|---|
| Gráfica | 8 GPU de clase NVIDIA H200 (141 GB cada una) o superior (B200 o B300) |
| Memoria | Al menos 512 GB de RAM |
| Procesador | 64 núcleos |
| Disco | 2 TB NVMe libres |
| Sistema | Linux con Docker y el driver de NVIDIA |
- Por debajo de estos requisitos el instalador no instala.
- También admitimos despliegues en nube privada (AWS, Azure o GCP), con máquinas de GPU dedicadas dentro de tu propia cuenta.
Software, disco y red
Sección titulada «Software, disco y red»- Docker 24 o superior con el plugin Compose. Si falta, el instalador lo instala (con
--si) o lo puedes instalar tú antes. - Driver de NVIDIA y NVIDIA Container Toolkit. Si falta, el instalador lo dice y se detiene antes de tocar nada.
- Disco libre en
/opt: al menos 2 TB NVMe. - El servidor sale a Internet (la primera vez baja la imagen y los pesos del modelo).
- Los puertos 80 y 443 están libres.
- Un nombre para entrar (por ejemplo
shara.empresa.com) apuntando al servidor. Sin nombre público también vale: el instalador usa el nombre interno del equipo y los navegadores avisarán del certificado.
Comprobar el servidor
Sección titulada «Comprobar el servidor»Entra por SSH y mira cuatro cosas:
| Qué | Comando | Qué buscas |
|---|---|---|
| Sistema | uname -sm |
Debe decir Linux x86_64. |
| Memoria | free -g |
La cifra de «total» debe ser de 512 GB o más. |
| Tarjeta gráfica | nvidia-smi |
Deben salir 8 GPU de clase H200 o superior. Si falla, no hay driver o tarjeta NVIDIA. |
| Disco libre | df -h /opt |
Al menos 2 TB NVMe libres. |
Y que los puertos 80 y 443 están libres: este comando no debe devolver nada.
sudo ss -ltnp | grep -E ':80 |:443 '
Para ver si el servidor cumple los requisitos, sin instalar nada:
curl -fsSL <URL>/instalar.sh | bash -s -- --solo-comprobar
Las líneas que importan son RAM_GB=... y GPU_NUM=.... Si el servidor no cumple los requisitos, el instalador lo dice y no instala.
Instalar con un comando
Sección titulada «Instalar con un comando»Cambia <URL>, <TOKEN>, <URL-MODELOS> (los datos del contrato), el dominio y el correo:
curl -fsSL <URL>/instalar.sh | sudo SHARA_IMAGEN_URL=<URL>/imagen.tar.zst SHARA_PAQUETE_URL=<URL>/paquete.tar.zst SHARA_MODELOS_URL=<URL-MODELOS> SHARA_DESCARGA_TOKEN=<TOKEN> bash -s -- --dominio shara.empresa.com --email ti@empresa.com --si
--dominioy--emailsirven para el certificado. Si los quitas, usa el nombre del equipo.--sicontesta «sí» a las preguntas (por ejemplo, instalar Docker si falta). Quítalo si prefieres que pregunte.--dir /opt/sharamueve la instalación a otra carpeta.
El instalador, en orden: comprueba el servidor, instala Docker si falta, crea la configuración con claves aleatorias, carga la imagen de Shara, arranca todo y espera a que responda. Después instala el arranque automático y la orden shara-local.
La primera vez tarda. Descarga los pesos del modelo, unos 760 GB: un par de horas con fibra de 1 Gb/s y bastante más con una línea más lenta, y va sacando puntos en pantalla. Si el SSH se corta, la instalación sigue; entra de nuevo y comprueba el estado. Repetir el comando es seguro: no cambia las claves ni toca los datos.
Comprobar que funciona
Sección titulada «Comprobar que funciona»shara-local estado
Debe acabar con «Todo está en marcha.» y la línea de la versión. Los servicios shara-migrate y concerto-bootstrap salen como «Exited (0)»: es normal, solo trabajan al arrancar.
Después, desde un navegador:
- Abre
https://<tu-dominio>/livez. Debe mostrar{"status":"alive"}. - Abre
https://<tu-dominio>. Debe salir la pantalla de entrada de Shara.
La huella del certificado
Sección titulada «La huella del certificado»El servidor firma con su propia autoridad y la app de escritorio fija el certificado la primera vez que se conecta. Comprueba que es el tuyo. En el servidor:
sudo shara-local estado
imprime una línea «Huella del certificado: FF:DE:…:A0» (SHA-256 en hexadecimal, mayúsculas, separado por dos puntos). En la app, al elegir «Servidor de mi empresa», se muestra otra huella: tienen que ser idénticas, carácter por carácter. Si no lo son, no sigas: alguien puede estar en medio de la conexión.
- El certificado es propio, de 10 años, y lo crea el instalador una sola vez en
/opt/shara/nginx/certs/. No cambia al reiniciar ni al actualizar. - No borres esa carpeta: la app lo vería como un servidor distinto y bloquearía la conexión.
- La app solo acepta
https(yhttpúnicamente hacialocalhost). - Si el navegador avisa del certificado y no hay dominio público, es lo esperado. Pide a TI que instale el certificado raíz, o pon un certificado de la empresa.
Prueba también el reinicio con sudo reboot. A los pocos minutos, shara-local estado tiene que decir lo mismo, sin que hagas nada.
Conectar con Shara
Sección titulada «Conectar con Shara»El servidor funciona solo, pero para que tu cuenta de Shara lo vea y lo gestione hay que conectarlo.
- Entra en la aplicación de Shara con la cuenta de dueño o administrador, abre la sección Plan Local y pide un código de conexión.
- Sale un código de 8 caracteres (
XXXX-XXXX). Vale 15 minutos y una sola vez. Si pides otro, el anterior deja de valer. - En el servidor:
sudo shara-local conectar XXXX-XXXX
Si sale «Conectado», ya está. La conexión queda guardada en /opt/shara/conexion/conexion.json (solo la lee root) y, en menos de 30 segundos, Shara muestra el servidor como conectado.
Si falla:
| Mensaje | Qué significa |
|---|---|
| «no acepta ese código» | No existe, ya se usó o pasaron 15 minutos. Crea uno nuevo en Shara. |
| «Demasiados intentos» | Espera un minuto y repite. |
| «respuesta 404» | El servicio de activación aún no está disponible. No es fallo tuyo: avisa a AIGiner. |
| «no he podido llegar» | El servidor no sale a Internet. |
Desde ese momento el servicio shara-conector mantiene la conexión para siempre: avisa a Shara cada 30 segundos, renueva la licencia solo y, si se cae Internet o la nube, reconecta por su cuenta (espera 1 s, 2 s, 4 s… hasta un máximo de 5 minutos entre intentos). shara-local estado dice cómo va, y shara-local logs shara-conector lo cuenta con detalle. Sin Internet no se puede iniciar sesión ni renovar la sesión, porque pasan por la nube de Shara. El servidor aguanta con la licencia 30 días de gracia (ver abajo); tus datos, los agentes y el modelo se quedan en tu servidor.
Desconectar. Desde Shara, en la sección Plan Local, con la opción de desconectar el servidor. El conector lo registra en el log («4401») y deja de reintentar; el servidor sigue funcionando en local. Para volver a conectarlo, genera un código nuevo y usa shara-local conectar: no hace falta reiniciar nada. Repetir conectar es seguro, sobrescribe la conexión anterior.
Licencia y días sin conexión
Sección titulada «Licencia y días sin conexión»- La licencia vale 7 días y el conector la renueva a diario.
- Si caduca (por ejemplo, porque el servidor lleva días sin Internet), hay 30 días de gracia. En gracia la app avisa con la cabecera
X-Shara-Licenciay enGET /v1/plan-local/estado-local. - Pasada la gracia, o sin licencia, el servidor sigue dejando leer y exportar los datos (
/tenants/me/export,/me/data-export), pero rechaza con402 licencia_caducadatodo lo que escribe o ejecuta agentes, también por WebSocket. - Recuperar la conexión basta para volver a la normalidad: el conector renueva la licencia solo.
El reloj
Sección titulada «El reloj»El servidor guarda el último instante que ha visto y nunca lo retrocede, para que atrasar la fecha no alargue la licencia. Por eso, si el reloj saltó hacia delante por error (pila de la placa, fecha mal puesta un rato), la licencia se daría por pasada aunque no lo esté. Para repararlo:
sudo shara-local reparar-reloj
Exige que el reloj esté sincronizado por NTP (timedatectl show -p NTPSynchronized debe decir yes), enseña el instante guardado y la hora actual, pide escribir REPARAR y deja constancia en la auditoría. Solo baja el instante a la hora actual; nunca lo sube.
Si se va la luz
Sección titulada «Si se va la luz»No hagas nada especial. Espera 5 minutos: el servidor arranca y Shara arranca sola. Comprueba con shara-local estado. Si a los 10 minutos algo no ha vuelto:
sudo shara-local arrancar
shara-local estado
La base de datos se recupera sola de un corte. Con un SAI (UPS) el riesgo es casi cero: recomendamos tenerlo siempre.
Actualizar
Sección titulada «Actualizar»sudo shara-local actualizar
Hace antes una copia de seguridad, carga la versión nueva y reinicia. Las migraciones de la base corren solas. Dura unos minutos y durante ese rato Shara no responde.
Copias de seguridad
Sección titulada «Copias de seguridad»Hacer una ahora:
sudo shara-local copia
Se guardan en /opt/shara/copias y se borran las de más de 30 días. Copia esa carpeta a otro equipo de vez en cuando: una copia en el mismo disco no sirve si el disco muere.
Volver a una copia (sobrescribe los datos actuales, y pide confirmación antes de borrar nada):
sudo shara-local restaurar /opt/shara/copias/<fichero>.dump
Parar, arrancar y mirar registros
Sección titulada «Parar, arrancar y mirar registros»sudo shara-local parar # para Shara; los datos se conservan
sudo shara-local arrancar
sudo shara-local reiniciar
shara-local logs # todo; Ctrl+C para salir
shara-local logs shara-backend # solo un servicio
Desinstalar
Sección titulada «Desinstalar»sudo shara-local desinstalar
Pregunta antes. Quita el arranque automático y para Shara, pero conserva los datos y las copias. Para borrar también los datos (no hay vuelta atrás):
sudo shara-local desinstalar --borrar-datos
Pide además que escribas BORRAR. Sin --borrar-datos no se borra nada.
Problemas frecuentes
Sección titulada «Problemas frecuentes»| Qué ves | Qué hacer |
|---|---|
| «Hace falta arquitectura x86_64» | El servidor es ARM. Plan Local solo funciona en x86_64. |
| «Falta Docker 24+» | Repite con --si y lo instala, o instálalo a mano y repite. |
| «Hay GPU pero falta NVIDIA Container Toolkit» | Instálalo (guía de NVIDIA, «Container Toolkit») y repite. |
| «No tengo los pesos de Concerto…» | Falta el fichero de modelos. Pasa SHARA_MODELOS_URL o copia el fichero a /opt/shara/modelos.env. |
| «No se pudo descargar…» | Token mal copiado, o el servidor no sale a Internet. Prueba curl -I <URL>/instalar.sh. |
| Pasa el tiempo y «todavía no está sano» | Lo normal la primera vez es esperar. Mira shara-local logs concerto-llm: si sigue descargando, espera. |
shara-local estado marca algo «unhealthy» |
shara-local logs <servicio> y envía las últimas 50 líneas a AIGiner. |
| El navegador avisa del certificado | Esperado sin dominio público. Mira «La huella del certificado». |
| El puerto 80 o 443 está ocupado | Hay otro servidor web (Apache, Nginx). Páralo o instala Shara en otro equipo. |
| Mucho más lento de lo previsto | El servidor no rinde como debería. Revisa «Qué necesitas» (GPU, memoria y disco) y consulta con AIGiner. |
Cuando pidas ayuda a AIGiner (soporte@aiginer.com), manda siempre la salida de shara-local estado, la versión (cat /opt/shara/VERSION) y las últimas 50 líneas del servicio que falla. Nunca mandes el fichero .env ni la carpeta conexion/: llevan claves.
¿Quieres una propuesta a medida o un piloto? Escribe a
hola@aiginer.com.