.NET

Herramienta de configuración de OmniDB

Nota: la utilidad de línea de comandos independiente omnidb-config/omnidb-config-app/ omnidb-config-server descrita en esta página pertenecía a la compilación anterior basada en Python/Django y no forma parte de la versión actual. El único binario omnidb-server acepta solo un puñado de opciones de línea de comandos: -A/--app (modo aplicación de escritorio), -H/--host (dirección de escucha), -p/--port (puerto de escucha), -d/--homedir (elegir el directorio home) y --set-password (establecer la contraseña de un usuario, véase más abajo), todas descritas en la sección Opciones de comando de Despliegue de omnidb-server. No hay archivo de configuración. Las tareas de mantenimiento que ofrecía la antigua herramienta todavía pueden realizarse manualmente, como se describe a continuación.

Directorio home

OmniDB almacena todo — la base de datos omnidb.db (usuarios, conexiones y otros datos de la aplicación) y una carpeta temp para los archivos exportados — en un único directorio home. Por defecto es ~/.omnidb/omnidb-app (modo escritorio) o ~/.omnidb/omnidb-server (modo servidor); pase -d /alguna/ruta para usar uno diferente (el directorio debe existir previamente). Si el sistema operativo no ofrece un almacén de secretos para la clave de cifrado de las contraseñas guardadas, el mismo directorio contiene también esa clave, en el archivo .connection_secret_key; consulte Seguridad y servidor multiusuario. Cuando haga una copia de seguridad de omnidb.db o lo traslade, llévese también ese archivo.

Crear un usuario

Actualmente no hay ninguna opción de CLI para crear un usuario sin abrir OmniDB. En la primera ejecución sobre un directorio home vacío, OmniDB crea automáticamente un superusuario admin predeterminado — en modo servidor, con una contraseña aleatoria que se muestra una sola vez en la salida de registro del servidor (la línea que contiene initial login: admin / …). Inicie sesión con él y cree más usuarios en Configuración > Cuenta > Administrar usuarios, o cambie la contraseña en Configuración > Contraseña.

Establecer o restablecer una contraseña

Si se ha perdido la contraseña inicial de un solo uso de admin (o quiere establecer una propia antes del primer inicio de sesión), puede establecer la contraseña de cualquier usuario existente directamente en la base de datos de la aplicación, sin iniciar el servidor:

user@machine:~$ omnidb-server --set-password admin
user@machine:~$ omnidb-server --set-password admin -d /path/to/homedir

Sin -d se usa el directorio home predeterminado del servidor (~/.omnidb/omnidb-server). En un terminal pide la nueva contraseña dos veces, sin mostrarla; en caso contrario la lee de la primera línea de la entrada estándar, lo que resulta útil en scripts:

user@machine:~$ printf '%s\n' "$PW" | omnidb-server --set-password admin

La contraseña nunca se pasa como argumento de línea de comandos, así que no aparece en la salida de ps ni en el historial del shell. Debe tener al menos 8 caracteres y el usuario ya debe existir. La opción se rechaza junto con -A: la aplicación de escritorio inicia sesión automáticamente y no tiene ninguna contraseña que gestionar. También puede ejecutarse con el servidor en marcha: la nueva contraseña sirve de inmediato para los nuevos inicios de sesión, mientras que los usuarios que ya han iniciado sesión la mantienen hasta que caduque su sesión o se reinicie el servidor.

Vacuum

OmniDB tiene una única base de datos SQLite, omnidb.db, que almacena todos los usuarios, conexiones y demás datos relacionados con OmniDB. Al ser un simple archivo SQLite, puede compactarla (vacuum) con cualquier cliente SQLite mientras OmniDB no esté en ejecución, por ejemplo:

user@machine:~$ sqlite3 ~/.omnidb/omnidb-app/omnidb.db 'VACUUM;'

Restablecer la base de datos

Si desea eliminar toda la información de OmniDB y obtener una base de datos limpia, como recién instalada, cierre OmniDB y elimine (o mueva a otro lugar) el archivo omnidb.db del directorio home. Se crea automáticamente uno nuevo y vacío — con un nuevo usuario predeterminado admin (en modo servidor, con una nueva contraseña de un solo uso mostrada en el registro) — la próxima vez que se inicie OmniDB. Use esto con precaución: no se puede deshacer.

Eliminar archivos temporales

Los resultados de consultas exportados (CSV/XLSX/etc.) se escriben en la carpeta temp dentro del directorio home. Es seguro eliminar su contenido manualmente en cualquier momento mientras OmniDB no esté en ejecución; OmniDB la vuelve a crear según sea necesario.