@openfactu/cli
v0.0.8
Published
CLI para gestionar OpenFactu: migraciones, tenants, plugins y setup
Downloads
237
Readme
@openfactu/cli
CLI oficial para instalar, gestionar y desplegar OpenFactu — ERP de facturacion open source.
Instalacion
npm i -g @openfactu/cliInicio rapido
openfactu install # Wizard interactivo completo
openfactu install:quick # Instalacion rapida (non-interactive)
openfactu deploy # Configura acceso externo
openfactu setup # Configuracion inicial de BD
openfactu doctor # Diagnostico del entornoComandos
Instalacion
| Comando | Descripcion |
|---------|-------------|
| openfactu install [dir] | Wizard completo: version, modo, Docker, contraseña BD, monitoreo (selección de servicios), servicio |
| openfactu install:quick | Instalacion rapida non-interactive |
| openfactu install:script | Generar script shell standalone para instalar sin CLI |
| openfactu update | Actualiza sin perder datos |
| openfactu update:check | Comprueba si hay versiones nuevas |
| openfactu uninstall | Desinstalacion limpia con backup opcional |
Opciones de install
openfactu install --tag v1.0.0 # Version especifica
openfactu install --branch develop # Desde branch
openfactu install --mode full # Modo: full, docker, minimal, download
openfactu install --generate-env # No preguntar: genera credenciales aleatorias
openfactu install --monitoring # Monitoreo: set basico (pgAdmin, Grafana, Prometheus, Portainer)
openfactu install --with-analytics # Monitoreo: set completo (+ Loki, Promtail, cAdvisor, Node Exporter)
openfactu install --service # Instalar como servicio systemd
openfactu install -y # Non-interactive, acepta defaults
openfactu install --no-preflight # Saltar chequeos previosCredenciales: en modo interactivo,
installpide la contraseña de PostgreSQL (pulsa Enter para generar una segura) y escribe un.envcompleto antes del primer arranque, de modo que Postgres se inicializa con ella.deployreutiliza esa contraseña; cambiarla luego no afecta a un volumen ya creado.Monitoreo: si activas monitoreo en modo interactivo, eliges con un checkbox qué servicios instalar (pgAdmin, Grafana, Prometheus, Loki, Promtail, cAdvisor, Node Exporter, Portainer, Alertmanager). Con
--monitoring/--with-analyticsse usan sets predefinidos.
Modos de instalacion
- full — Build + up + setup de BD + health checks
- docker — Build + up (sin setup de BD)
- minimal — Solo up, sin build
- download — Solo descarga el codigo
Servicio systemd
| Comando | Descripcion |
|---------|-------------|
| openfactu service install | Instalar como servicio systemd con auto-start |
| openfactu service start | Iniciar servicio |
| openfactu service stop | Detener servicio |
| openfactu service restart | Reiniciar servicio |
| openfactu service status | Ver estado |
| openfactu service logs | Ver logs del servicio |
| openfactu service uninstall | Remover servicio |
openfactu service install --restart always --healthcheck --with-monitoringDespliegue
| Comando | Descripcion |
|---------|-------------|
| openfactu deploy | Wizard para configurar acceso externo (LAN/internet) |
| openfactu deploy:status | Estado de los contenedores Docker |
| openfactu rebuild | Reconstruye y reinicia contenedores |
| openfactu logs | Muestra logs de los servicios |
| openfactu stop | Para todos los servicios |
| openfactu restart | Reinicia sin rebuild |
Monitoreo y Analitica
| Comando | Descripcion |
|---------|-------------|
| openfactu monitoring | Wizard para configurar stack de monitoreo |
| openfactu monitoring:generate | Generar compose sin interaccion |
| openfactu monitoring:up | Levantar servicios de monitoreo |
| openfactu monitoring:down | Parar servicios de monitoreo |
| openfactu monitoring:status | Estado de los servicios |
| openfactu monitoring:config | Cambiar configuracion |
Servicios disponibles
- pgAdmin — Gestion de base de datos (puerto 5050)
- Grafana — Dashboards y visualizacion (puerto 3001)
- Prometheus — Metricas y alertas (puerto 9090)
- Loki — Agregacion de logs (puerto 3100)
- Promtail — Envio de logs a Loki
- cAdvisor — Metricas de contenedores Docker (puerto 8081)
- Node Exporter — Metricas del host (puerto 9100)
- Portainer — Gestion de Docker (puerto 9000)
- Alertmanager — Gestion de alertas (puerto 9093)
openfactu monitoring --with-analytics # Stack completo de analitica
openfactu monitoring:generate --analytics # Generar compose con todoBackup y Restore
| Comando | Descripcion |
|---------|-------------|
| openfactu backup create | Crear backup completo |
| openfactu backup list | Listar backups disponibles |
| openfactu backup restore | Restaurar desde backup |
| openfactu backup delete | Eliminar backup |
openfactu backup create --name produccion-2024
openfactu backup create --db-only # Solo base de datos
openfactu backup restore --name produccion-2024
openfactu uninstall --keep-backup # Backup antes de desinstalarDiagnostico
| Comando | Descripcion |
|---------|-------------|
| openfactu doctor | Diagnostico completo del entorno |
openfactu doctor # Verificacion visual
openfactu doctor --json # Salida en JSON para scriptsBase de datos
| Comando | Descripcion |
|---------|-------------|
| openfactu setup | Configuracion inicial: BD, admin, primer tenant |
| openfactu migrate | Ejecuta migraciones pendientes |
| openfactu migrate:status | Estado de migraciones por tenant |
Tenants (empresas)
| Comando | Descripcion |
|---------|-------------|
| openfactu tenant list | Lista empresas |
| openfactu tenant create | Crea una empresa nueva |
| openfactu tenant sync | Sincroniza migraciones |
Plugins
| Comando | Descripcion |
|---------|-------------|
| openfactu plugin list | Lista plugins instalados con estado por tenant |
| openfactu plugin search | Busca en el marketplace (interactivo) |
| openfactu plugin install <nombre> | Descarga e instala del marketplace |
| openfactu plugin update [nombre] | Actualiza uno o todos |
| openfactu plugin remove <nombre> | Elimina un plugin |
| openfactu plugin link [dir] | Enlaza un plugin externo (symlink) |
| openfactu plugin unlink <nombre> | Quita el enlace |
| openfactu plugin push [dir] | Sube un plugin a un servidor remoto |
| openfactu plugin watch [dir] | Auto-sync al guardar (desarrollo remoto) |
| openfactu plugin dev [nombre] | Servidor en modo desarrollo con hot reload |
Otros
| Comando | Descripcion |
|---------|-------------|
| openfactu version | Versiones del sistema |
Flujos de trabajo
Instalacion para produccion
# 1. Instalacion completa con todo
openfactu install --mode full --monitoring --with-analytics --service --generate-env
# 2. Verificar que todo esta bien
openfactu doctor
# 3. Configurar acceso externo
openfactu deploy
# 4. Configurar base de datos
openfactu setupInstalacion rapida para desarrollo
openfactu install:quick --generate-envInstalar en servidor remoto sin CLI
# Generar script en tu maquina
openfactu install:script --output deploy.sh --monitoring --service
# Subir y ejecutar en el servidor
scp deploy.sh usuario@servidor:~/
ssh usuario@servidor "chmod +x ~/deploy.sh && ~/deploy.sh"Backup antes de actualizar
openfactu backup create --name pre-update
openfactu update
# Si algo sale mal:
openfactu backup restore --name pre-updateInstalar como servicio con auto-start
openfactu service install --restart always --healthcheck --healthcheck-interval 5minDesarrollo remoto de plugins
# Desde otro ordenador, sube tu plugin automaticamente al guardar
openfactu plugin watch \
--server http://mi-servidor:3000 \
--client-id ofk_... \
--client-secret ofs_...Las dev keys se generan desde la UI del ERP: Plugins > Desarrollo > Generar API Key.
Uso desde cualquier directorio
openfactu --path /ruta/a/openfactu migrate
# o con variable de entorno
export OPENFACTU_HOME=/ruta/a/openfactu
openfactu migrateRequisitos
- Node.js >= 18
- Docker Desktop (para instalar y desplegar)
- Git
