Pular para o conteúdo principal

Primeira Inicialização

Este guia acompanha você na inicialização do PCH-SIG após a instalação.

Checklist pré-inicialização

Antes de continuar, verifique que:

  • Docker está instalado e funcionando
  • Os contêineres estão iniciados (docker compose ps)
  • As portas 3000 e 8000 estão acessíveis
  • Os arquivos .env estão configurados

Etapa 1: Iniciar os contêineres

cd deploy

# Iniciar todos os serviços
docker compose up -d

# Verificar o status
docker compose ps

Todos os contêineres devem estar no estado Up.


Etapa 2: Criar o banco de dados

# Acessar o contêiner backend
docker exec -it pch_backend bash

# Criar o banco de dados
php bin/console doctrine:database:create

# Executar as migrações
php bin/console doctrine:migrations:migrate --no-interaction

Verificar a estrutura

php bin/console doctrine:schema:validate

Etapa 3: Gerar as chaves JWT

# Ainda no contêiner backend
php bin/console lexik:jwt:generate-keypair

As chaves são criadas em config/jwt/:

  • private.pem: Chave privada (assinatura)
  • public.pem: Chave pública (verificação)
Segurança

As chaves JWT devem permanecer confidenciais. Não faça commit delas no Git.


Etapa 4: Carregar os dados iniciais

Dados de referência

php bin/console doctrine:fixtures:load --group=reference --no-interaction

Isso carrega:

  • Regiões, Setores, Comunas, Localidades
  • Tipos de documentos
  • Parâmetros do sistema

Usuário administrador

php bin/console app:create-admin admin@pch-sig.sn Admin123!

Ou via fixtures:

php bin/console doctrine:fixtures:load --group=users --no-interaction

Etapa 5: Limpar o cache

php bin/console cache:clear
php bin/console cache:warmup

Etapa 6: Build do frontend

Se ainda não foi feito:

# Sair do contêiner backend
exit

# Na máquina host
cd ../frontend
npm install
npm run build

Os arquivos são gerados em frontend/build/.


Etapa 7: Acessar a aplicação

URLs

ServiçoURL
Aplicaçãohttp://localhost:3000
APIhttp://localhost:8000/api
Mailpithttp://localhost:8025

Primeiro acesso

  1. Acesse http://localhost:3000
  2. Faça login com:
    • Email: admin@pch-sig.sn
    • Senha: Admin123!

Etapa 8: Verificações pós-inicialização

Testar a API

curl http://localhost:8000/api

Resposta esperada: Documentação da API ou mensagem de boas-vindas.

Testar a conexão

curl -X POST http://localhost:8000/api/login_check \
-H "Content-Type: application/json" \
-d '{"email":"admin@pch-sig.sn","password":"Admin123!"}'

Resposta esperada: Token JWT.

Verificar Redis

docker exec pch_redis redis-cli -a redis_secure_2025 PING

Resposta esperada: PONG

Verificar PostgreSQL

docker exec pch_postgres psql -U pch_admin -d pch_sig -c "SELECT count(*) FROM users;"

Configuração inicial

Alterar a senha do admin

  1. Faça login na aplicação
  2. Clique no seu perfil
  3. Selecione Configurações
  4. Altere a senha

Criar os primeiros usuários

  1. Vá em Administração > Parâmetros
  2. Seção Usuários
  3. Clique em Novo usuário

Configurar as regiões

As regiões são carregadas automaticamente. Verifique em: Parâmetros > Geografia


Problemas comuns

Erro "Connection refused" PostgreSQL

# Verificar que o PostgreSQL está iniciado
docker logs pch_postgres

# Aguardar alguns segundos e tentar novamente
sleep 10
docker exec -it pch_backend php bin/console doctrine:migrations:migrate

Erro "Permission denied" nas chaves JWT

# Corrigir as permissões
docker exec pch_backend chmod 644 config/jwt/public.pem
docker exec pch_backend chmod 600 config/jwt/private.pem

Página em branco no frontend

# Verificar o build
ls -la frontend/build/

# Reconstruir se necessário
cd frontend && npm run build

Próximos passos