Ferramenta de Configuração do OmniDB
Nota: o utilitário de linha de comandos autónomo omnidb-config/omnidb-config-app/
omnidb-config-server descrito nesta página pertencia à
versão anterior baseada em Python/Django e não faz parte do lançamento atual. O
binário único omnidb-server aceita apenas um pequeno conjunto de opções de linha de comandos:
-A/--app (modo aplicação de ambiente de trabalho), -H/--host (endereço
de escuta), -p/--port (porta de escuta), -d/--homedir
(escolher a pasta pessoal) e --set-password (definir a palavra-passe de um utilizador, ver abaixo) —
todas descritas na secção Opções de linha de comandos de
Implementar o omnidb-server. Não existe nenhum ficheiro de configuração.
As tarefas de manutenção que a ferramenta antiga oferecia ainda podem ser feitas manualmente, como descrito abaixo.
Pasta pessoal
O OmniDB armazena tudo — a base de dados omnidb.db (utilizadores, ligações e
outros dados da aplicação) e uma pasta temp para ficheiros exportados — numa única pasta
pessoal. Por predefinição, esta é ~/.omnidb/omnidb-app (modo aplicação de ambiente de trabalho) ou
~/.omnidb/omnidb-server (modo servidor); passe -d /some/path para usar uma
pasta diferente (a pasta já tem de existir). Se o sistema operativo não oferecer um armazenamento de segredos
para a chave de encriptação das palavras-passe guardadas, a mesma pasta guarda também essa chave, no ficheiro
.connection_secret_key — consulte Segurança e Servidor Multiutilizador.
Quando fizer uma cópia de segurança ou mover o omnidb.db, leve também esse ficheiro.
Criar um utilizador
Atualmente não existe nenhuma opção de linha de comandos para criar um utilizador sem abrir o OmniDB.
Na primeira execução com uma pasta pessoal vazia, o OmniDB cria automaticamente um
superutilizador predefinido admin — no modo servidor, com uma palavra-passe aleatória mostrada
uma única vez na saída de registo do servidor (a linha que contém initial login: admin / …). Inicie sessão com ele e crie
outros utilizadores em Definições > Conta > Gerir utilizadores, ou altere a palavra-passe em
Definições > Palavra-passe.
Definir ou repor uma palavra-passe
Se a palavra-passe inicial de utilização única do admin se perdeu (ou se quiser
definir a sua antes do primeiro início de sessão), pode definir a palavra-passe de qualquer
utilizador existente diretamente na base de dados da aplicação, sem iniciar o servidor:
user@machine:~$ omnidb-server --set-password admin
user@machine:~$ omnidb-server --set-password admin -d /path/to/homedir
Sem -d é usada a pasta pessoal predefinida do servidor
(~/.omnidb/omnidb-server). Num terminal, a nova palavra-passe é pedida duas vezes,
sem ser mostrada; caso contrário, é lida da primeira linha da entrada padrão, o que é útil em
scripts:
user@machine:~$ printf '%s\n' "$PW" | omnidb-server --set-password admin
A palavra-passe nunca é passada como argumento da linha de comandos, pelo que não aparece na
saída de ps nem no histórico da shell. Tem de ter pelo menos 8 caracteres e o
utilizador já tem de existir. A opção é recusada em conjunto com -A: a aplicação de
ambiente de trabalho inicia sessão automaticamente e não tem nenhuma palavra-passe para gerir.
Também pode ser executada com o servidor em funcionamento: a nova palavra-passe é válida de
imediato para novos inícios de sessão, enquanto os utilizadores que já iniciaram sessão
permanecem com sessão iniciada até esta expirar ou o servidor ser reiniciado.
Compactar (Vacuum)
O OmniDB tem uma única base de dados SQLite, omnidb.db, que armazena todos os utilizadores,
ligações e outros dados relacionados com o OmniDB. Como se trata de um simples ficheiro SQLite, pode
compactá-lo com qualquer cliente SQLite enquanto o OmniDB não estiver em execução, por exemplo:
user@machine:~$ sqlite3 ~/.omnidb/omnidb-app/omnidb.db 'VACUUM;'
Repor a base de dados
Se quiser eliminar todas as informações do OmniDB e obter uma base de dados limpa, como
acabada de instalar, saia do OmniDB e elimine (ou mova para outro local) o ficheiro
omnidb.db da pasta pessoal. Um novo ficheiro vazio — com um novo utilizador predefinido
admin (no modo servidor, com uma nova palavra-passe de utilização única mostrada no registo) — é criado automaticamente da próxima vez que o OmniDB arrancar. Use isto com
cuidado: não pode ser desfeito.
Eliminar ficheiros temporários
Os resultados de consultas exportados (CSV/XLSX/etc.) são escritos na pasta temp
dentro da pasta pessoal. É seguro eliminar o seu conteúdo manualmente a qualquer
momento enquanto o OmniDB não estiver em execução; o OmniDB recria-a conforme necessário.