Skip to content

Repository files navigation

Licitações-e com Warsaw e Zendriver no Docker

Ambiente isolado baseado em Ubuntu 24.04 LTS com Warsaw, Google Chrome, uma automação Python/Zendriver, sessão MATE mínima e acesso web pelo noVNC. A sessão instala apenas Marco, painel, gerenciador de sessão e daemon de configurações do MATE. Nada é instalado no sistema operacional do host.

Requisitos

  • Docker com o plugin Compose
  • Navegador web no host

Executar

./run.sh

Acesse http://127.0.0.1:6080/vnc.html e use a senha bbwarsaw.

Para definir outra senha e resolução:

VNC_PASSWORD='outrasenha' VNC_GEOMETRY=1600x900 ./run.sh

O protocolo VNC usa no máximo os primeiros oito caracteres da senha. O acesso web é publicado apenas em 127.0.0.1; não fica disponível para outras máquinas da rede.

O Zendriver abre o Chrome automaticamente em https://www.licitacoes-e.com.br/aop/index.jsp e clica em Sala de disputa. O navegador continua visível no MATE para informar a chave de acesso.

Warsaw e Chrome rodam no mesmo container. O entrypoint inicia tanto o serviço Warsaw de sistema quanto a instância do usuário gráfico, espera a porta 127.0.0.1:30900, importa a CA pessoal no NSS do Chrome e valida o endpoint TLS antes de iniciar o Zendriver. A porta do Warsaw não é exposta no host. Uma política do Chrome libera acesso à rede loopback apenas para a origem https://www.licitacoes-e.com.br, evitando a confirmação manual no primeiro uso de um perfil novo.

O healthcheck só fica saudável depois que a automação confirma a tela de login da Sala de disputa com os campos de chave J e senha de autoatendimento.

O perfil do navegador fica no volume Docker chrome-data, preservando o cadastro do dispositivo sem criar um diretório de dados no projeto.

Créditos

Os ajustes de execstack e dos atributos imutáveis dos binários do Warsaw foram baseados na dica de Hisham Muhammad no artigo Configuração do Warsaw para acessar o Banco do Brasil no Linux em 2026. Este projeto adapta essa configuração para o ambiente isolado em Docker e acrescenta MATE, TigerVNC, noVNC e a automação com Zendriver.

Comandos

docker compose logs -f bb
docker compose exec bb tail -f /tmp/browser-automation.log
docker compose exec bb ss -ltnp
docker compose exec bb ps aux
docker compose down

Para apagar também o perfil do Chrome:

docker compose down -v

Licença e autoria

Copyright (C) 2025-2026 Gustavo Freitas.

O código-fonte original deste repositório é distribuído sob a GNU Affero General Public License, versão 3 ou posterior (AGPL-3.0-or-later). Consulte o arquivo LICENSE para os termos completos e o arquivo NOTICE para a delimitação dos componentes de terceiros.

Ubuntu, Google Chrome, Warsaw, Zendriver, MATE, TigerVNC, noVNC e demais dependências mantêm seus próprios titulares e termos de licença. A licença deste repositório não altera nem substitui esses termos. Antes de publicar ou redistribuir uma imagem Docker já construída, confira as licenças e termos dos binários incluídos nela.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages