Saltar a contenido

Guía de instalación en macOS para digna Release 2026.06

Release: 2026.06

Última actualización: 5 de septiembre de 2026


Tabla de contenidos

  1. Introducción
  2. Requisitos del sistema
  3. Preparación previa a la instalación
  4. Configuración del servidor PostgreSQL
  5. Configuración del servidor web
  6. Instalación inicial
  7. Configuración del backend
  8. Configuración del dashboard
  9. Ejecutar digna como servicio en segundo plano
  10. Actualizar a una nueva versión

Introducción

Acerca de digna

digna es una plataforma completa impulsada por IA diseñada para optimizar la gestión de la calidad de los datos en diversos entornos de datos, como warehouses, lakes y lakehouses. Diseñada para ser altamente escalable y adaptable, digna aborda los desafíos modernos de datos mediante automatización, monitorización en tiempo real y detección de anomalías.

digna consta de dos componentes principales:

  • digna: el núcleo de la aplicación, responsable de procesar los datos y realizar las comprobaciones de calidad. Combina el backend y la interfaz de línea de comandos en un único ejecutable, sustituyendo a los programas separados dignabackend y dignacli de versiones anteriores.
  • dignadashboard: Una interfaz web alojada en un servidor web, que proporciona una forma amigable de interactuar con la plataforma digna y visualizar métricas de calidad de datos.

Novedades en la Release 2026.06

Esta versión incorpora capacidades de observabilidad de datos directamente en tu código, permitiendo a los desarrolladores monitorear la calidad de los datos en su origen. Consulta las notas de la versión para más detalles.

¿Buscas Windows o Linux?

Esta guía cubre macOS. Para otras plataformas, consulta la Guía de instalación para Windows o la Guía de instalación para Linux.


Requisitos del sistema

Antes de comenzar la instalación, asegúrate de que tu sistema cumple los siguientes requisitos mínimos:

Requisito Especificación
Sistema operativo macOS 13 (Ventura) o posterior
Arquitectura Apple Silicon (arm64) o Intel (x86_64)
Memoria (Configuración mínima) 16 GB RAM
Espacio en disco 10 GB de almacenamiento disponible
Base de datos PostgreSQL Server 12 o superior
Servidor web nginx, Apache httpd u equivalente
Herramientas de línea de comandos Xcode Command Line Tools (requerido por Homebrew)

Opciones de instalación de la base de datos

Si PostgreSQL ya está instalado: Puedes añadir una nueva base de datos para digna en tu servidor PostgreSQL existente.

Si vas a instalar PostgreSQL en la misma máquina que digna:

Especificaciones recomendadas

  • Memoria: 32 GB RAM (en lugar de 16 GB)
  • Espacio en disco: 50 GB de almacenamiento disponible (en lugar de 10 GB)

Estas especificaciones más altas acomodan tanto digna como la base de datos PostgreSQL ejecutándose simultáneamente.

Verificar tu arquitectura

Varios caminos en esta guía difieren entre Macs con Apple Silicon e Intel. Para comprobar cuál tienes, abre Terminal y ejecuta:

uname -m
  • arm64 — Apple Silicon. Homebrew se instala en /opt/homebrew.
  • x86_64 — Intel. Homebrew se instala en /usr/local.

Consejo

En lugar de codificar una u otra ruta, esta guía usa $(brew --prefix), que se expande a la ubicación correcta en ambas arquitecturas. Puedes copiar los comandos tal cual.


Preparación previa a la instalación

Antes de instalar digna, asegúrate de que tres prerrequisitos clave estén presentes:

  1. Homebrew – el gestor de paquetes usado para instalar los componentes que siguen
  2. PostgreSQL Server – para almacenar métricas calculadas y datos de rendimiento
  3. Servidor web – para alojar el Dashboard de digna

Si estos componentes aún no están configurados, sigue las secciones a continuación para instalarlos y configurarlos.

Instalación de Homebrew

Homebrew es el gestor de paquetes estándar para macOS y se usa en toda esta guía para instalar PostgreSQL y nginx.

Paso 1: Comprobar si Homebrew ya está instalado

Abre Terminal (pulsa Cmd + Space, escribe Terminal, pulsa Enter) y ejecuta:

brew --version

Si se devuelve un número de versión, continúa con la sección de Configuración del servidor PostgreSQL.

Paso 2: Instalar Homebrew

Si el comando no se encontró, instala Homebrew siguiendo las instrucciones en el sitio oficial de Homebrew. El instalador también instala las Xcode Command Line Tools si no están ya presentes.

Paso 3: Añadir Homebrew a tu PATH

En Apple Silicon, el instalador muestra dos comandos para añadir Homebrew a tu entorno de shell. Ejecútalos según se indique y luego confirma:

brew --prefix

Esto debería imprimir /opt/homebrew en Apple Silicon o /usr/local en Intel.


Configuración del servidor PostgreSQL

Si ya tienes PostgreSQL

Si PostgreSQL ya está instalado y en ejecución en tu máquina local o si estás usando un servidor PostgreSQL remoto gestionado, puedes saltar a la siguiente sección.

Opciones de instalación

macOS ofrece dos maneras sencillas de instalar PostgreSQL. Elige una:

  • Homebrew — instalación desde la línea de comandos, recomendada para despliegues de servidor
  • Postgres.app — instalación gráfica, conveniente para evaluación local

Instalar PostgreSQL con Homebrew

Paso 1: Instalar la fórmula de PostgreSQL

brew install postgresql@16

Paso 2: Añadir PostgreSQL a tu PATH

Las fórmulas versionadas de PostgreSQL son keg-only, lo que significa que Homebrew no enlaza sus comandos en tu PATH automáticamente. Añádelos tú mismo:

echo 'export PATH="'$(brew --prefix)'/opt/postgresql@16/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

Nota

Esto asume el shell zsh por defecto que usa macOS. Si usas bash, añade la misma línea a ~/.bash_profile en su lugar.

Paso 3: Iniciar el servicio PostgreSQL

brew services start postgresql@16

Esto inicia PostgreSQL inmediatamente y lo configura para que se inicie automáticamente cuando inicies sesión.

Paso 4: Verificar la instalación

psql --version

Deberías ver la versión de PostgreSQL si la instalación fue exitosa.

Paso 5: Conectarse al servidor

psql postgres

Importante — macOS difiere de Windows aquí

El instalador de Windows te pide crear un superusuario postgres y una contraseña. Homebrew no lo hace. En su lugar, crea un superusuario con el mismo nombre que tu cuenta de macOS, sin contraseña, accesible solo desde la máquina local.

Esto significa que no existe el rol postgres en una instalación nueva con Homebrew. Usa tu propio nombre de cuenta cuando necesites un superusuario, y crea un usuario explícito para digna como se describe en Instalación inicial.

Paso 6: Confirmar el puerto

El puerto por defecto de PostgreSQL es 5432. Para confirmar el puerto en el que escucha tu servidor:

psql postgres -c "SHOW port;"

Anota el valor — lo necesitarás cuando configures el backend de digna.

Instalar PostgreSQL con Postgres.app

Si prefieres una instalación gráfica:

  1. Descarga Postgres.app y arrástralo a tu carpeta Applications
  2. Abre la app y haz clic en Initialize para crear un nuevo servidor
  3. Sigue las instrucciones de la app para añadir sus herramientas de línea de comandos a tu PATH
  4. Verifica la instalación:
psql --version

Postgres.app también crea un superusuario con el mismo nombre que tu cuenta de macOS.


Configuración del servidor web

digna requiere un servidor web para alojar el dashboard. Elige una de las siguientes opciones:

Solo necesitas instalar y configurar uno de estos servidores.

Ambas secciones configuran dos cosas de las que depende el dashboard:

  • Un fallback para aplicaciones de una sola página, de modo que al actualizar una URL del dashboard no devuelva 404
  • Un tipo MIME para .md, para que los archivos Markdown se sirvan correctamente

Configuración de nginx

Resumen

nginx es un servidor web ligero y de alto rendimiento, bien adaptado para servir el dashboard estático de digna.

Instalación

brew install nginx

Iniciar nginx

brew services start nginx

Verificar la instalación

  1. Abre tu navegador
  2. Navega a http://localhost:8080
  3. Deberías ver la página de bienvenida de nginx

Nota — el puerto por defecto es 8080, no 80

Homebrew configura nginx para escuchar en el puerto 8080 para que pueda ejecutarse sin privilegios de administrador. En macOS, enlazar al puerto 80 o a cualquier puerto por debajo de 1024 requiere root.

Para servir el dashboard en el puerto 80, cambia listen 8080; por listen 80; en la configuración que sigue y arranca nginx con sudo brew services start nginx en su lugar.

Configurar un sitio para el dashboard

La configuración de nginx de Homebrew incluye todos los archivos en su directorio servers. Crea un archivo de configuración dedicado para digna ahí:

nano $(brew --prefix)/etc/nginx/servers/digna.conf

Pega lo siguiente, reemplazando /path/to/digna/dashboard por la ruta real a tu carpeta dashboard extraída:

server {
    listen       8080;
    server_name  localhost;

    root   /path/to/digna/dashboard;
    index  index.html;

    # Servir archivos Markdown con el tipo MIME correcto.
    types {
        text/markdown  md;
    }

    # Fallback para aplicación de una sola página: las rutas desconocidas devuelven index.html
    # en lugar de un 404, de modo que las rutas del dashboard sobrevivan a una actualización del navegador.
    location / {
        try_files $uri $uri/ /index.html;
    }
}

Importante

Sin la directiva try_files, recargar cualquier página del dashboard que no sea la URL raíz devuelve un 404. Esto es el equivalente en nginx del módulo URL Rewrite requerido por IIS en Windows.

Aplicar la configuración

Prueba la sintaxis de la configuración y luego recarga nginx:

nginx -t
brew services restart nginx

Configuración de Apache httpd

Resumen

macOS incluye Apache httpd, por lo que no es necesario instalarlo. Está deshabilitado por defecto.

Iniciar Apache

sudo apachectl start

Verificar la instalación

  1. Abre tu navegador
  2. Navega a http://localhost
  3. Deberías ver el mensaje "It works!"

Obligatorio: habilitar mod_rewrite

El dashboard requiere reescritura de URL. Abre la configuración de Apache:

sudo nano /etc/apache2/httpd.conf

Encuentra la siguiente línea y elimina el # inicial para descomentarlo:

LoadModule rewrite_module libexec/apache2/mod_rewrite.so

Obligatorio: permitir overrides con .htaccess

En el mismo archivo, localiza el bloque <Directory "/Library/WebServer/Documents"> y cambia:

AllowOverride None

por:

AllowOverride All

Obligatorio: tipo MIME para archivos Markdown

Aún en httpd.conf, añade la siguiente línea para que los archivos Markdown se sirvan correctamente:

AddType text/markdown .md

Importante

Sin esta configuración, los archivos .md podrían no servirse correctamente.

Aplicar la configuración

Comprueba la sintaxis de la configuración y luego reinicia Apache:

sudo apachectl configtest
sudo apachectl restart

Instalación inicial

Paso 1: Configurar el repositorio de digna

El repositorio de digna almacena todas las métricas calculadas por digna. Actúa como la base de datos central para datos analíticos y de rendimiento.

Crear esquema y usuario del repositorio

Abre tu cliente PostgreSQL (psql, pgAdmin u otro) y ejecuta las siguientes sentencias SQL:

CREATE SCHEMA <digna_repo_schema>;

CREATE USER <digna_repo_user> WITH PASSWORD '<digna_repo_password>';

GRANT ALL PRIVILEGES ON SCHEMA <digna_repo_schema> TO <digna_repo_user>;

Reemplaza los siguientes marcadores:

  • <digna_repo_schema> — El nombre de esquema que desees (por ejemplo, dignarepo)
  • <digna_repo_user> — El nombre de usuario que desees (por ejemplo, digna_user)
  • <digna_repo_password> — Una contraseña segura para este usuario

Ejemplo:

CREATE SCHEMA dignarepo;

CREATE USER digna_user WITH PASSWORD 'YourSecurePassword123!';

GRANT ALL PRIVILEGES ON SCHEMA dignarepo TO digna_user;

Para ejecutar esto desde Terminal en un solo paso:

psql postgres

Luego pega las sentencias en el prompt postgres=# y escribe \q para salir.

Buena práctica

Usa contraseñas fuertes y complejas para los usuarios de la base de datos. Evita credenciales fácilmente adivinables.


Paso 2: Extraer el paquete de instalación de digna

  1. Localiza el archivo ZIP de instalación de digna proporcionado
  2. Extráelo en la ubicación de instalación deseada — por ejemplo /opt/digna o ~/digna
  3. Tras la extracción, deberías ver los siguientes elementos:
  4. dashboard/ — Interfaz web del dashboard
  5. digna — Ejecutable principal (backend + CLI combinados)

Los archivos de configuración y de licencia no están en el paquete

Ni config.toml ni dashboard/dashboard_config.toml se incluyen en la instalación: los creas tú mismo, en Configuración del backend y Configuración del dashboard. Tampoco se incluye license.toml; digna lo proporciona por separado, como se describe en el Paso 3.

Para extraer desde Terminal:

unzip digna-2026.06-macos.zip -d /opt/digna

Hacer el ejecutable ejecutable

Dependiendo de cómo se transfirió el archivo, el bit de ejecutable puede no conservarse tras la extracción. Establécelo explícitamente:

cd /opt/digna
chmod +x digna

Si macOS bloquea la aplicación

Los archivos descargados mediante un navegador o cliente de correo se marcan con un atributo de cuarentena. Si macOS informa que la app "cannot be opened because the developer cannot be verified", quita el atributo de cuarentena del directorio de instalación:

xattr -dr com.apple.quarantine /opt/digna

Alternativamente, abre System Settings → Privacy & Security, encuentra el elemento bloqueado cerca del final de la página y haz clic en Open Anyway.

Nota

Este paso solo es necesario si macOS realmente bloquea el ejecutable. Los paquetes transferidos por SSH o desde recursos compartidos internos no suelen estar en cuarentena.

Paso 3: Instalar el archivo de licencia

Importante

El archivo de licencia no está incluido en el paquete de instalación y te será proporcionado por digna por separado.

  1. Localiza el archivo license.toml que se te proporcionó
  2. Copia este archivo al directorio raíz de instalación de digna (donde están config.toml y el ejecutable digna)

Por qué importa: El archivo de licencia contiene la información de cliente, la fecha de expiración de la licencia y la firma digital. No modifiques este archivo — cualquier cambio lo invalidará.

Estructura de directorios después de la configuración:

/opt/digna/
├── config.toml         (archivo de configuración)
├── license.toml        (TU ARCHIVO DE LICENCIA - cópialo aquí)
├── digna               (ejecutable principal)
├── bin/                (scripts para gestión del servicio)
└── dashboard/          (interfaz web)
    └── (archivos del dashboard)

Configuración del backend

Paso 1: Crear y editar el archivo de configuración

El archivo config_template.toml se proporciona en el directorio de instalación de digna. Solo necesitas renombrarlo a config.toml.

cd /opt/digna
mv config_template.toml config.toml

Ubicación: /opt/digna/config.toml

Abre config.toml en un editor de texto y configura cada sección a continuación.

Sección [app]

Esta sección configura los ajustes de la aplicación backend de digna:

[app]
digna_APP_CORS_ALLOW_ORIGINS = ["http://localhost:5173"]
digna_APP_CORS_ALLOW_CREDENTIALS = true
digna_APP_CORS_ALLOW_METHODS = ["*"]
digna_APP_CORS_ALLOW_HEADERS = ["*"]
Parámetro Valor Notas
digna_APP_CORS_ALLOW_ORIGINS URL del frontend Si el dashboard está en otro servidor, incluye su URL
digna_APP_CORS_ALLOW_CREDENTIALS true Requerido para CORS con credenciales
digna_APP_CORS_ALLOW_METHODS ["*"] Permite todos los métodos HTTP
digna_APP_CORS_ALLOW_HEADERS ["*"] Permite todos los encabezados

Nota

Si sirves el dashboard desde nginx de Homebrew en su puerto por defecto, el origin a permitir es http://localhost:8080.

Sección [repo]

Esta sección configura la conexión a la base de datos PostgreSQL:

[repo]
digna_REPO_HOST = "localhost"
digna_REPO_PORT = 5432
digna_REPO_DB = "postgres"
digna_REPO_SCHEMA = "dignarepo"
digna_REPO_USER = "digna_user"
digna_REPO_PASSWORD = "YourSecurePassword123!"
Parámetro Valor Notas
digna_REPO_HOST localhost o IP Hostname/IP del servidor PostgreSQL
digna_REPO_PORT 5432 (por defecto) Puerto de PostgreSQL
digna_REPO_DB postgres Nombre de la base de datos
digna_REPO_SCHEMA dignarepo Esquema creado anteriormente
digna_REPO_USER digna_user Usuario creado en la configuración de PostgreSQL
digna_REPO_PASSWORD Tu contraseña Contraseña establecida durante la creación del esquema

Sección [base]

Esta sección contiene ajustes de seguridad y cookies:

[base]
DIGNA_FERNET_KEY = "DU4a0yJ-OqvbKCL4hNQn_CsknH-V1vWmHZqBUl-AY44="
digna_COOKIE_DOMAIN = "localhost"
digna_COOKIE_PATH = "/"
digna_COOKIE_SECURE = false
digna_COOKIE_HTTPONLY = true
digna_COOKIE_SAME_SITE = "lax"
digna_TOKEN_EXPIRES_IN = 86400
digna_MAX_WORKERS = 4
DIGNA_SCHEDULER_MAX_DELAY = 100
DIGNA_CLEANUP_TIME = "12:00"
Parámetro Valor Notas
DIGNA_FERNET_KEY Clave de cifrado Usada para cifrar tokens y cookies (se proporciona por defecto)
digna_COOKIE_DOMAIN localhost Debe coincidir con el dominio de tu frontend
digna_COOKIE_SECURE false (local) / true (producción) Usa true para conexiones HTTPS
digna_COOKIE_HTTPONLY true Siempre habilitado por seguridad
digna_COOKIE_SAME_SITE lax Previene ataques CSRF
digna_TOKEN_EXPIRES_IN 86400 (24 horas) Tiempo de expiración de sesión en segundos
digna_MAX_WORKERS Número de núcleos CPU - 1 Número de tareas de inspección paralelas
DIGNA_SCHEDULER_MAX_DELAY 100 Retraso máximo, en segundos, que el planificador puede añadir antes de iniciar una tarea pendiente
DIGNA_CLEANUP_TIME "12:00" Hora del día (formato 24 h HH:MM) a la que comienza la limpieza diaria

Consejo

Para encontrar el número de núcleos CPU disponibles en tu Mac, ejecuta sysctl -n hw.ncpu.

Sección [encryption]

Esta sección contiene la clave utilizada para cifrar los valores sensibles almacenados en el repositorio. Es obligatoria: config check informa de la sección [encryption] como FAILED si falta la clave.

[encryption]
DIGNA_ENCRYPTION_KEY = 'ycELf6IbcO55dYIZHpPv6kQv/bbnUXoIaHLh2bh1kMg='
Parámetro Valor Notas
DIGNA_ENCRYPTION_KEY Clave codificada en Base64 Cifra los valores sensibles almacenados en el repositorio de digna

Proteja config.toml

Esta clave es un valor fijo, idéntico en todas las instalaciones de digna, y es la que descifra los valores sensibles de su repositorio. Restrinja config.toml a la cuenta que ejecuta digna, manténgalo fuera del control de versiones y de las unidades compartidas, y exclúyalo de cualquier copia de seguridad que se guarde con menos seguridad que el propio repositorio.

Sección [logging]

Esta sección configura el comportamiento del registro (logging):

[logging]
digna_LOGGING_MODE = "INFO"
digna_LOGGING_BACKUP_COUNT = 10
Parámetro Valor Notas
digna_LOGGING_MODE INFO o DEBUG INFO para producción, DEBUG para solución de problemas
digna_LOGGING_BACKUP_COUNT 10 Número de copias de seguridad diarias de logs a retener

Paso 2: Validar la configuración

Antes de inicializar el repositorio, compruebe que config.toml está completo y bien formado. En su directorio de instalación de digna, ejecute:

digna config check

Cada sección se valida por separado, de modo que un único error no oculta el estado del resto:

Configuration validation report (source: config.toml):
 - App config: OK
 - Repository config: OK
 - Base config: OK
 - Logging config: OK
 - Encryption config: OK
 - OIDC config(s): OK

Overall: OK

Corrija todo lo que se informe como FAILED y vuelva a ejecutar el comando antes de continuar. La lista completa de opciones está en la referencia de la CLI.

Paso 3: Inicializar el repositorio

  1. Abre Terminal
  2. Navega al directorio de instalación de digna (donde están config.toml y el ejecutable digna)
  3. Ejecuta la prueba de conexión:
cd /opt/digna
./digna repo check

Deberías ver una confirmación de que la conexión está establecida (el repositorio en sí aún no ha sido inicializado).

Nota

En macOS, los comandos en el directorio actual no están en tu PATH, así que el ejecutable se invoca como ./digna en lugar de digna. Para usar la forma corta en todo momento, añade el directorio de instalación a tu PATH:

echo 'export PATH="/opt/digna:$PATH"' >> ~/.zshrc
source ~/.zshrc

Paso 4: Instalar el esquema del repositorio

En el mismo directorio, ejecuta:

./digna repo install

Este comando instala las tablas y el esquema necesarios en tu base de datos PostgreSQL.

Paso 5: Crear un usuario administrador

  1. Abre una ventana de Terminal nueva
  2. Navega al directorio de instalación de digna
  3. Ejecuta el siguiente comando para crear un usuario administrador:
./digna user add <email> <password> "<display_name>" --admin

Ejemplo:

./digna user add admin@example.com 'AdminPassword123!' "Admin User" --admin

Esto crea un usuario con el correo electrónico admin@example.com y privilegios administrativos completos.

Consejo

Envuelve la contraseña entre comillas simples. zsh trata caracteres como !, $ y * de forma especial, y una contraseña sin comillas que los contenga no se pasará tal como se escribió.

Buena práctica

Usa una contraseña fuerte con una mezcla de mayúsculas, minúsculas, números y caracteres especiales.


Paso 6: Iniciar el servidor digna

En el directorio de instalación de digna, inicia el servidor con:

./digna serve --address <host> --port <port>

Parámetros: - --address — Nombre de host/IP del servidor - --port — Puerto del servidor

Deberías ver mensajes de inicio confirmando que el servidor está en ejecución:

INFO:     Started server process [1234]
INFO:     Waiting for application startup.
INFO:     Application startup complete
INFO:     Uvicorn running on http://localhost:8082

Consejo

La primera vez que inicies el servidor, macOS puede preguntar si deseas que la aplicación acepte conexiones de red entrantes. Haz clic en Allow, de lo contrario el dashboard no podrá comunicarse con el backend.

El servidor ocupa el terminal

serve se ejecuta en primer plano y sigue funcionando hasta que lo detenga con Ctrl+C. Déjelo en ejecución mientras termina la configuración; para iniciarlo automáticamente en el arranque, consulte Ejecutar digna como servicio en segundo plano.

Configuración del dashboard

Paso 1: Desplegar el dashboard en el servidor web

El dashboard de digna lee su propia configuración de dashboard/dashboard_config.toml. Ese archivo no se incluye en la instalación: lo creas en el directorio dashboard/, junto a los archivos del dashboard.

Su contenido se describe en Inicio de sesión único, que es también donde se necesita el archivo: contiene las opciones de inicio de sesión que ofrece el dashboard y, para despliegues multi-instancia, la conexión al backend.

Elige tu servidor web y sigue los pasos de despliegue correspondientes.

Desplegar en nginx

Si seguiste la sección de Configuración de nginx, el bloque del servidor ya apunta a tu carpeta dashboard y no es necesario copiar nada.

  1. Confirmar la ruta
  2. Abre $(brew --prefix)/etc/nginx/servers/digna.conf
  3. Verifica que root apunte a tu carpeta dashboard extraída

  4. Asegurarse de que la carpeta sea legible

    chmod -R a+rX /opt/digna/dashboard
    

  5. Recargar nginx

    nginx -t
    brew services restart nginx
    

  6. Probar la instalación

  7. Abre tu navegador
  8. Navega a http://localhost:8080 (o a la URL configurada)
  9. Deberías ver la página de inicio de sesión del dashboard de digna

Desplegar en Apache httpd

  1. Copiar el dashboard al Document Root

    sudo cp -R /opt/digna/dashboard /Library/WebServer/Documents/digna
    

  2. Añadir las reglas de reescritura

Crea un archivo .htaccess dentro de la carpeta desplegada para que las rutas del dashboard sobrevivan a una actualización del navegador:

sudo nano /Library/WebServer/Documents/digna/.htaccess

Pega lo siguiente:

RewriteEngine On
RewriteBase /digna/

# Servir archivos y directorios existentes tal cual.
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]

# Todo lo demás vuelve al punto de entrada de la aplicación de una sola página.
RewriteRule ^ index.html [L]
  1. Reiniciar Apache

    sudo apachectl restart
    

  2. Acceder al dashboard

  3. Abre tu navegador
  4. Navega a http://localhost/digna
  5. Deberías ver la página de inicio de sesión del dashboard de digna

Ejecutar digna como servicio en segundo plano

¿Por qué ejecutar digna como servicio?

Ejecutar el backend de digna como un servicio en segundo plano garantiza que:

  • Se inicie automáticamente cuando la máquina arranque
  • Se ejecute en segundo plano sin una ventana de Terminal abierta
  • Se reinicie automáticamente si falla
  • Puede gestionarse mediante launchctl, el gestor de servicios de macOS

Archivos de gestión del servicio

Todos los archivos necesarios se encuentran en el directorio de instalación de digna bajo: bin/

Los siguientes scripts shell están disponibles:

  • install_service.sh — Registra digna con launchd
  • uninstall_service.sh — Desregistra el servicio
  • start_service.sh — Inicia el servicio registrado
  • stop_service.sh — Detiene el servicio en ejecución

Se requiere administrador

Todos los scripts deben ejecutarse con sudo, porque registrar un servicio que se inicia en el arranque escribe en /Library/LaunchDaemons.

Hacer los scripts ejecutables

La extracción puede no preservar el bit ejecutable. Antes del primer uso:

cd /opt/digna/bin
chmod +x *.sh

Instalar el servicio

  1. Abrir Terminal

  2. Navegar a la carpeta bin

    cd /opt/digna/bin
    

  3. Ejecutar el script de instalación

    sudo ./install_service.sh
    

El servidor digna ahora está registrado en launchd con el inicio automático habilitado. El servicio no se inicia inmediatamente — consulta la sección siguiente para iniciarlo.

Iniciar y detener el servicio

Para iniciar el servicio

  1. Abre Terminal
  2. Navega a /opt/digna/bin
  3. Ejecuta:
    sudo ./start_service.sh
    

Para detener el servicio

  1. Abre Terminal
  2. Navega a /opt/digna/bin
  3. Ejecuta:
    sudo ./stop_service.sh
    

Consejo

Siempre detén el servicio antes de actualizar archivos de la aplicación.

Verificar el servicio

Para confirmar que el servicio está registrado y en ejecución:

sudo launchctl list | grep digna

Una línea que comience con un ID de proceso indica que el servicio está en ejecución. Un - en la primera columna significa que está registrado pero detenido.

Mover el servicio a un nuevo directorio

launchd almacena la ruta absoluta al ejecutable, por lo que mover la instalación requiere volver a registrar el servicio:

  1. Desinstalar el servicio actual

    cd /old/path/digna/bin
    sudo ./uninstall_service.sh
    

  2. Mover los archivos de la aplicación

    sudo mv /old/path/digna /new/path/digna
    

  3. Reinstalar el servicio

    cd /new/path/digna/bin
    sudo ./install_service.sh
    

  4. Iniciar el servicio

    sudo ./start_service.sh
    

Desinstalar el servicio

  1. Detener el servicio en ejecución

    cd /opt/digna/bin
    sudo ./stop_service.sh
    

  2. Desinstalar el servicio

    sudo ./uninstall_service.sh
    

El servidor digna ya no estará registrado en launchd.


Actualizar a una nueva versión

Antes de actualizar

Verifique primero todas las conexiones de base de datos

A partir de la versión 2026.06, digna accede a cada tecnología de origen mediante ODBC. Las versiones anteriores ofrecían la opción entre un controlador propio por tecnología y ODBC, seleccionada con el conmutador Use ODBC. El equipo de digna decidió apoyarse únicamente en ODBC, porque una interfaz única y estándar aporta más que un conjunto de controladores a medida:

  • Autenticación — la autenticación forma parte de ODBC, por lo que una conexión puede usar todo lo que admita su controlador: contraseñas, tokens y PAT, Kerberos y Active Directory, MFA e inicio de sesión único desde el navegador, identidades en la nube, certificados de cliente y TLS. Los métodos nuevos llegan con una actualización del controlador, en lugar de esperar a una versión de digna.
  • Controladores mantenidos por los fabricantes de bases de datos — el controlador del propio fabricante sigue las nuevas versiones del servidor y las correcciones de seguridad, y puede actualizarlo según su propio calendario, con independencia de digna.
  • Una única forma de configurarlo todo — cada tecnología es una lista de propiedades clave/valor, con la misma interfaz, el mismo cifrado de valores sensibles y la misma resolución de problemas, en lugar de un conjunto de campos distinto por origen.
  • Ajuste y alcance — las opciones del controlador, como tiempos de espera, configuración TLS, proxies y tamaños de lectura, están disponibles para todos los orígenes, y puede conectarse cualquier tecnología con un controlador ODBC conforme, incluidas aquellas para las que digna no publica una guía específica.

En la práctica, esto significa que el conmutador Use ODBC y los campos separados de host, puerto, base de datos, usuario y contraseña ya no existen. Toda conexión que no use ya ODBC debe convertirse a ODBC: no hay conversión automática, así que planifíquelo antes de actualizar:

  1. Revise cada conexión de base de datos definida en su instalación y anote las que aún no usan ODBC: cada una deberá reconfigurarse.
  2. Instale el controlador ODBC correspondiente en el host de digna: las conexiones se abren desde el servidor que ejecuta el backend de digna, no desde el navegador. Consulte Instalar el controlador ODBC en el host de digna.
  3. Tenga preparadas las propiedades ODBC de cada conexión afectada. Las guías por tecnología indican, para cada origen, un conjunto de propiedades probado.

Después de la actualización, convierta a ODBC cada conexión afectada y pruébela desde el panel: consulte Crear una conexión de base de datos y Probar una conexión.

Conexiones Databricks Legacy

El conector Databricks Legacy se ha eliminado en esta versión. Migre esas conexiones al conector Databricks.

Es obligatorio crear una copia de seguridad del repositorio de digna

Antes de actualizar digna, realiza una copia de seguridad de tu repositorio (PostgreSQL) para protegerte contra pérdida de datos. Una copia de seguridad asegura que puedas recuperar los datos si la actualización encuentra problemas inesperados.

Para crear una copia de seguridad desde Terminal:

pg_dump -h localhost -p 5432 -U digna_user -n dignarepo postgres > digna_repo_backup.sql

Proceso de actualización

Paso 1: Detener el servicio digna

Si digna se está ejecutando como servicio en segundo plano, deténlo primero:

cd /opt/digna/bin
sudo ./stop_service.sh

Si digna se ejecuta en primer plano, presiona Ctrl + C en la ventana de Terminal donde se esté ejecutando.

Paso 2: Respaldar la instalación actual

En su directorio de instalación de digna, cambie el nombre de las carpetas de la instalación actual para que la nueva versión pueda desplegarse junto a ellas:

cd /opt/digna
mv dignabackend dignabackend_old
mv dignacli dignacli_old
mv dashboard dashboard_old

dignabackend y dignacli ya no se utilizan

A partir de la versión 2026.06, dignabackend y dignacli se sustituyen por el ejecutable único digna, que combina el backend y la CLI. Conserve dignabackend_old y dignacli_old solo hasta que haya verificado la actualización; después puede eliminar ambas carpetas. Conserve dashboard_old hasta que haya restaurado desde él sus archivos de configuración (consulte el paso 4).

Paso 3: Extraer y desplegar la nueva versión

  1. Extrae el nuevo archivo ZIP de instalación de digna
  2. Copia el nuevo ejecutable digna y la carpeta dashboard a tu directorio de instalación
  3. Restaura el bit de ejecutable y, si es necesario, quita el atributo de cuarentena:
chmod +x /opt/digna/digna
xattr -dr com.apple.quarantine /opt/digna

Importante

Ni config.toml ni dashboard/dashboard_config.toml se incluyen nunca en el ZIP de instalación: el equipo de digna no entrega ninguno de los dos archivos. Por tanto, la actualización no toca tu configuración existente, y las copias de las carpetas renombradas *_old son las únicas que tienes.

Paso 4: Restaurar tus archivos de configuración

cp dashboard_old/dashboard_config.toml dashboard/dashboard_config.toml

La versión 2026.06 cambia config.toml

Tres ajustes son nuevos y obligatorios, y dos ya no se utilizan. Un config.toml heredado de una versión anterior no contiene los ajustes nuevos, y digna no arrancará mientras falten. Añada lo siguiente a su config.toml existente:

[base]
DIGNA_SCHEDULER_MAX_DELAY = 100
DIGNA_CLEANUP_TIME = "12:00"

[encryption]
DIGNA_ENCRYPTION_KEY = 'ycELf6IbcO55dYIZHpPv6kQv/bbnUXoIaHLh2bh1kMg='

Añada las dos claves [base] a su sección [base] existente y añada [encryption] como sección nueva. Después, elimine de [app] los dos ajustes que ya no se utilizan, digna_APP_HOST y digna_APP_PORT: el servidor ahora toma su dirección y su puerto de digna serve.

Lo que hace cada ajuste se describe en Configuración del backend.

Inicio de sesión único: el formato de [oidc_clients] ha cambiado

La versión 2026.06 sustituye la matriz de tablas por una tabla por proveedor, con el nombre de la clave del proveedor. DIGNA_OIDC_KEY desaparece: la clave ahora forma parte del encabezado de la sección.

Antes:

[[oidc_clients]]
DIGNA_OIDC_KEY = 'microsoft'
DIGNA_OIDC_CLIENT_ID = '<client_id>'
DIGNA_OIDC_CLIENT_SECRET = '<client_secret>'
DIGNA_OIDC_REDIRECT_URI = 'http://localhost:3000/oidc/callback'
DIGNA_OIDC_CONFIGURATION_URL = 'https://login.microsoftonline.com/<tenant_id>/v2.0/.well-known/openid-configuration'

Después:

[oidc_clients.microsoft]
DIGNA_OIDC_CLIENT_ID = '<client_id>'
DIGNA_OIDC_CLIENT_SECRET = '<client_secret>'
DIGNA_OIDC_REDIRECT_URI = 'http://localhost:3000/oidc/callback'
DIGNA_OIDC_CONFIGURATION_URL = 'https://login.microsoftonline.com/<tenant_id>/v2.0/.well-known/openid-configuration'

Repita la sección para cada proveedor y mantenga cada clave igual al key definido en dashboard_config.toml. digna config check informa de oidc_clients como FAILED mientras siga presente la forma antigua. Solo afecta a las instalaciones que usan inicio de sesión único.

Paso 5: Recargar el servidor web

El dashboard es un conjunto de archivos estáticos, por lo que tu servidor web —y el navegador— pueden seguir sirviendo la versión anterior. Recarga o reinicia el servidor web que aloje la carpeta dashboard y, a continuación, recarga la página forzando la actualización (Cmd+Shift+R).

Paso 6: Validar la configuración

Confirme que el config.toml actualizado está completo antes de tocar el repositorio:

./digna config check

Todas las secciones deben informar OK. Corrija todo lo que se informe como FAILED y vuelva a ejecutar el comando antes de continuar.

Paso 7: Sustituir el archivo de licencia

Cada versión se licencia por separado. Copia el license.toml que el equipo de digna te proporcionó para esta versión en el directorio de instalación, sustituyendo el anterior:

cp /path/to/new/license.toml /opt/digna/license.toml

No conserves la licencia anterior

Un license.toml emitido para una versión anterior no cubre esta, y todos los comandos que comprueban la licencia —user, inspection, repo— se interrumpen antes de tocar el repositorio si la comprobación falla. Verifícala antes de continuar:

./digna license check

Paso 8: Actualizar el esquema del repositorio

Navega a tu directorio de instalación de digna y ejecuta:

cd /opt/digna
./digna repo upgrade

Esto actualiza el esquema de PostgreSQL a la versión más reciente preservando todos los datos existentes.

Paso 9: Reiniciar servicios

Si se ejecuta como servicio en segundo plano:

cd /opt/digna/bin
sudo ./start_service.sh

Si se ejecuta manualmente, reinicia el servidor:

cd /opt/digna
./digna serve --address <address> --port <port>

Si usas nginx o Apache, reinicia el servidor web correspondiente:

brew services restart nginx
sudo apachectl restart

Paso 10: Verificar la actualización

  1. Accede al dashboard de digna
  2. Verifica que la interfaz cargue correctamente
  3. Revisa los logs del servidor en busca de errores
  4. Convierta a ODBC todas las conexiones que aún no lo usaran y después pruebe todas las conexiones: consulte Probar una conexión