jasperserver-docker/README.md
2026-02-22 17:47:38 -03:00

116 lines
2.9 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 14** (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 de:
> https://sourceforge.net/projects/jr-community-installers/files/Server/
> 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 |
---
## 📋 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 14](https://hub.docker.com/_/postgres)