Outil de configuration OmniDB
Remarque : l’utilitaire en ligne de commande autonome omnidb-config/
omnidb-config-app/omnidb-config-server décrit sur cette page appartenait à
l’ancienne version basée sur Python/Django et ne fait pas partie de la version actuelle. Le binaire unique
omnidb-server n’accepte qu’une poignée d’options en ligne de commande :
-A/--app (mode application de bureau), -H/--host (adresse
d’écoute), -p/--port (port d’écoute), -d/--homedir
(choisir le répertoire personnel) et --set-password (définir le mot de passe d’un utilisateur, voir ci-dessous) —
toutes décrites dans la section Options en ligne de commande du chapitre
Déployer omnidb-server. Il n’existe aucun fichier de configuration.
Les tâches de maintenance que proposait l’ancien outil peuvent
toujours être effectuées manuellement, comme décrit ci-dessous.
Répertoire personnel
OmniDB stocke tout — la base de données omnidb.db (utilisateurs, connexions et autres données
de l’application) et un dossier temp pour les fichiers exportés — dans un unique répertoire
personnel. Par défaut, il s’agit de ~/.omnidb/omnidb-app (mode bureau) ou
~/.omnidb/omnidb-server (mode serveur) ; indiquez -d /un/chemin pour en utiliser un
autre (le répertoire doit déjà exister). Si le système d’exploitation ne propose aucun magasin de secrets
pour la clé de chiffrement des mots de passe enregistrés, ce même répertoire contient aussi cette clé, dans le fichier
.connection_secret_key — voir Sécurité et serveur multi-utilisateur.
Lorsque vous sauvegardez ou déplacez omnidb.db, emportez aussi ce fichier.
Créer un utilisateur
Il n’existe actuellement aucune option en ligne de commande pour créer un utilisateur sans ouvrir OmniDB.
Lors de la première exécution sur un répertoire personnel vide, OmniDB crée automatiquement un superutilisateur
par défaut admin — en mode serveur, avec un mot de passe aléatoire affiché une seule fois dans la
sortie de journal du serveur (la ligne contenant initial login: admin / …). Connectez-vous avec celui-ci et créez d’autres utilisateurs
sous Paramètres > Compte > Gérer les utilisateurs, ou changez le mot de passe sous
Paramètres > Mot de passe.
Définir ou réinitialiser un mot de passe
Si le mot de passe initial à usage unique de admin a été perdu (ou si vous voulez
définir le vôtre avant la première connexion), vous pouvez définir le mot de passe de n’importe
quel utilisateur existant directement dans la base de données de l’application, sans démarrer le
serveur :
user@machine:~$ omnidb-server --set-password admin
user@machine:~$ omnidb-server --set-password admin -d /path/to/homedir
Sans -d, c’est le répertoire personnel par défaut du serveur
(~/.omnidb/omnidb-server) qui est utilisé. Dans un terminal, le nouveau mot de passe
est demandé deux fois, sans être affiché ; sinon, il est lu depuis la première ligne de l’entrée
standard, ce qui est pratique dans les scripts :
user@machine:~$ printf '%s\n' "$PW" | omnidb-server --set-password admin
Le mot de passe n’est jamais passé en argument de ligne de commande, il n’apparaît donc ni dans
la sortie de ps ni dans l’historique du shell. Il doit comporter au moins 8 caractères,
et l’utilisateur doit déjà exister. L’option est refusée avec -A : l’application de
bureau se connecte automatiquement et n’a aucun mot de passe à gérer. Elle peut aussi être lancée
pendant que le serveur tourne : le nouveau mot de passe est valable immédiatement pour les nouvelles
connexions, tandis que les utilisateurs déjà connectés le restent jusqu’à l’expiration de leur
session ou au redémarrage du serveur.
Purge (Vacuum)
OmniDB possède une seule base de données SQLite, omnidb.db, qui stocke tous les utilisateurs,
connexions et autres données liées à OmniDB. Comme il s’agit d’un simple fichier SQLite, vous pouvez le purger
avec n’importe quel client SQLite pendant qu’OmniDB n’est pas en cours d’exécution, par exemple :
user@machine:~$ sqlite3 ~/.omnidb/omnidb-app/omnidb.db 'VACUUM;'
Réinitialiser la base de données
Si vous souhaitez effacer toutes les informations d’OmniDB et obtenir une base de données propre, comme si
elle venait d’être installée, quittez OmniDB et supprimez (ou déplacez ailleurs) le fichier omnidb.db
du répertoire personnel. Un nouveau fichier vide — avec un nouvel utilisateur par défaut
admin (en mode serveur, avec un nouveau mot de passe à usage unique affiché dans le journal) — est créé automatiquement au prochain démarrage d’OmniDB. Utilisez cette
opération avec prudence : elle est irréversible.
Supprimer les fichiers temporaires
Les résultats de requêtes exportés (CSV/XLSX/etc.) sont écrits dans le dossier temp du
répertoire personnel. Il est possible de supprimer son contenu manuellement à tout moment pendant qu’OmniDB
n’est pas en cours d’exécution ; OmniDB le recrée si nécessaire.