40 lines
1.2 KiB
Plaintext
40 lines
1.2 KiB
Plaintext
IMAGE opendatakit
|
|
LAYER shared/alpine
|
|
LAYER shared/java
|
|
LAYER shared/tomcat
|
|
LAYER opendatakit/opendatakit
|
|
|
|
RUN EOF
|
|
# Install build dependencies
|
|
apk --no-cache add --virtual .deps git git-lfs openjdk8
|
|
|
|
# Clone ODK aggregate
|
|
git clone --depth 1 https://github.com/opendatakit/aggregate.git /srv/opendatakit
|
|
|
|
# Compile Java web archive
|
|
cd /srv/opendatakit
|
|
cp gradle.properties.example gradle.properties
|
|
./gradlew war
|
|
|
|
# Deploy web archive
|
|
mkdir /srv/tomcat/webapps/ROOT
|
|
unzip build/libs/aggregate-*.war -d /srv/tomcat/webapps/ROOT
|
|
|
|
# Create OS user
|
|
addgroup -S -g 8015 odk
|
|
adduser -S -u 8015 -h /srv/tomcat -s /bin/false -g odk -G odk odk
|
|
chown -R odk:odk /srv/tomcat/conf /srv/tomcat/logs /srv/tomcat/temp /srv/tomcat/webapps /srv/tomcat/work
|
|
|
|
# Cleanup
|
|
apk --no-cache del .deps
|
|
rm -rf /root/.gradle /root/.java /srv/opendatakit
|
|
EOF
|
|
|
|
MOUNT /srv/opendatakit/conf/server.xml srv/tomcat/conf/server.xml
|
|
MOUNT /srv/opendatakit/conf/jdbc.properties srv/tomcat/webapps/ROOT/WEB-INF/classes/jdbc.properties
|
|
MOUNT /srv/opendatakit/conf/security.properties srv/tomcat/webapps/ROOT/WEB-INF/classes/security.properties
|
|
|
|
USER 8015 8015
|
|
WORKDIR /srv/tomcat
|
|
CMD /usr/bin/catalina.sh run
|