# 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)