|
1 | 1 | FROM killbill/killbill:0.20.11 |
2 | 2 | MAINTAINER Kill Bill core team <killbilling-users@googlegroups.com> |
3 | 3 |
|
4 | | -RUN kpm uninstall kpm --destination=/var/lib/killbill/bundles |
| 4 | +# Install envsubst (see killbill.sh) |
| 5 | +USER root |
| 6 | +ENV DEBIAN_FRONTEND noninteractive |
| 7 | +RUN apt-get update && \ |
| 8 | + apt-get install -y \ |
| 9 | + gettext-base && \ |
| 10 | + rm -rf /var/lib/apt/lists/* |
| 11 | +ENV DEBIAN_FRONTEND teletype |
| 12 | +USER tomcat |
5 | 13 |
|
6 | | -ENV TOMCAT_JAVA_XMS 1024m |
7 | | -ENV TOMCAT_JAVA_XMX 1792m |
8 | | -ENV TOMCAT_JAVA_NEW_SIZE 100m |
9 | | -ENV TOMCAT_JAVA_MAX_NEW_SIZE 768m |
| 14 | +# Disable Ansible (requires /dev/shm) |
| 15 | +ENV KPM_INSTALL_CMD /bin/true |
| 16 | + |
| 17 | +# No JRuby plugin and no OSGI bundle, to keep memory usage low |
| 18 | +RUN kpm uninstall kpm --destination=$KILLBILL_INSTALL_DIR/bundles |
| 19 | +RUN rm -f $KILLBILL_INSTALL_DIR/bundles/platform/* |
| 20 | + |
| 21 | +# Pre-expand the Kill Bill WAR |
| 22 | +RUN cd $TOMCAT_HOME/webapps && \ |
| 23 | + mkdir ROOT && \ |
| 24 | + cd ROOT && \ |
| 25 | + jar -xvf ../ROOT.war && \ |
| 26 | + touch -r ../ROOT.war META-INF/war-tracker && \ |
| 27 | + cd - && \ |
| 28 | + rm -f ROOT.war && \ |
| 29 | + cd - |
| 30 | + |
| 31 | +# TODO |
| 32 | +# * The SocketFactory jdbc driver doesn't seem to be working on Cloud Run |
| 33 | +# * The Logback Stackdriver LoggingAppender isn't reliable |
| 34 | +# |
| 35 | +# Custom libraries |
| 36 | +#COPY lib/*.jar $TOMCAT_HOME/webapps/ROOT/WEB-INF/lib/ |
| 37 | +# Hack for now... |
| 38 | +#RUN cd $TOMCAT_HOME/webapps/ROOT/WEB-INF/lib/ && \ |
| 39 | +# rm -f animal-sniffer-annotations-1.14.jar annotations-3.0.1u2.jar asm-5.0.3.jar commons-codec-1.9.jar commons-lang3-3.2.1.jar error_prone_annotations-2.1.3.jar google-api-services-sqladmin-v1beta4-rev20190510-1.28.0.jar j2objc-annotations-1.1.jar jackson-core-2.9.6.jar && \ |
| 40 | +# cd - |
| 41 | + |
| 42 | +# Add Kaui |
| 43 | +COPY webapps/kaui.war $TOMCAT_HOME/webapps/kaui.war |
| 44 | + |
| 45 | +# Pre-expand the Kaui WAR |
| 46 | +RUN cd $TOMCAT_HOME/webapps && \ |
| 47 | + mkdir kaui && \ |
| 48 | + cd kaui && \ |
| 49 | + jar -xvf ../kaui.war && \ |
| 50 | + touch -r ../kaui.war META-INF/war-tracker && \ |
| 51 | + cd - && \ |
| 52 | + rm -f kaui.war && \ |
| 53 | + cd - |
| 54 | + |
| 55 | +# TODO See above |
| 56 | +# Custom libraries |
| 57 | +#COPY lib/*.jar $TOMCAT_HOME/webapps/kaui/WEB-INF/lib/ |
| 58 | +# Hack for now... |
| 59 | +#RUN cd $TOMCAT_HOME/webapps/kaui/WEB-INF/lib/ && \ |
| 60 | +# rm -f animal-sniffer-annotations-1.14.jar annotations-3.0.1u2.jar asm-5.0.3.jar commons-codec-1.9.jar commons-lang3-3.2.1.jar error_prone_annotations-2.1.3.jar google-api-services-sqladmin-v1beta4-rev20190510-1.28.0.jar j2objc-annotations-1.1.jar jackson-core-2.9.6.jar && \ |
| 61 | +# cd - |
| 62 | + |
| 63 | +# Note that classic configuration via environment variables won't work since Ansible isn't invoked |
| 64 | +COPY webapp-context.xml $TOMCAT_HOME/webapps/ROOT/META-INF/context.xml |
| 65 | +COPY webapp-context.xml $TOMCAT_HOME/webapps/kaui/META-INF/context.xml |
| 66 | +COPY context.xml $TOMCAT_HOME/conf/context.xml |
| 67 | +COPY server.xml $TOMCAT_HOME/conf/server.xml |
| 68 | +COPY setenv.sh $TOMCAT_HOME/bin/setenv.sh |
| 69 | +COPY logback.xml $KILLBILL_INSTALL_DIR/logback.xml |
| 70 | +COPY killbill.properties.template $KILLBILL_INSTALL_DIR/killbill.properties.template |
| 71 | +COPY killbill.sh $KILLBILL_INSTALL_DIR |
0 commit comments