FROM maven:3-jdk-7 AS build ENV BUILD_UID=1000 ENV BUILD=/src ENV MAVEN_HOME=/var/maven RUN mkdir -p $MAVEN_HOME && chown $BUILD_UID $MAVEN_HOME ADD --chown=$BUILD_UID:$BUILD_UID .. $BUILD USER $BUILD_UID WORKDIR $BUILD RUN --mount=type=cache,target=$MAVEN_HOME/.m2,uid=$BUILD_UID \ mvn -e -Duser.home=$MAVEN_HOME package FROM openjdk:7u211-jre-alpine AS backend RUN <<EOF set -e mkdir -p /app chown 1000 /app EOF COPY --from=build /src/legacyworlds-server/legacyworlds-server-main/target/*.jar /app/server.jar COPY --from=build /src/legacyworlds-server/legacyworlds-server-main/target/lib /app/lib ADD docker/backend-entrypoint.sh /app/entrypoint.sh ENTRYPOINT ["/app/entrypoint.sh"] CMD ["server"] FROM tomcat:6.0-jre7 AS tomcat-base RUN <<EOF rm -rf /usr/local/tomcat/webapps/* adduser --system --no-create-home \ --ingroup www-data \ --shell /bin/false \ --home $CATALINA_HOME \ tomcat chown -R tomcat: /usr/local/tomcat EOF USER tomcat FROM tomcat-base AS lwmain COPY --from=build \ /src/legacyworlds-web/legacyworlds-web-main/target/*.war \ $CATALINA_HOME/webapps/ROOT.war FROM tomcat-base AS lwadmin COPY --from=build \ /src/legacyworlds-web/legacyworlds-web-main/target/*.war \ $CATALINA_HOME/webapps/ROOT.war