{ "meta": { "title": "Post-instalación de ProxMenux: Ajustes opcionales", "description": "Guía de los ajustes opcionales del script post-instalación de ProxMenux para añadir funciones y optimizaciones a Proxmox VE.", "ogTitle": "Post-instalación de ProxMenux: Ajustes opcionales", "ogDescription": "Guía de los ajustes opcionales del script post-instalación de ProxMenux para añadir funciones y optimizaciones a Proxmox VE.", "ogImageAlt": "Ajustes opcionales post-instalación de ProxMenux" }, "title": "Ajustes opcionales", "intro": "La categoría Ajustes opcionales ofrece funciones y optimizaciones adicionales para tu instalación de Proxmox VE. No son esenciales, pero pueden mejorar las capacidades del sistema en situaciones concretas.", "available": "Funcionalidades opcionales disponibles", "stepLabel": "Paso", "ceph": { "title": "Añadir soporte Ceph más reciente", "intro": "Esta opción instala el soporte más reciente del sistema de almacenamiento Ceph para Proxmox VE. Ceph es un sistema de almacenamiento distribuido que ofrece alto rendimiento, fiabilidad y escalabilidad.", "doesIntro": "Qué hace:", "doesItems": [ "Añade el repositorio de Ceph a tu sistema", "Actualiza las listas de paquetes", "Instala los paquetes Ceph usando el comando 'pveceph install'", "Verifica la instalación" ], "howUse": "Cómo usarlo: Tras la instalación, puedes configurar y gestionar almacenamiento Ceph usando la interfaz web de Proxmox VE o herramientas de línea de comandos.", "automates": "Este ajuste automatiza los siguientes comandos:" }, "amd": { "title": "Aplicar correcciones para CPU AMD", "intro": "Esta opción aplica fixes específicos para CPUs AMD EPYC y Ryzen para mejorar la estabilidad y la compatibilidad.", "doesIntro": "Qué hace:", "doesItems": [ "Detecta si hay presente una CPU AMD EPYC o Ryzen", "Aplica el parámetro de kernel 'idle=nomwait' para prevenir crashes aleatorios (vía /etc/kernel/cmdline en hosts con systemd-boot, o /etc/default/grub en hosts con GRUB — con un .bak del original)", "Configura KVM para que ignore ciertos MSRs (Model Specific Registers) y mejorar la compatibilidad con guests Windows" ], "howUse": "Cómo usarlo: Estas correcciones se aplican automáticamente y requieren reiniciar el sistema para surtir efecto.", "automates": "Este ajuste automatiza los siguientes comandos:" }, "ha": { "title": "Activar servicios de alta disponibilidad", "intro": "Esta opción activa los servicios High Availability (HA) en Proxmox VE, permitiendo failover automático de VMs y contenedores en caso de fallo de un nodo.", "doesIntro": "Qué hace:", "doesItems": [ "Activa y arranca el servicio pve-ha-lrm (Local Resource Manager)", "Activa y arranca el servicio pve-ha-crm (Cluster Resource Manager)", "Activa y arranca el servicio corosync para la comunicación del cluster" ], "howUse": "Cómo usarlo: Tras activar estos servicios, puedes configurar grupos y recursos HA en la interfaz web de Proxmox VE.", "automates": "Este ajuste automatiza los siguientes comandos:" }, "pveam": { "title": "Actualizar el Proxmox VE Appliance Manager", "intro": "Refresca el índice local de plantillas de contenedores que pveam expone en la UI de Proxmox, para que la lista de appliances disponibles esté al día la próxima vez que crees un LXC.", "doesIntro": "Qué hace:", "doesItems": [ "Ejecuta pveam update contra los mirrors de Proxmox para bajar el catálogo actual de appliances", "Puebla la lista de appliances que muestra la web UI al crear un contenedor" ], "howUse": "Cómo usarlo: ejecútalo cuando la lista de appliances en la UI se sienta desactualizada, o tras cambiar de mirror. No descarga las plantillas en sí — solo el índice del catálogo.", "automates": "Este ajuste automatiza el siguiente comando:" }, "fastfetch": { "title": "Instalar y configurar Fastfetch", "intro": "Esta opción instala y configura silenciosamente Fastfetch, una herramienta de información del sistema que muestra las specs del sistema y un logo personalizado al hacer login.", "doesLabel": "Qué hace:", "doesItems": [ "Descarga e instala silenciosamente la última versión de Fastfetch", "Permite elegir un logo (ProxMenux, Proxmox, Helper-Scripts, Home-Labs-Club, Proxmology o uno personalizado)", "Configura Fastfetch para mostrar «Sistema optimizado por ProxMenux»", "Configura Fastfetch para que se ejecute automáticamente al hacer login en consola" ], "importantLabel": "Importante:", "importantBody": "Si te conectas a Proxmox por SSH, deberías seleccionar el logo Proxmox o crear uno custom usando jp2a o img2txt. Los otros logos se generan usando chafa y pueden no mostrarse correctamente en una sesión SSH estándar.", "customLabel": "Logos personalizados:", "customBody1": "Para usar un logo personalizado, coloca tu archivo de texto ASCII art en: /usr/local/share/fastfetch/logos/", "customBody2": "Puedes crear logos personalizados usando herramientas como chafa, jp2a o img2txt.", "customBody3": "Para mejores resultados:", "customItems": [ "Mantén la altura del logo en 35 líneas o menos para preservar las proporciones y que quepa en el terminal", "Usa chafa para logos a color (puede no mostrarse correctamente en sesiones SSH)", "Usa jp2a o img2txt para logos compatibles con SSH" ], "examplesLabel": "Logos de ejemplo:", "logos": [ { "name": "ProxMenux", "alt": "Logo de ProxMenux", "src": "https://macrimi.github.io/ProxMenux/fastfetch/proxmenux.png" }, { "name": "Proxmox", "alt": "Logo de Proxmox", "src": "https://macrimi.github.io/ProxMenux/fastfetch/proxmox.png" }, { "name": "JC Channel", "alt": "Logo de JC Channel", "src": "/fastfetch/jc-channel.png" }, { "name": "Helper-Scripts", "alt": "Logo de Helper-Scripts", "src": "https://macrimi.github.io/ProxMenux/fastfetch/helper-scripts.png" }, { "name": "Home-Labs-Club", "alt": "Logo de Home-Labs-Club", "src": "https://macrimi.github.io/ProxMenux/fastfetch/home-labs-club.png" }, { "name": "Proxmology", "alt": "Logo de Proxmology", "src": "https://macrimi.github.io/ProxMenux/fastfetch/proxmology.png" } ], "automates": "Este ajuste automatiza los siguientes comandos:" }, "figurine": { "title": "Instalar y configurar Figurine", "intro": "Esta opción instala y configura Figurine, una herramienta que crea banners de texto ASCII con estilo para tu terminal, mostrando tu hostname en un formato 3D atractivo visualmente.", "doesLabel": "Qué hace:", "doesItems": [ "Descarga e instala Figurine v2.1.1 desde GitHub para la arquitectura del host (AMD64, ARM64 o ARMv7)", "Crea un mensaje de bienvenida que muestra tu hostname en ASCII art 3D al hacer login", "Actualiza el binario existente de Figurine tras descargar y extraer el paquete correctamente", "Configura el mensaje de bienvenida para que se ejecute automáticamente al hacer login" ], "practicalLabel": "Uso práctico:", "practicalBody": "Cuando gestionas varios nodos Proxmox en un cluster, Figurine proporciona una indicación visual inmediata de en qué nodo estás logueado. Esto ayuda a prevenir comandos accidentales en el nodo equivocado y mejora tu flujo de trabajo al gestionar varios servidores.", "exampleLabel": "Salida de ejemplo:", "imageAlt": "Salida de ejemplo de Figurine", "automates": "Este ajuste automatiza el siguiente proceso:", "outro": "Tras la instalación, verás tu hostname mostrado en ASCII art 3D cada vez que hagas login, dejando claro inmediatamente con qué nodo Proxmox estás trabajando." }, "log2ram": { "title": "Instalar Log2RAM (reducción de desgaste en SSD/NVMe)", "intro": "Log2RAM monta /var/log en una ramdisk tmpfs y lo sincroniza periódicamente al disco. Almacenar temporalmente en RAM las escrituras frecuentes de journald puede reducir el desgaste del SSD y la E/S. La sincronización y un apagado limpio guardan los registros, pero un corte brusco puede perder las entradas posteriores a la última sincronización.", "upstreamLabel": "Proyecto oficial:", "upstreamUrl": "https://github.com/azlux/log2ram", "upstreamLinkLabel": "azlux/log2ram en GitHub", "doesLabel": "Qué hace ProxMenux:", "doesItems": [ "Detecta si el disco raíz es SSD/NVMe leyendo /sys/block/<dev>/queue/rotational. En un disco rotacional el flujo Automatizado pregunta antes de instalar.", "Clona el repositorio oficial (azlux/log2ram) en /tmp/log2ram y aplica un patch a su install.sh, sustituyendo rsync -aAXv por rsync -aXv --no-acls. Ese ajuste evita el fallo set_acl: Operation not supported con exit 23 que el script vanilla produce al mover /var/log en sistemas de archivos sin soporte de ACLs. La unit systemd log2ram se habilita después de la instalación.", "Dimensiona la ramdisk según la RAM del host: ≤ 8 GB → 128M, ≤ 16 GB → 256M, > 16 GB → 512M. Escribe el valor en SIZE= de /etc/log2ram.conf.", "Programa una sincronización periódica a disco vía /etc/cron.d/log2ram: cada 1h / 3h / 6h según el mismo tramo de RAM.", "Instala un guardián de auto-sync en /usr/local/bin/log2ram-check.sh, conectado a /etc/cron.d/log2ram-auto-sync para ejecutarse cada 10 minutos. Cuando /var/log alcanza el 80% del tamaño de la ramdisk el guardián compacta journald; al 92% primero ejecuta logrotate -f /etc/logrotate.d/proxmox-backup-api si ese archivo existe (para forzar la rotación de los logs del API de PBS, que suelen ser los que más crecen en un host con PBS) y a continuación trunca pveproxy access/error y pveam.log antes de sincronizar. El comando log2ram write por sí solo copia tmpfs a disco pero NO reduce la tmpfs, así que este guardián evita que PVE caiga con No space left on device cuando los logs crecen sin control.", "Detecta si proxmox-backup-server corre como servicio en el host. Cuando está presente, deposita /etc/logrotate.d/proxmox-backup-api (rotación de 20 MB × 3) y /etc/cron.hourly/proxmox-backup-logrotate, de forma que los logs del API de PBS — el origen habitual del crecimiento en un host con PBS — queden acotados incluso entre las sincronizaciones periódicas de Log2RAM. En hosts sin PBS este paso es un no-op.", "Ajusta los límites de systemd-journald (SystemMaxUse, RuntimeMaxUse) para que quepan en la ramdisk y así una ráfaga puntual no la llene.", "Se registra en installed_tools.json para poder revertirlo desde Desinstalar optimizaciones." ], "howUseLabel": "Cómo se usa:", "howUseBody": "En el flujo automatizado Log2RAM se instala sin intervención al detectar un disco raíz SSD/NVMe. El personalizable pregunta por tamaño, intervalo y activación del auxiliar de sincronización. El mensaje indica 90%, pero el auxiliar generado usa los umbrales de limpieza del 80% y actuación intensiva del 92% descritos arriba.", "verifyLabel": "Verificar y gestionar desde la shell:", "verifyCode": "# Service state and configured timers\nsystemctl status log2ram\nsystemctl list-timers log2ram*\n\n# Current ramdisk usage — /var/log IS the tmpfs itself\ndf -h /var/log\n\n# Force a sync now (tmpfs → disk); does NOT shrink the tmpfs\nlog2ram write\n\n# Trigger the auto-sync guard on demand (vacuum + sync when usage is high)\n/usr/local/bin/log2ram-check.sh\n\n# Current config: SIZE, mail settings, path\ncat /etc/log2ram.conf\n\n# ProxMenux-specific cron jobs\ncat /etc/cron.d/log2ram /etc/cron.d/log2ram-auto-sync\n\n# Recent Log2RAM activity\njournalctl -u log2ram -n 50 --no-pager" }, "zram": { "title": "Activar el perfil de swap con ZRAM", "intro": "Crea un dispositivo de swap comprimido en la RAM, /dev/zram0, con systemd-zram-generator. Las páginas que el kernel lleva al swap se comprimen con zstd y se quedan en memoria, así que se escriben en la RAM antes de llegar al swap en disco.", "doesLabel": "Qué hace:", "doesItems": [ "Instala systemd-zram-generator si no está y anota si lo ha instalado ProxMenux.", "Escribe /etc/systemd/zram-generator.conf.d/90-proxmenux.conf: un dispositivo zram0 de una décima parte de la RAM del host, compresión zstd (zstd(level=9) con systemd-zram-generator 1.2.0 o posterior) y prioridad de swap 32767.", "Con esa prioridad el kernel llena primero ZRAM. Un swap en disco que ya exista conserva su prioridad y recibe las páginas que ya no caben en ZRAM.", "Antes de cambiar nada, busca otra configuración de ZRAM: un swap zram activo, una línea zram en /etc/fstab, una unidad de systemd u otro fichero del generador. Si encuentra una, la opción se detiene y la deja como está.", "Arranca dev-zram0.swap y comprueba que el dispositivo activo coincide con el perfil. Si no coincide, se restaura el estado anterior.", "Se registra en installed_tools.json para poder revertirlo desde Desinstalar optimizaciones." ], "howUseLabel": "Cómo se usa:", "howUseBody": "La opción solo forma parte del flujo Personalizable; el flujo Automatizado no la aplica. El dispositivo se crea de nuevo en cada arranque. Mientras está activo, la tarjeta de Memoria del ProxMenux Monitor muestra su capacidad, el swap usado, el algoritmo, la relación de compresión y la memoria física que ocupa.", "verifyLabel": "Verificar desde la shell:", "verifyCode": "# Active swap devices and their priority\nswapon --show\n\n# ZRAM device: algorithm, size and compressed data\nzramctl\n\n# Profile written by ProxMenux\ncat /etc/systemd/zram-generator.conf.d/90-proxmenux.conf\n\n# State of the swap unit\nsystemctl status dev-zram0.swap" }, "autoApplication": { "title": "Aplicación automática", "body": "En el flujo personalizable, selecciona cada función opcional según tus necesidades. Log2RAM también forma parte del automatizado con detección de hardware; ZRAM es exclusivo del personalizable. Revisa cada sección para conocer las preguntas y requisitos." } }