Como instalar o Wildfly usando o Painel ICP

Como instalar o Wildfly usando o Painel ICP

Este tutorial mostra como subir o Wildfly usando contêineres Docker de forma simples e organizada, ideal para iniciantes, para isso iremos usar o Painel ICP da Integrator Host.

Neste tutorial, você verá:

✔️ Criar o docker compose
✔️ Configurar um domínio com SSL para acessar o Wildfly (https://example.com).
✔️ Acesse o Console do Wildfly

📌 Passo 1: Vamos criar a nossa pasta de trabalho em /home

📌 Passo 2: Crie um arquivo chamado docker-composer.yml dentro de /home/wildfly com o conteúdo abaixo:


services:
  wildfly:
    image: bitnami/wildfly:latest # Última versão disponível
    container_name: wildfly
    ports:
      - "8080:8080"   # Apps
      - "9990:9990"   # Console Admin
    environment:
      - WILDFLY_USERNAME=admin
      - WILDFLY_PASSWORD=DCBlkmrBom4BHo4
      - WILDFLY_BIND=0.0.0.0
      - WILDFLY_MANAGEMENT_BIND_ADDRESS=0.0.0.0
    volumes:
      - /home/wildfly:/opt/bitnami/wildfly/standalone:Z
      - /home/wildfly/init:/docker-entrypoint-init.d:Z

📌 Passo 3: Crie um arquivo chamado 10-fix-binds.sh dentro de /home/wildfly/init/ com o conteúdo abaixo:

#!/bin/bash
set -euo pipefail

CFG="/opt/bitnami/wildfly/standalone/configuration/standalone.xml"

# Se o arquivo ainda não existe, deixe o WildFly criá-lo primeiro
# (os inits rodam após a fase "setup" da Bitnami, então normalmente já existe)
if [ ! -f "$CFG" ]; then
  echo "Arquivo $CFG ainda não existe; pulando ajuste de bind (o próximo start deve acertar)."
  exit 0
fi

# Força os binds das interfaces "management" e "public" para 0.0.0.0
# Substitui a expressão padrão ${jboss.bind.address.*:127.0.0.1} por valor fixo 0.0.0.0
sed -ri 's#(<interface name="management">.*)<inet-address value="[^"]*".*#\1<inet-address value="0.0.0.0"/>#' "$CFG"
sed -ri 's#(<interface name="public">.*)<inet-address value="[^"]*".*#\1<inet-address value="0.0.0.0"/>#' "$CFG"

echo "Binds ajustados para 0.0.0.0 em $CFG"

📌 Passo 4: De permissão de execução no arquivo 10-fix-binds.sh

sudo chmod +x /home/wildfly/init/10-fix-binds.sh

📌 Passo 5: A pasta /home/wildflly tem que ter permissões 1001:1001

📌 Passo 6: Resultado final deve ser assim:

📌 Passo 7: Subir o nosso Container usando o docker compose criado

Ao finalizar com sucesso:


📌 Passo 8: Nosso container Wildfly executando com sucesso.

Execute o comando abaixo no terminal para liberar o acesso externo:

docker exec -it wildfly /opt/bitnami/wildfly/bin/jboss-cli.sh --connect \
  "/interface=management:write-attribute(name=inet-address,value=0.0.0.0), \
   /interface=public:write-attribute(name=inet-address,value=0.0.0.0), \
   :reload"

📌 Passo 9: Agora vamos criar um domínio com SSL para acessar o Console e o Wilfdfly.

Primeiro vamos criar o domínio para acessar a Wildfly que esta rodando na porta 8080 que foi definida em nosso docker composer.

Resultado:

Vamos agora criar o domínio para acessar o nosso Console que esta rodando na porta 9990 definida no nosso docker composer.


Acesse o terminal e rode o comando abaixo para liberar o acesso HTTPS para o seu domínio:
Lembre-se de alterar para o domínio que foi configurado.

docker exec -it wildfly /opt/bitnami/wildfly/bin/jboss-cli.sh --connect \
  "/core-service=management/management-interface=http-interface:write-attribute(name=allowed-origins,value=[\"http://console.panel-icp.integrator.host\",\"https://console.panel-icp.integrator.host\"]), :reload"


Resultado:

Após logar:

WILDFLY_USERNAME=admin
WILDFLY_PASSWORD=DCBlkmrBom4BHo4


Até a próxima =)