ipmideck, y el contenedor de Docker,
que ejecuta el servidor web directamente. Se comportan de forma diferente, el comando de host te da una
consola de operador interactiva, mientras que el contenedor solo emite registros simples. Esta página cubre ambos.
Instalación en host: ipmideck start
En una instalación en host (pip), el servidor se inicia con el comando ipmideck. El comando
principal es start:
ipmideck solo, sin subcomando, sirve de forma idéntica a ipmideck start:
0.0.0.0:3000, así que abre http://<your-ip>:3000 en un
navegador una vez que esté activo.
ipmilink es un alias retrocompatible del mismo comando, ipmilink start
se comporta exactamente como ipmideck start. Usa ipmideck para todo lo nuevo.ipmideck start abre una consola de operador interactiva. Cuando
el mismo comando se ejecuta sin terminal, por ejemplo redirigido a un archivo o bajo un
supervisor de procesos, omite la consola y sirve con registros simples en su lugar. Consulta
el modo headless / sin TTY más abajo.
Docker: el contenedor ejecuta el servidor directamente
El contenedor de Docker no ejecuta el comandoipmideck. Su imagen lanza el servidor web
(uvicorn) directamente:
ipmideck, ninguno de los subcomandos, flags ni la
consola interactiva se aplican dentro de Docker, el contenedor solo emite registros simples
a stdout, exactamente como el modo headless en host. El contenedor se enlaza a
0.0.0.0:3000 y --network host es necesario para que pueda alcanzar tus BMC por el puerto UDP
623. Consulta Instalación para los detalles de red.
Configura el contenedor con variables de entorno con prefijo
IPMIDECK_ y un volumen en
/data en lugar de flags de CLI, consulta Configuración. La imagen publicada
llega pronto; el comando anterior es exactamente el comando que ejecutarás una vez que esté disponible.El directorio de datos
ipmideck escribeconfig.yaml, la base de datos SQLite y la clave de cifrado de credenciales en
un único directorio de datos. Dónde reside depende de la plataforma:
- Linux / Docker:
/data - Windows:
./data(relativo al directorio desde el que ejecutasipmideck)
IPMIDECK_DATA_DIR:
IPMIDECK_DATA_DIR=/data, así que persiste esa ruta con un
volumen para conservar tu configuración e historial entre reinicios del contenedor.
Sobrescrituras de entorno
Cada variable de entorno con prefijoIPMIDECK_ que sobrescribe un ajuste de config.yaml
funciona igual tanto si lo ejecutas en el host como en Docker, consulta
Configuración para la lista completa. Las dos que cambian cómo se enlaza
ipmideck son:
| Variable de entorno | Efecto |
|---|---|
IPMIDECK_SERVER_HOST | Host de enlace (predeterminado 0.0.0.0). |
IPMIDECK_SERVER_PORT | Puerto de enlace (predeterminado 3000). |
Las variables de entorno tienen prioridad sobre
config.yaml. En una instalación en host, un flag
de enlace explícito en la línea de comandos gana sobre la variable de entorno y el archivo.Puerto ya en uso
Si algo ya está escuchando en el puerto de enlace, ipmideck se niega a iniciarse en lugar de pelear por el puerto con otra instancia. Imprime esto en stderr y sale con estado1:
IPMIDECK_SERVER_PORT
(o server.port en config.yaml), y vuelve a iniciar.
Dirección no disponible
Un fallo distinto es cuando el host que pediste enlazar no puede usarse, por ejemplo una dirección que no existe en esta máquina, una interfaz solo IPv6 o un puerto privilegiado que no tienes permiso para enlazar. ipmideck lo informa por separado y también sale con estado1:
IPMIDECK_SERVER_HOST (o server.host), debe ser una dirección que
exista realmente en la máquina, y asegúrate de que el puerto sea uno que tengas permiso para enlazar.
Apagado controlado con Ctrl+C
Pulsa Ctrl+C (que envíaSIGINT; SIGTERM se maneja igual) para detener
ipmideck. El apagado es controlado: el servidor web sale de su bucle, se ejecuta el cierre del
lifespan de la aplicación, el control del ventilador se devuelve a tus BMC, y el proceso
sale limpiamente sin traza de error.
En Docker, el contenedor se detiene con SIGTERM (lo que envía docker stop), así que el mismo
apagado controlado se ejecuta cuando detienes el contenedor.
Reiniciar
Cómo funciona un reinicio depende de tu sistema operativo:- Linux (y otros sistemas POSIX): ipmideck se reinicia en el sitio: relanza un
proceso nuevo que vuelve a leer
config.yaml, manteniendo la misma terminal de control. - Windows: no hay re-exec en el sitio. ipmideck se apaga limpiamente e imprime una indicación pidiéndote que vuelvas a ejecutar el comando tú mismo:
ipmideck start en la misma shell, el proceso nuevo vuelve a leer
config.yaml y toma los nuevos ajustes.
Modo headless / sin TTY
Cuando ipmideck se ejecuta sin terminal conectada, redirigido a un archivo, redirigido o bajo un gestor de procesos, detecta que no hay TTY y omite la consola interactiva. Sirve el panel con normalidad y emite registros simples a stdout en su lugar. Esta es la misma salida que obtienes del contenedor de Docker, que siempre se ejecuta sin consola. Este modo no necesita nada especial: simplemente inicia ipmideck de la forma en que tu supervisor o pipeline lo invoque, y lee los registros desde stdout.Próximos pasos
- Instalación: Docker y pip en detalle.
- Configuración:
config.yaml, sobrescrituras de entorno y dónde residen los datos. - Solución de problemas: errores de conexión e IPMI.