.NET

Strumento di configurazione OmniDB

Nota: l’utility CLI standalone omnidb-config/omnidb-config-app/ omnidb-config-server descritta in questa pagina apparteneva alla precedente versione basata su Python/Django e non fa parte della release attuale. Il singolo binario omnidb-server accetta solo poche opzioni da riga di comando: -A/--app (modalità app desktop), -H/--host (indirizzo di ascolto), -p/--port (porta di ascolto), -d/--homedir (scelta della directory home) e --set-password (impostazione della password di un utente, vedi sotto) — tutte descritte nella sezione Opzioni della riga di comando di Distribuzione di omnidb-server. Non esiste alcun file di configurazione. Le attività di manutenzione che il vecchio strumento offriva possono ancora essere svolte manualmente, come descritto di seguito.

Directory home

OmniDB memorizza tutto — il database omnidb.db (utenti, connessioni e altri dati dell’app) e una cartella temp per i file esportati — in un’unica directory home. Per impostazione predefinita è ~/.omnidb/omnidb-app (modalità desktop) o ~/.omnidb/omnidb-server (modalità server); passa -d /percorso/qualsiasi per usarne una diversa (la directory deve già esistere). Se il sistema operativo non offre un archivio dei segreti per la chiave di cifratura delle password salvate, la stessa directory contiene anche quella chiave, nel file .connection_secret_key — vedi Sicurezza e server multiutente. Quando esegui il backup o sposti omnidb.db, porta con te anche quel file.

Creare un utente

Attualmente non esiste un’opzione da riga di comando per creare un utente senza aprire OmniDB. Alla prima esecuzione con una directory home vuota, OmniDB crea automaticamente un superuser predefinito admin — in modalità server con una password casuale stampata una sola volta nell’output di log del server (la riga che contiene initial login: admin / …). Accedi con questo utente e crea altri utenti in Impostazioni > Account > Gestisci utenti, oppure cambia la password in Impostazioni > Password.

Impostare o reimpostare una password

Se la password iniziale monouso di admin è andata persa (o vuoi impostarne una tua prima del primo accesso), puoi impostare la password di qualsiasi utente esistente direttamente nel database dell’app, senza avviare il server:

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

Senza -d viene usata la directory home predefinita del server (~/.omnidb/omnidb-server). In un terminale la nuova password viene chiesta due volte, senza mostrarla; altrimenti viene letta dalla prima riga dello standard input, comodo negli script:

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

La password non viene mai passata come argomento da riga di comando, quindi non compare nell’output di ps né nella cronologia della shell. Deve essere lunga almeno 8 caratteri e l’utente deve già esistere. L’opzione viene rifiutata insieme a -A: l’app desktop accede automaticamente e non ha alcuna password da gestire. Si può eseguire anche con il server in funzione: la nuova password vale subito per i nuovi accessi, mentre gli utenti già collegati restano collegati finché la loro sessione non scade o il server non viene riavviato.

Vacuum

OmniDB ha un unico database SQLite, omnidb.db, che memorizza tutti gli utenti, le connessioni e altri dati relativi a OmniDB. Trattandosi di un semplice file SQLite, puoi eseguirne il vacuum con qualsiasi client SQLite mentre OmniDB non è in esecuzione, ad esempio:

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

Reimpostare il database

Se desideri eliminare tutte le informazioni di OmniDB e ottenere un database pulito come appena installato, chiudi OmniDB ed elimina (o sposta altrove) il file omnidb.db nella directory home. Un nuovo file vuoto — con un nuovo utente predefinito admin (in modalità server con una nuova password monouso stampata nel log) — viene creato automaticamente al successivo avvio di OmniDB. Usa questa procedura con cautela: non può essere annullata.

Eliminare i file temporanei

I risultati delle query esportati (CSV/XLSX/ecc.) vengono scritti nella cartella temp all’interno della directory home. È sicuro eliminarne il contenuto manualmente in qualsiasi momento mentre OmniDB non è in esecuzione; OmniDB la ricrea quando necessario.