Sign inSign up

jboss/uf-dashbuilder

By jboss

Updated over 7 years ago

JBoss UF Dashbuilder Docker image

Image
2

3.6K

jboss/uf-dashbuilder repository overview

JBoss UF Dashbuilder Docker image

JBoss UF Dashbuilder Docker image.

Table of contents

  • Introduction
  • Usage
  • Users and roles
  • Logging
  • GIT internal repository
  • Extending this image
  • Experimenting
  • Notes
  • Release notes

Introduction

The image contains:

  • JBoss Wildfly 8.2.0.Final
  • JBoss UF Dashbuilder 0.3.4.Final

This image provides the JBoss UF Dashbuilder application. It's intended to be extended so you can add your custom configurations.

If you don't want to extend this image and you just want to try UF Dashbuilder, please take a look at the jboss/uf-dashbuilder-showcase:0.3.4.Final Docker image, it contains some default configurations.

Usage

To run a container:

docker run -p 8080:8080 -p 8001:8001 -d --name uf-dashbuilder jboss/uf-dashbuilder:0.3.4.Final

Once container starts, you can navigate into the Dashbuilder at:

http://localhost:8080/dashbuilder

Users and roles

The application have no users or roles configured, so you cannot not access it by default,

In order to use it, at least you have to create an application user in JBoss Wildfly with role admin.

If you are looking for a Dashbuilder image that does not require to add custom configurations, try our jboss/uf-dashbuilder-showcase:0.3.4.Final Docker image.

If you want to create your custom configuration and users, role, etc, you can take a look at section Extending this image

Logging

You can see all logs generated by the standalone binary running:

docker logs [-f] <container_id>

You can attach the container by running:

docker attach <container_id>

The Dashbuilder web application logs can be found inside the container at path:

/opt/jboss/wildfly/standalone/log/server.log

Example:
sudo nsenter -t $(docker inspect --format '{{ .State.Pid }}' $(docker ps -lq)) -m -u -i -n -p -w
-bash-4.2# tail -f /opt/jboss/wildfly/standalone/log/server.log

GIT internal repository

The application stores all the project artifacts in an internal GIT repository. By default, the protocol available for accessing the GIT repository is SSH at port 8001.

You can clone the GIT repository by running:

git clone ssh://admin@localhost:8001/system

By default, the GIT repository is created when the application starts for first time at $WORKING_DIR/.niogit, considering $WORKING_DIR as the current directory where the application server is started.

You can specify a custom repository location by setting the following Java system property to your target file system directory:

    -Dorg.uberfire.nio.git.dir=/home/youruser/some/path

NOTE: This directory can be shared with your docker host and with another containers using shared volumes when running the container, if you need so.

If necessary you can make GIT repositories available from outside localhost using the following Java system property:

    -org.uberfire.nio.git.ssh.host=0.0.0.0
    

You can set this Java system properties permanent by adding the following lines in your standalone-full.xml file as:

    <system-properties>
      <!-- Custom repository location. -->
      <property name="org.uberfire.nio.git.dir" value="/home/youruser/some/path"/>
      <!-- Make GIT repositories available from outside localhost. -->
      <property name="org.uberfire.nio.git.ssh.host" value="0.0.0.0"/>
    </system-properties>

NOTE: Users and password for ssh access are the same that for the web application users defined at the realm files.

Extending this image

You can extend this image and add your custom layers in order to add custom configurations, users, roles, etc.

In order to extend this image, your Dockerfile must inherit from:

FROM jboss/uf-dashbuilder:0.3.4.Final

Configuring Wildfly

  • The Wildfly configuration files are located at /opt/jboss/wildfly/standalone/configuration

  • In this file you can modify all Wildfly's subsystem configurations

  • Dashbuilder requires running Wildfly using full profile, so custom modifications should be done in standalone-full.xml configuration file

  • It's recommended if there are several modifications to do, to create a copy of the configuration file, rename it and use it to start Wildfly. If you do that, your Dockerfile must run Wildfly using this configuration file, so your CMD command should be as:

      CMD ["./standalone.sh", "-b", "$JBOSS_BIND_ADDRESS", "--server-config=your-standalone-full.xml"]
    

Users and roles

  • By default this image does not provide users and roles for UF Dashbuilder

  • The available roles for UF Dashbuilder are:

      ROLE        DESCRIPTION
      *************************************************
      admin       The administrator
    

These are the steps to create your custom users and roles by using realm files in Widlfly:

1.- Create a realm properties file for users and deploy it in /opt/jboss/wildfly/standalone/configuration:

    dashbuilder-users.properties
    ---------------------
    admin=admin
    

2.- Create a realm properties file for roles and deploy it in /opt/jboss/wildfly/standalone/configuration:

    dashbuilder-roles.properties
    ---------------------
    admin=admin

3.- Modify your standalone-full.xml in order to:

3.1 - In the management section, modify default the security-realm for the ApplicationRealm as:

    <security-realm name="ApplicationRealm">
          <authentication>
            <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
            <properties path="dashbuilder-users.properties" relative-to="jboss.server.config.dir"/>
          </authentication>
          <authorization>
            <properties path="dashbuilder-roles.properties" relative-to="jboss.server.config.dir"/>
          </authorization>
      </security-realm>
      

3.2 - In the security subsystem, modify default the other security-domain for as:

    <security-domain name="other" cache-type="default">
      <authentication>
        <login-module code="UsersRoles" flag="required">
          <module-option name="usersProperties" value="${jboss.server.config.dir}/dashbuilder-users.properties"/>
          <module-option name="rolesProperties" value="${jboss.server.config.dir}/dashbuilder-roles.properties"/>
        </login-module>
      </authentication>
    </security-domain>

You can find an example by looking at the Dockerfile for jboss/uf-dashbuilder-showcase:0.3.4.Final image.

Experimenting

To spin up a shell in one of the containers try:

docker run -p 8080:8080 -p 8001:8001 -d --name uf-dashbuilder jboss/uf-dashbuilder:0.3.4.Final /bin/bash

You can then noodle around the container and run stuff & look at files etc.

You can run the Dashbuilder web application by running command:

/opt/jboss/wildfly/bin/standalone.sh -b $JBOSS_BIND_ADDRESS --server-config=standalone-full.xml

Notes

  • UF Dashbuilder version is 0.3.4.Final
  • UF Dashbuilder requires running JBoss Wildfly using the full server profile
  • No users or roles are configured by default
  • No support for clustering
  • Use of embedded H2 database server by default
  • No support for Wildfly domain mode, just standalone mode
  • The context path for UF Dashbuilder web application is dashbuilder

Release notes

0.3.4.Final

  • Use Wildfly 8.2.0.Final
  • Upgrade app to version 0.3.4.Final

Tag summary

Content type

Image

Digest

sha256:97b3f7cde

Size

355.8 MB

Last updated

over 7 years ago

docker pull jboss/uf-dashbuilder