- 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> |
||
|---|---|---|
| config | ||
| downloads | ||
| .dockerignore | ||
| .env.sample | ||
| .gitignore | ||
| docker-compose.yml | ||
| Dockerfile | ||
| entrypoint.sh | ||
| Makefile | ||
| README.md | ||
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.zipna pastadownloads/.
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:
- URL: http://localhost:8080/jasperserver
- Usuário:
jasperadmin - Senha:
jasperadmin
🛑 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
- GEMINI.md — Guia de instalação standalone (base deste projeto)
- JasperReports Server no SourceForge
- Imagem Docker Tomcat 9
- Imagem Docker PostgreSQL 18