npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@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/cli

Inicio 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 entorno

Comandos

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 previos

Credenciales: en modo interactivo, install pide la contraseña de PostgreSQL (pulsa Enter para generar una segura) y escribe un .env completo antes del primer arranque, de modo que Postgres se inicializa con ella. deploy reutiliza 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-analytics se 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-monitoring

Despliegue

| 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 todo

Backup 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 desinstalar

Diagnostico

| Comando | Descripcion | |---------|-------------| | openfactu doctor | Diagnostico completo del entorno |

openfactu doctor          # Verificacion visual
openfactu doctor --json   # Salida en JSON para scripts

Base 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 setup

Instalacion rapida para desarrollo

openfactu install:quick --generate-env

Instalar 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-update

Instalar como servicio con auto-start

openfactu service install --restart always --healthcheck --healthcheck-interval 5min

Desarrollo 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 migrate

Requisitos

  • Node.js >= 18
  • Docker Desktop (para instalar y desplegar)
  • Git

Links