فهرست منبع

Merge pull request #1 from Febbweiss/alpine

Optimization :
digitalLumberjack 9 سال پیش
والد
کامیت
3380efa377
2فایلهای تغییر یافته به همراه44 افزوده شده و 17 حذف شده
  1. 30 12
      Dockerfile
  2. 14 5
      start.sh

+ 30 - 12
Dockerfile

@@ -1,20 +1,38 @@
-FROM jetty:9.3.7-jre8
+FROM frolvlad/alpine-oraclejdk8
+
+ARG XWIKI_VERSION=8.0
+ARG JETTY_MAJOR=stable-9
+ARG JETTY_VERSION=9.3.8.v20160314
+ENV JETTY_BASE /usr/local/jetty
 
 ENV MYSQL_USER xwiki
 ENV MYSQL_PASSWORD dbpass
 ENV MYSQL_HOST db
 ENV WIKI_CONTEXT xwiki
-ENV ADMIN_EMAIL xwiki@host.com
-ENV SMTP_HOST mail.host.com
-ENV SMTP_PROTOCOL tls
-ENV SMTP_LOGIN xwiki
-ENV SMTP_PASSWORD xwiki
-
-RUN curl http://download.forge.ow2.org/xwiki/xwiki-enterprise-web-8.0-milestone-2.war --output ${JETTY_BASE}/xwiki8.war
-RUN curl http://download.forge.ow2.org/xwiki/xwiki-enterprise-ui-mainwiki-all-8.0-milestone-2.xar --output ${JETTY_BASE}/xwiki8.xar
-RUN mkdir -p ${JETTY_BASE}/webapps/ROOT/
-RUN unzip ${JETTY_BASE}/xwiki8.war -d ${JETTY_BASE}/webapps/ROOT/
-RUN curl http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar --output ${JETTY_BASE}/webapps/ROOT/WEB-INF/lib/mysql-connector-java-5.jar
+ENV ADMIN_EMAIL ''
+ENV SMTP_HOST ''
+ENV SMTP_PROTOCOL ''
+ENV SMTP_LOGIN ''
+ENV SMTP_PASSWORD ''
+
+RUN apk update && \
+  apk add --no-cache libreoffice curl && \
+  cd /usr/local && \
+  curl -sSL "http://eclipse.org/downloads/download.php?file=/jetty/${JETTY_MAJOR}/dist/jetty-distribution-${JETTY_VERSION}.tar.gz&r=1" -o jetty.tar.gz && \
+  tar -xzf jetty.tar.gz && \
+  ln -s jetty-distribution-${JETTY_VERSION} jetty && \
+  rm jetty.tar.gz
+
+
+RUN curl -sL http://download.forge.ow2.org/xwiki/xwiki-enterprise-web-${XWIKI_VERSION}.war --output ${JETTY_BASE}/xwiki${XWIKI_VERSION}.war && \
+  curl -sL http://download.forge.ow2.org/xwiki/xwiki-enterprise-ui-mainwiki-all-${XWIKI_VERSION}.xar --output ${JETTY_BASE}/xwiki${XWIKI_VERSION}.xar && \
+  mkdir -p ${JETTY_BASE}/webapps/ROOT/ && \
+  unzip -q ${JETTY_BASE}/xwiki${XWIKI_VERSION}.war -d ${JETTY_BASE}/webapps/ROOT/ && \
+  rm ${JETTY_BASE}/xwiki${XWIKI_VERSION}.war && \
+  curl -sL http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar --output ${JETTY_BASE}/webapps/ROOT/WEB-INF/lib/mysql-connector-java-5.jar
+
+
+RUN rm -rf /tmp/* /var/tmp/* /var/cache/apk/* /usr/share/doc/*
 
 ADD ./start.sh /usr/local/bin/start.sh
 ADD ./config/hibernate.cfg.xml ${JETTY_BASE}/webapps/ROOT/WEB-INF/

+ 14 - 5
start.sh

@@ -1,6 +1,6 @@
-#!/bin/bash
+#!/bin/sh
 
-if [ "$WIKI_CONTEXT" != "" ];then 
+if [ "$WIKI_CONTEXT" != "" ];then
   if [ ! -f "${JETTY_BASE}/webapps/${WIKI_CONTEXT}" ];then
     mv ${JETTY_BASE}/webapps/ROOT ${JETTY_BASE}/webapps/${WIKI_CONTEXT}
     #curl http://download.forge.ow2.org/xwiki/xwiki-enterprise-web-8.0-milestone-2.war --output webapps/xwiki8.war
@@ -8,7 +8,7 @@ if [ "$WIKI_CONTEXT" != "" ];then
     sed -i "s|MYSQL_USER|${MYSQL_USER}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/hibernate.cfg.xml
     sed -i "s|MYSQL_PASSWORD|${MYSQL_PASSWORD}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/hibernate.cfg.xml
     if [[ "${SMTP_HOST}" != "" ]]; then
-      sed -i "s|.*mail\.sender\.host = .*|mail.sender.host = ${SMTP_HOST}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties 
+      sed -i "s|.*mail\.sender\.host = .*|mail.sender.host = ${SMTP_HOST}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
     fi
     if [[ "${SMTP_LOGIN}" != "" ]]; then
       sed -i "s|.*mail\.sender\.username = .*|mail.sender.username = ${SMTP_LOGIN}|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
@@ -27,8 +27,17 @@ if [ "$WIKI_CONTEXT" != "" ];then
     else
       sed -i "s|.*mail\.sender\.port = .*|mail.sender.port = 25|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
     fi
+
+    set XWIKI_OPTS=%XWIKI_OPTS% -Doffice.path=/usr/lib/libreoffice/
+
+    sed -i "s|.*openoffice.serverType=0|openoffice.serverType=0|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
+    sed -i "s|.*openoffice.autoStart=false|openoffice.autoStart=true|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
+    sed -i "s|.*openoffice.homePath=/opt/openoffice.org3/|openoffice.homePath=/usr/lib/libreoffice/|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
+    sed -i "s|.*openoffice.taskExecutionTimeout=30000|openoffice.taskExecutionTimeout=120000|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
+
+    sed -i "s|.*environment.permanentDirectory=/var/local/xwiki/|environment.permanentDirectory=/var/local/xwiki/|" ${JETTY_BASE}/webapps/${WIKI_CONTEXT}/WEB-INF/xwiki.properties
   fi
 fi
 
-java -jar "$JETTY_HOME/start.jar" 
-
+cd ${JETTY_BASE}
+java -jar start.jar