Docker
O caminho suportado. O docker compose incluído sobe o hub e o Postgres juntos.
O Lockatus é distribuído como uma única imagem Docker mais um banco de dados Postgres. Ele gera sua chave de assinatura RS256
no primeiro boot (armazenada criptografada no banco de dados) e semeia o primeiro superadmin — de modo que um único
docker compose up lhe dá um hub de identidade funcional.
Docker
O caminho suportado. O docker compose incluído sobe o hub e o Postgres juntos.
Uma chave mestra
LOCKATUS_SECRET criptografa os segredos TOTP e assina a sessão do hub. Gere 32 bytes aleatórios.
Uma URL de issuer alcançável
LOCKATUS_ISSUER é a URL pública que os tokens carregam — ela deve ser alcançável tanto pelo navegador
quanto pelos apps federados.
git clone https://github.com/diegoparras/lockatus.git && cd lockatuscp .env.example .env # set POSTGRES_PASSWORD and LOCKATUS_SECRETdocker compose up -d --builddocker compose logs lockatus # the generated admin password is printed once here# → http://localhost:8081Gere a chave mestra com:
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"http://localhost:8081 e faça login como LOCKATUS_ADMIN_EMAIL com a senha exibida uma única vez
nos logs (ou a que você definiu em LOCKATUS_ADMIN_PASS).| Route | Finalidade |
|---|---|
GET /health | Saúde do serviço (e status do banco de dados). |
GET /.well-known/openid-configuration | Metadados do issuer para o discovery OIDC. |
GET /jwks.json | A chave pública, para que os apps verifiquem os tokens offline. |
| Variable | Default | Descrição |
|---|---|---|
POSTGRES_PASSWORD | (required) | Senha do banco de dados. |
LOCKATUS_SECRET | (required) | Chave mestra — criptografa os segredos TOTP e assina a sessão do hub. |
LOCKATUS_ISSUER | http://localhost:8081 | URL pública do issuer embutida nos tokens. |
LOCKATUS_ADMIN_EMAIL | admin@lockatus.local | O primeiro superadmin. |
LOCKATUS_ADMIN_PASS | (empty) | Vazio → gerada e exibida uma única vez nos logs. |
LOCKATUS_SECURE_COOKIE | 0 | Defina como 1 atrás de TLS. |
LOCKATUS_PORT | 8081 | Porta do host. |