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.