# HG changeset patch # User Tom Gottfried # Date 1445967534 -3600 # Node ID 75e87b7d37c0bf699df36c388c41a4ed181a52c4 # Parent 214508fd95e7d92c33c65f4fd74735d23da1704a Add dockerised setup for running the server. diff -r 214508fd95e7 -r 75e87b7d37c0 Dockerfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Dockerfile Tue Oct 27 18:38:54 2015 +0100 @@ -0,0 +1,77 @@ +# +# Dockerfile for jboss wildfly application server cutomized for usage in the +# BfS-Lada project +# +# Build with e.g. `docker build --force-rm=true -t koala/lada_wildfly .' +# Run with e.g. +# `docker run --name lada_wildfly --link lada_db:lada_db +# -dp 8181:8080 -p 1818:9990 koala/lada_wildfly' +# The linked container may be created from db_schema/Dockerfile +# + +FROM java:7-jdk +MAINTAINER raimund.renkert@intevation.de + +# +# install packages +# +RUN apt-get update -y && \ + apt-get install -y libpostgresql-jdbc-java libpostgis-java libjts-java \ + maven + +# +# Set up Wildfly +# +RUN mkdir /opt/jboss + +RUN curl \ + https://download.jboss.org/wildfly/8.2.1.Final/wildfly-8.2.1.Final.tar.gz \ + | tar zx && mv wildfly-8.2.1.Final /opt/jboss/wildfly + +ENV JBOSS_HOME /opt/jboss/wildfly + +RUN $JBOSS_HOME/bin/add-user.sh admin secret --silent + +EXPOSE 8080 9990 + +# +# Add LADA-server repo +# +ADD . /usr/src/lada-server +WORKDIR /usr/src/lada-server + +# +# Wildfly setup specific for LADA +# +RUN mkdir -p $JBOSS_HOME/modules/org/postgres/main +RUN ln -s /usr/share/java/postgresql-jdbc4-9.2.jar \ + $JBOSS_HOME/modules/org/postgres/main/ +RUN ln -s /usr/share/java/postgis-jdbc-2.1.4.jar \ + $JBOSS_HOME/modules/org/postgres/main/ +RUN ln -s /usr/share/java/jts-1.11.jar \ + $JBOSS_HOME/modules/system/layers/base/org/hibernate/main/ +RUN curl \ + http://www.hibernatespatial.org/repository/org/hibernate/hibernate-spatial/4.3/hibernate-spatial-4.3.jar > \ + $JBOSS_HOME/modules/system/layers/base/org/hibernate/main/hibernate-spatial-4.3.jar + +RUN cp wildfly/postgres-module.xml \ + $JBOSS_HOME/modules/org/postgres/main/module.xml +RUN cp wildfly/hibernate-module.xml \ + $JBOSS_HOME/modules/system/layers/base/org/hibernate/main/module.xml + +RUN wildfly/execute.sh + +RUN rm $JBOSS_HOME/standalone/configuration/standalone_xml_history/current/* + +# +# Build and deploy LADA-server +# +RUN mvn clean compile package +RUN mv target/lada-server-2.2.0.war $JBOSS_HOME/standalone/deployments +RUN touch $JBOSS_HOME/standalone/deployments/lada-server.war.dodeploy + +# +# This will boot WildFly in the standalone mode and bind to all interface +# +CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", \ + "-bmanagement=0.0.0.0"] diff -r 214508fd95e7 -r 75e87b7d37c0 wildfly/commands.cli --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wildfly/commands.cli Tue Oct 27 18:38:54 2015 +0100 @@ -0,0 +1,6 @@ +batch +/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgres",driver-class-name=org.postgis.DriverWrapper) +data-source add --jndi-name=java:/jboss/lada-bund --name=lada-bund --connection-url=jdbc:postgresql_postGIS://lada_db:5432/lada?currentSchema=bund --driver-name=postgres --user-name=lada --password=lada +data-source add --jndi-name=java:/jboss/lada-land --name=lada-land --connection-url=jdbc:postgresql_postGIS://lada_db:5432/lada?currentSchema=land --driver-name=postgres --user-name=lada --password=lada +data-source add --jndi-name=java:/jboss/lada-stamm --name=lada-stamm --connection-url=jdbc:postgresql_postGIS://lada_db:5432/lada?currentSchema=stammdaten --driver-name=postgres --user-name=lada --password=lada +run-batch diff -r 214508fd95e7 -r 75e87b7d37c0 wildfly/execute.sh --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wildfly/execute.sh Tue Oct 27 18:38:54 2015 +0100 @@ -0,0 +1,39 @@ +#!/bin/bash + +if [ -z $JBOSS_HOME ] +then + JBOSS_HOME=/opt/jboss/wildfly +fi +JBOSS_CLI=$JBOSS_HOME/bin/jboss-cli.sh +JBOSS_MODE=${1:-"standalone"} +JBOSS_CONFIG=${2:-"$JBOSS_MODE.xml"} + +function wait_for_server() { + until `$JBOSS_CLI -c "ls /deployment" &> /dev/stdout`; do + sleep 1 + done +} + +function wait_for_shutdown() { + until `$JBOSS_CLI -c "ls /deployment" &> /dev/stdout`; do + sleep 1 + done +} + +echo "=> Starting WildFly server" +$JBOSS_HOME/bin/$JBOSS_MODE.sh -c $JBOSS_CONFIG & + +echo "=> Waiting for the server to boot" +wait_for_server + +echo "=> Executing the commands" +$JBOSS_CLI -c --user=admin --password=secret --file=`dirname "$0"`/commands.cli + +echo "=> Shutting down WildFly" +if [ "$JBOSS_MODE" = "standalone" ]; then + $JBOSS_CLI -c ":shutdown" + sleep 10 + echo "=> done." +else + $JBOSS_CLI -c "/host=*:shutdown" +fi diff -r 214508fd95e7 -r 75e87b7d37c0 wildfly/hibernate-module.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wildfly/hibernate-module.xml Tue Oct 27 18:38:54 2015 +0100 @@ -0,0 +1,62 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff -r 214508fd95e7 -r 75e87b7d37c0 wildfly/postgres-module.xml --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wildfly/postgres-module.xml Tue Oct 27 18:38:54 2015 +0100 @@ -0,0 +1,14 @@ + + + + + + + + + + + + + +