Instalar o servidor
OpenKey Server é uma API de sync zero-knowledge opcional. Armazena apenas texto cifrado para sincronizar cofres entre seus próprios dispositivos. Senhas mestras e chaves do cofre em texto claro nunca saem do cliente.
Requisitos
- Docker e Docker Compose (recomendado), ou Python 3.12+ com PostgreSQL 16
- Um
JWT_SECRETforte (pelo menos 32 caracteres, não um placeholder)
Instalar com Docker
cd openkey_server
cp .env.example .env
openssl rand -hex 32 # paste into JWT_SECRET in .env
docker compose up --build -dQuando estiver saudável:
| URL | Propósito |
|---|---|
http://localhost:8000 | Base da API |
http://localhost:8000/docs | Docs OpenAPI |
http://localhost:8000/health | Verificação de saúde |
Migrações de esquema rodam automaticamente na inicialização da API (alembic upgrade head).
Configuração importante
| Variável | Notas |
|---|---|
JWT_SECRET | Obrigatório. Mín. 32 caracteres; placeholders rejeitados na inicialização |
DATABASE_URL | URL Postgres async (Compose define para o serviço db) |
CORS_ORIGINS | Origens separadas por vírgula — sem * |
ACCESS_TOKEN_EXPIRE_MINUTES | JWT de acesso de curta duração (padrão 15) |
REFRESH_TOKEN_EXPIRE_DAYS | TTL do refresh token opaco (padrão 7, rotacionado no uso) |
AUTH_RATE_LIMIT_* | Limites por IP nos endpoints de auth |
Para produção: coloque a API atrás de HTTPS, defina um JWT_SECRET único e restrinja CORS_ORIGINS aos seus clientes.
Produção com HTTPS
Full Caddy / nginx examples: English · العربية.
Put the API behind TLS, set a unique JWT_SECRET, and restrict CORS_ORIGINS (never *). Point clients at https://your.domain and check /health.
Conectar seus clientes
Aponte cada cliente para a mesma URL do servidor (Docker local: http://localhost:8000, ou sua URL HTTPS pública).
App OpenKey (telefone / desktop)
Instale o app oficial OpenKey pela loja oficial ou canal de download.
- Desbloqueie ou crie um cofre local com sua senha mestra.
- Abra Configurações → Dados → Servidor auto-hospedado.
- Informe a URL do servidor (exemplo:
https://openkey.example.com). - Registrar (primeiro dispositivo) ou Login (outro dispositivo que já tenha esta conta de cofre).
- Toque Sincronizar agora quando quiser puxar/enviar texto cifrado.
O app mantém um banco de dados local criptografado. A sync só troca texto cifrado opaco. Mais: Usar o app.
Extensão do navegador
- Compile e carregue
openkey_extension(npm install && npm run build, depois carreguedist/). - Abra Opções da extensão e defina a mesma URL do servidor.
- Desbloqueie com o mesmo email + senha mestra (a extensão usa
/auth/prelogine depois login).
Ponte desktop (opcional): desbloqueie o app desktop OpenKey, ative Preenchimento automático para registrar o host de mensagens nativo, depois escolha «Usar app desktop» na extensão. Preencher/salvar pode passar pelo app desbloqueado sem desbloqueio separado da extensão.
CLI
openkey config set-server http://localhost:8000
openkey login --email [email protected]
eval $(openkey unlock)
openkey syncVeja CLI para descoberta de segredos sem servidor (ponte do app desktop).
Checklist multi-dispositivo
- Instale e proteja o servidor uma vez.
- No primeiro dispositivo: registro + sync.
- Em cada novo dispositivo: instale o cliente → defina a mesma URL → login com o mesmo email e senha mestra → sync.
- Mantenha backups offline regulares (exportação / backup local) — o servidor não é caminho de recuperação para senha mestra esquecida.
Próximo: Usar o app · CLI · Segurança