Despliegue con Docker
l3mcore puede desplegarse completamente a través de Docker. Este es el método recomendado para servidores y entornos de producción, ya que evita tener que instalar Python y librerías complejas directamente en tu máquina.
Tenemos tres imágenes oficiales disponibles en Docker Hub (lemoelink/l3mcore).
Imágenes Disponibles
1. General (Por defecto)
- Tag:
lemoelink/l3mcore:generalolemoelink/l3mcore:latest - Base: Debian Slim
- Descripción: Es la imagen más ligera y recomendada para la gran mayoría de casos. Viene preconfigurada y optimizada para ejecutar los modelos de enrutamiento utilizando únicamente el procesador (CPU), lo que asegura una compatibilidad casi total con cualquier sistema.
2. Debian
- Tag:
lemoelink/l3mcore:debian - Base: Debian Estándar
- Descripción: Es idéntica a la versión general, pero incluye todas las librerías base del sistema operativo. Es muy útil si necesitas entrar al contenedor para depurar o instalar herramientas adicionales de red.
3. CUDA (Beta)
- Tag:
lemoelink/l3mcore:cuda - Base: Nvidia CUDA Runtime
- Descripción: Utiliza esta versión únicamente si vas a cargar modelos locales pesados (como Llama 3) directamente en l3mcore y tienes una tarjeta gráfica Nvidia. Requiere pasar el parámetro
--gpus alla Docker.
Cómo Ejecutar l3mcore
Puedes arrancar el contenedor con un solo comando. Recomendamos encarecidamente utilizar "volúmenes" para asegurar que tu configuración y los modelos que el sistema descargue no se pierdan si reinicias el contenedor.
Copia y pega este comando en tu terminal:
docker run -d -p 11435:11435 \
-v ./config:/app/config \
-v ./models:/app/models \
-v ./data:/app/data \
--name lemoe \
lemoelink/l3mcore:general
Explicación de los volúmenes
/app/config: Al montar esta carpeta, podrás ver y editar los archivosconfig.jsonyexperts.jsondirectamente desde tu ordenador sin necesidad de reconstruir el contenedor. Los cambios se aplicarán automáticamente./app/models: Aquí es donde l3mcore guarda los modelos que descarga de internet (como el enrutador semántico). Si no montas este volumen, l3mcore tendrá que descargar cientos de megabytes cada vez que lo enciendas./app/data: Mantiene un registro persistente de las métricas de uso y telemetría de tu servidor.
Despliegue con Docker Compose
Si prefieres gestionar tus contenedores de forma declarativa, puedes crear un archivo docker-compose.yml con el siguiente contenido:
version: '3.8'
services:
lemoe:
image: lemoelink/l3mcore:general
container_name: lemoe
ports:
- "11435:11435"
volumes:
- ./config:/app/config
- ./models:/app/models
- ./data:/app/data
restart: unless-stopped
Para iniciarlo, simplemente ejecuta:
docker compose up -d
Actualizar a una nueva versión
Cuando salga una nueva versión de l3mcore, actualizar tu nodo es tan sencillo como ejecutar:
docker pull lemoelink/l3mcore:general
docker stop lemoe
docker rm lemoe
# Y vuelves a ejecutar el comando "docker run" de arriba