• Suporte
  • Dificuldade em configurar ambiente com novosga + panel-app no Docker

Saudações prezados,

Nas últimas semanas, estive tentando montar um ambiente de desenvolvimento do novosga para fazer algumas modificações para o orgão que atuo.
Basicamente, montei um "projeto" estruturado da seguinte forma:

  • app
    -- Fontes do novosga, basicamente um git clone do repositório original
  • app-panel
    -- Fontes do panel-app, basicamente um git clone do repositório original
  • nginx
    -- nginx.conf (configuração para o containers do nginx, que atua como um proxy reverso, direcionando requisições para :8080 para o novosga ou para o app-panel)
  • docker-compose.yml
  • Dockerfile
  • .env
  • scripts
    -- Conjunto de scripts de auxílio para acelerar alguns processos, como copiar o arquivo .env para dentro do diretório app, chamar o php bin/console novosga:install, derrubar e subir containers, etc

Meu problema tem sido:
1 - tentei utilizar a versão 2.1 do novosga, e toda vez que chamo o php bin/console novosga:install --no-interaction, ele roda e reclama que a "view_atendimentos" já existe.
Tentei dar um doctrine:migrate diff ou algo do genero para "ver" o que teve de novo nas migrações e corrigir, mas sem sucesso.
2 - Desisti da versão 2.1 e coloquei a versão 2.2. Até ai tranquilo, consegui fazer a aplicação funcionar, consegui montar meus scripts pra montar o ambiente de dev e o de prod também.
O problema foi ao tentar integrar o panel-app com ele versão (2.1). O erro que ocorre, pelo que debuguei, parece ser relativo a alguma mudança na api de requisição de token (api/token) que passou a ser "oauth2/token" e aceitar apenas post.
Não consegui fazer funcionar por nada, e ainda tenho tido problemas para rodar o npm install do projeto panel-app, que reclama que existem pacotes desatualizados, incompatíveis ou indisponíveis.

Gostaria de uma luz para conseguir montar um ambiente de Dev Dockerizado com, preferencialmente, a versão 2.1, para que o panel-app e o app operem corretamente entre sí.

Fico no aguardo e agradeço desde já 😃

    Andre220v o endpoint do token na versão 2.2 continua /api/token

    Embora a nova biblioteca de oauth2-server use /oauth2/token, no sistema tem uma configuração para também funcionar com /api/token:

    # Deprecated route, please update your client to use /oauth2/token instead
    deprecated_token_route:
        path: /api/token

    https://github.com/novosga/novosga/blob/v2.2/config/routes/league_oauth2_server.yaml#L6-L10

    Em resumo, o painel da v2.1 é compatível com a versão 2.2.

    Para o build do painel, você precisa utilizar a versão adequada. Use a mesma do Dockerfile: https://github.com/novosga/panel-app/blob/v2.1/Dockerfile