Subindo o INJI Verify Service
Objetivo
Colocar o INJI Verify Service rodando com Docker Compose na sua VM.
Componentes
O INJI Verify Service é composto por 2 containers:
| Container | Imagem | Porta | Função |
|---|---|---|---|
inji-verify-service |
injistack/inji-verify-service:0.17.0 |
8080 | Backend Spring Boot — validação de credenciais |
inji-verify-db |
postgres:15-alpine |
5432 | Banco de dados |
Passo 1 — Criar estrutura de diretórios
mkdir -p ~/verificaidade
cd ~/verificaidadePasso 2 — Criar docker-compose.yml
Substitua SEU_DOMINIO_PUBLICO pelo domínio público da sua VM (ou URL do ngrok em desenvolvimento).
services:
inji-verify-service:
container_name: inji-verify-service
image: injistack/inji-verify-service:0.17.0
ports:
- "8080:8080"
environment:
DATABASE_HOST: postgres
DATABASE_PORT: 5432
DATABASE_NAME: inji_verify
DATABASE_SCHEMA: public
DATABASE_USERNAME: inji
DATABASE_PASSWORD: inji123
INJI_VP_SUBMISSION_BASE_URL: https://SEU_DOMINIO_PUBLICO/v1/verify
INJI_DID_VERIFY_URI: did:web:SEU_DOMINIO_PUBLICO:v1:verify
INJI_DID_VERIFY_PUBLIC_KEY_URI: did:web:SEU_DOMINIO_PUBLICO:v1:verify#key-0
SPRING_JPA_HIBERNATE_DDL_AUTO: update
MANAGEMENT_ENDPOINTS_WEB_EXPOSURE_INCLUDE: "*"
MANAGEMENT_ENDPOINT_MAPPINGS_ENABLED: "true"
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
postgres:
image: postgres:15-alpine
container_name: inji-verify-db
environment:
POSTGRES_USER: inji
POSTGRES_PASSWORD: inji123
POSTGRES_DB: inji_verify
ports:
- "5432:5432"
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U inji -d inji_verify"]
interval: 5s
timeout: 5s
retries: 10
volumes:
pgdata:Passo 3 — Subir os containers
docker compose up -dPasso 4 — Verificar se está rodando
# Ver containers ativos
docker ps
# Ver logs do Service
docker logs inji-verify-service --tail 50
# Health check
curl -s http://localhost:8080/v1/verify/actuator/healthResultado esperado:
{
"status": "UP"
}Variáveis de Ambiente — Referência
| Variável | Padrão | Descrição |
|---|---|---|
DATABASE_HOST |
— | Host do PostgreSQL |
DATABASE_PORT |
5432 |
Porta do PostgreSQL |
DATABASE_NAME |
inji_verify |
Nome do banco |
DATABASE_SCHEMA |
public |
Schema do banco |
INJI_VP_SUBMISSION_BASE_URL |
— | URL pública do Service (a Wallet envia VP para cá) |
INJI_DID_VERIFY_URI |
— | DID Web do verificador |
INJI_DID_VERIFY_PUBLIC_KEY_URI |
— | URI da chave pública do DID |
INJI_KEYSTORE_FILE_PASS |
mosip |
Senha do keystore PKCS12 |
INJI_VP_REQUEST_LONG_POLLING_TIMEOUT |
55000 |
Timeout do long-polling (ms) |
INJI_VERIFY_REDIRECT_URI |
— | URI de redirecionamento pós-verificação |
INJI_VERIFY_RESPONSE_CODE_EXPIRY_TIME_IN_MINS |
5 |
TTL do response code (min) |
Importante
Use exatamente a versão 0.17.0 do INJI Verify Service. Versões anteriores (0.16.x) e posteriores (0.18.x+) podem ter incompatibilidades com o SDK React. INJI_VP_SUBMISSION_BASE_URL e os DIDs devem usar seu domínio público real. A Carteira Digital do cidadão precisa resolver esses endereços pela internet.
Comandos úteis
| Comando | O que faz |
|---|---|
docker compose up -d |
Inicia os serviços |
docker compose down |
Para os serviços |
docker compose restart inji-verify-service |
Reinicia o Service |
docker logs inji-verify-service -f |
Acompanha logs em tempo real |
docker compose pull |
Atualiza as imagens |
Próximo passo
Serviço rodando. Agora entenda o Fluxo de Verificação.