jasperserver-docker/README.md
Rogério Lima 9fea30554f upgrade PostgreSQL 16→18 e melhorias de robustez
- PostgreSQL 18: atualiza imagem e corrige path de dados (/var/lib/postgresql)
- entrypoint: detecta schema ausente (jiresourcefolder) e reinstala automaticamente
- entrypoint: corrige captura de PIPESTATUS com set +e/set -e ao redor do pipeline
- logs: bind mount movido de /var/log para /var/log/jasperserver (não sobrescreve o sistema)
- download.sh: fonte do instalador migrada de SourceForge para Gitea interno
- Makefile: simplificado para build/up/down/clean/push/pull/logs + suporte a registry Gitea
- README: atualiza versão PG, URLs de download e adiciona instrução de publicação no Gitea

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-28 08:34:10 -03:00

3.6 KiB

JasperReports Server - Docker

Ambiente Dockerizado do JasperReports Server 8.2.0 Community Edition usando:

  • Tomcat 9 (imagem base tomcat:9.0-jdk11-temurin)
  • PostgreSQL 18 (container separado)
  • Docker Compose para orquestração

📂 Estrutura do Projeto

jasperserver/
├── Dockerfile
├── docker-compose.yml
├── .env                          ← variáveis de ambiente
├── entrypoint.sh                 ← inicialização automática
├── config/
│   └── default_master.properties ← configuração do instalador
├── downloads/
│   ├── download.sh               ← script de download do instalador
│   └── TIB_js-jrs-cp_8.2.0_bin.zip  ← (você deve baixar este arquivo)
└── README.md

🚀 Passo a Passo

1. Baixar o instalador do JasperReports

chmod +x downloads/download.sh
bash downloads/download.sh

Se o download automático falhar, baixe manualmente do Gitea: https://gitea.solucaoti.net.br/rogeriolima/-/packages/generic/TIB_js-jrs-cp/8.2.0 e coloque o arquivo TIB_js-jrs-cp_8.2.0_bin.zip na pasta downloads/.

2. Configurar variáveis de ambiente

Edite o arquivo .env se necessário (senhas, portas, etc.):

nano .env

3. Fazer o build da imagem

docker compose build

⚠️ O build copia o ZIP (~700MB) e extrai dentro da imagem. Pode levar alguns minutos.

4. Subir os containers

docker compose up -d

5. Acompanhar os logs

docker compose logs -f jasperserver

A primeira inicialização instala o JasperReports Server no banco de dados PostgreSQL — isso pode levar 3 a 5 minutos.

6. Acessar o JasperReports Server

Após a inicialização:


🛑 Parar os Containers

docker compose down

Para remover também os volumes (banco de dados):

docker compose down -v

⚙️ Configurações Disponíveis no .env

Variável Padrão Descrição
POSTGRES_USER jasper Usuário do PostgreSQL
POSTGRES_PASSWORD 12345678@a Senha do PostgreSQL
POSTGRES_DB jasperserver Nome do banco de dados
JS_DB_HOST postgres Host do banco (nome do serviço Docker)
JS_DB_PORT 5432 Porta do PostgreSQL
JS_DB_USERNAME jasper Usuário para conexão do JasperServer
JS_DB_PASSWORD 12345678@a Senha para conexão do JasperServer
JS_DB_NAME jasperserver Nome do banco do JasperServer

📦 Publicar nova versão do Instalador no Gitea

Após baixar o ZIP do instalador, publique-o no repositório de pacotes do Gitea para centralizar o artefato:

export GITEA_URL="https://gitea.solucaoti.net.br"
export GITEA_OWNER="rogeriolima"
export GITEA_USER="rogeriolima"

read -rs "GITEA_TOKEN?Token Gitea: "
echo

curl --fail-with-body \
  --user "${GITEA_USER}:${GITEA_TOKEN}" \
  --upload-file ./TIB_js-jrs-cp_8.2.0_bin.zip \
  "${GITEA_URL}/api/packages/${GITEA_OWNER}/generic/TIB_js-jrs-cp/8.2.0/TIB_js-jrs-cp_8.2.0_bin.zip"

unset GITEA_TOKEN

Execute a partir da pasta downloads/. O token precisa ter permissão de escrita em pacotes (package:write).


📋 Referências