- 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>
140 lines
3.6 KiB
Markdown
140 lines
3.6 KiB
Markdown
# 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
|
|
|
|
```bash
|
|
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.):
|
|
|
|
```bash
|
|
nano .env
|
|
```
|
|
|
|
### 3. Fazer o build da imagem
|
|
|
|
```bash
|
|
docker compose build
|
|
```
|
|
|
|
> ⚠️ O build copia o ZIP (~700MB) e extrai dentro da imagem. Pode levar alguns minutos.
|
|
|
|
### 4. Subir os containers
|
|
|
|
```bash
|
|
docker compose up -d
|
|
```
|
|
|
|
### 5. Acompanhar os logs
|
|
|
|
```bash
|
|
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
|
|
|
|
```bash
|
|
docker compose down
|
|
```
|
|
|
|
Para remover também os volumes (banco de dados):
|
|
|
|
```bash
|
|
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:
|
|
|
|
```bash
|
|
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](./GEMINI.md) — Guia de instalação standalone (base deste projeto)
|
|
- [JasperReports Server no SourceForge](https://sourceforge.net/projects/jr-community-installers/)
|
|
- [Imagem Docker Tomcat 9](https://hub.docker.com/_/tomcat)
|
|
- [Imagem Docker PostgreSQL 18](https://hub.docker.com/_/postgres)
|