annotate Dockerfile @ 1290:14876c62f692

Push down refreshing of persisted objects deeper into the stack. There are more places besides creation of Probe objects where it is useful to return within the response what has been really written to the database (including modifications by the database itself) instead of merely the request data, e.g. creation of Ort objects, which includes database generated ort_ids.
author Tom Gottfried <tom@intevation.de>
date Wed, 08 Feb 2017 18:02:05 +0100
parents 3f7c22b0b888
children 1f47e9fa10c4
rev   line source
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
1 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
2 # Dockerfile for jboss wildfly application server cutomized for usage in the
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
3 # BfS-Lada project
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
4 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
5 # Build with e.g. `docker build --force-rm=true -t koala/lada_wildfly .'
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
6 # Run with e.g.
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
7 # `docker run --name lada_wildfly --link lada_db:lada_db
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
8 # -dp 8181:8080 -p 1818:9990 koala/lada_wildfly'
749
cb841ed21405 Dockerfile: add comment where server is reachable.
Tom Gottfried <tom@intevation.de>
parents: 748
diff changeset
9 # The linked container may be created from db_schema/Dockerfile.
cb841ed21405 Dockerfile: add comment where server is reachable.
Tom Gottfried <tom@intevation.de>
parents: 748
diff changeset
10 #
cb841ed21405 Dockerfile: add comment where server is reachable.
Tom Gottfried <tom@intevation.de>
parents: 748
diff changeset
11 # The LADA-server will be available under
976
01ce190079e5 Adapt LADA version in Dockerfile.
Tom Gottfried <tom@intevation.de>
parents: 888
diff changeset
12 # http://yourdockerhost:8181/lada-server-$LADA_VERSION
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
13 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
14
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
15 FROM java:7-jdk
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
16 MAINTAINER raimund.renkert@intevation.de
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
17
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
18 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
19 # install packages
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
20 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
21 RUN apt-get update -y && \
761
4f9b5500541c Package versions of Postgres and Postgres-JDBC do not match in jessie.
Tom Gottfried <tom@intevation.de>
parents: 750
diff changeset
22 apt-get install -y libpostgis-java libjts-java \
852
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
23 maven lighttpd
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
24
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
25 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
26 # Set up Wildfly
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
27 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
28 RUN mkdir /opt/jboss
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
29
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
30 RUN curl \
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
31 https://download.jboss.org/wildfly/8.2.1.Final/wildfly-8.2.1.Final.tar.gz \
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
32 | tar zx && mv wildfly-8.2.1.Final /opt/jboss/wildfly
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
33
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
34 ENV JBOSS_HOME /opt/jboss/wildfly
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
35
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
36 RUN $JBOSS_HOME/bin/add-user.sh admin secret --silent
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
37
852
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
38 EXPOSE 8080 9990 80
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
39
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
40 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
41 # Add LADA-server repo
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
42 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
43 ADD . /usr/src/lada-server
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
44 WORKDIR /usr/src/lada-server
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
45
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
46 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
47 # Wildfly setup specific for LADA
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
48 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
49 RUN mkdir -p $JBOSS_HOME/modules/org/postgres/main
761
4f9b5500541c Package versions of Postgres and Postgres-JDBC do not match in jessie.
Tom Gottfried <tom@intevation.de>
parents: 750
diff changeset
50
888
27febad6fb84 Use correctly working Postgres-JDBC-driver.
Tom Gottfried <tom@intevation.de>
parents: 852
diff changeset
51 RUN curl https://jdbc.postgresql.org/download/postgresql-9.4-1200.jdbc4.jar >\
27febad6fb84 Use correctly working Postgres-JDBC-driver.
Tom Gottfried <tom@intevation.de>
parents: 852
diff changeset
52 $JBOSS_HOME/modules/org/postgres/main/postgresql.jar
761
4f9b5500541c Package versions of Postgres and Postgres-JDBC do not match in jessie.
Tom Gottfried <tom@intevation.de>
parents: 750
diff changeset
53
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
54 RUN ln -s /usr/share/java/postgis-jdbc-2.1.4.jar \
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
55 $JBOSS_HOME/modules/org/postgres/main/
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
56 RUN ln -s /usr/share/java/jts-1.11.jar \
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
57 $JBOSS_HOME/modules/system/layers/base/org/hibernate/main/
763
8cf21cd01287 Symlinks allow editing module config in place.
Tom Gottfried <tom@intevation.de>
parents: 761
diff changeset
58
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
59 RUN curl \
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
60 http://www.hibernatespatial.org/repository/org/hibernate/hibernate-spatial/4.3/hibernate-spatial-4.3.jar > \
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
61 $JBOSS_HOME/modules/system/layers/base/org/hibernate/main/hibernate-spatial-4.3.jar
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
62
763
8cf21cd01287 Symlinks allow editing module config in place.
Tom Gottfried <tom@intevation.de>
parents: 761
diff changeset
63 RUN ln -s $PWD/wildfly/postgres-module.xml \
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
64 $JBOSS_HOME/modules/org/postgres/main/module.xml
763
8cf21cd01287 Symlinks allow editing module config in place.
Tom Gottfried <tom@intevation.de>
parents: 761
diff changeset
65 RUN ln -fs $PWD/wildfly/hibernate-module.xml \
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
66 $JBOSS_HOME/modules/system/layers/base/org/hibernate/main/module.xml
1234
28a39466e4eb Enable deserialization of geometries with DBUnit.
Tom Gottfried <tom@intevation.de>
parents: 1202
diff changeset
67 # The jdbcadapters need to know the postgres module to cope with PGeometry
28a39466e4eb Enable deserialization of geometries with DBUnit.
Tom Gottfried <tom@intevation.de>
parents: 1202
diff changeset
68 RUN sed -i '/<\/dependencies>/i <module name="org.postgres"/>' \
28a39466e4eb Enable deserialization of geometries with DBUnit.
Tom Gottfried <tom@intevation.de>
parents: 1202
diff changeset
69 $JBOSS_HOME/modules/system/layers/base/org/jboss/ironjacamar/jdbcadapters/main/module.xml
783
c19bd80d1f62 Fix setting symlink (file exists).
Tom Gottfried <tom@intevation.de>
parents: 781
diff changeset
70 RUN ln -fs $PWD/wildfly/standalone.conf $JBOSS_HOME/bin/
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
71
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
72 RUN wildfly/execute.sh
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
73
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
74 RUN rm $JBOSS_HOME/standalone/configuration/standalone_xml_history/current/*
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
75
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
76 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
77 # Build and deploy LADA-server
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
78 #
1248
3f7c22b0b888 Advance version.
Tom Gottfried <tom@intevation.de>
parents: 1246
diff changeset
79 ENV LADA_VERSION 2.5-SNAPSHOT
1202
61106ead36fc Separate build/deploy and javadoc.
Tom Gottfried <tom@intevation.de>
parents: 1141
diff changeset
80 RUN mvn clean compile package && \
61106ead36fc Separate build/deploy and javadoc.
Tom Gottfried <tom@intevation.de>
parents: 1141
diff changeset
81 mv target/lada-server-$LADA_VERSION.war \
61106ead36fc Separate build/deploy and javadoc.
Tom Gottfried <tom@intevation.de>
parents: 1141
diff changeset
82 $JBOSS_HOME/standalone/deployments && \
61106ead36fc Separate build/deploy and javadoc.
Tom Gottfried <tom@intevation.de>
parents: 1141
diff changeset
83 touch $JBOSS_HOME/standalone/deployments/lada-server-$LADA_VERSION.war.dodeploy
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
84
852
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
85 ##configure lighttpd for apidoc
1202
61106ead36fc Separate build/deploy and javadoc.
Tom Gottfried <tom@intevation.de>
parents: 1141
diff changeset
86 RUN mvn javadoc:javadoc
852
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
87 RUN sed -i 's|server.document-root = "/var/www/html"|server.document-root = "/usr/src/lada-server/target/site/apidocs"|' /etc/lighttpd/lighttpd.conf
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
88
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
89 ## Start the webserver manually, when the container is started
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
90 # service lighttpd start
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
91
748
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
92 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
93 # This will boot WildFly in the standalone mode and bind to all interface
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
94 #
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
95 CMD ["/opt/jboss/wildfly/bin/standalone.sh", "-b", "0.0.0.0", \
75e87b7d37c0 Add dockerised setup for running the server.
Tom Gottfried <tom@intevation.de>
parents:
diff changeset
96 "-bmanagement=0.0.0.0"]
852
2f467a014619 Added lighttpd to Dockerfile in order to serve apidoc is necessary
Dustin Demuth <dustin@intevation.de>
parents: 783
diff changeset
97
This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)