Changes for page XWiki (Helm)

Last modified by Itzhak Daniel on 2024/04/29 16:35

From version 10.1
edited by Itzhak Daniel
on 2024/04/28 21:18
Change comment: Uploaded new attachment "Dockerfile", version 1.1
To version 9.1
edited by Itzhak Daniel
on 2024/04/28 21:16
Change comment: There is no comment for this version

Summary

Details

Dockerfile
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.itzhak
Size
... ... @@ -1,1 +1,0 @@
1 -6.6 KB
Content
... ... @@ -1,122 +1,0 @@
1 -# ---------------------------------------------------------------------------
2 -# See the NOTICE file distributed with this work for additional
3 -# information regarding copyright ownership.
4 -#
5 -# This is free software; you can redistribute it and/or modify it
6 -# under the terms of the GNU Lesser General Public License as
7 -# published by the Free Software Foundation; either version 2.1 of
8 -# the License, or (at your option) any later version.
9 -#
10 -# This software is distributed in the hope that it will be useful,
11 -# but WITHOUT ANY WARRANTY; without even the implied warranty of
12 -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 -# Lesser General Public License for more details.
14 -#
15 -# You should have received a copy of the GNU Lesser General Public
16 -# License along with this software; if not, write to the Free
17 -# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
18 -# 02110-1301 USA, or see the FSF site: http://www.fsf.org.
19 -# ---------------------------------------------------------------------------
20 -FROM tomcat:9-jre17
21 -
22 -# ____ ____ ____ ____ _ __ _
23 -# |_ _||_ _||_ _| |_ _|(_) [ | _ (_)
24 -# \ \ / / \ \ /\ / / __ | | / ] __
25 -# > `' < \ \/ \/ / [ | | '' < [ |
26 -# _/ /'`\ \_ \ /\ / | | | |`\ \ | |
27 -# |____||____| \/ \/ [___][__| \_][___]
28 -
29 -LABEL org.opencontainers.image.authors='XWiki Development Team <committers@xwiki.org>'
30 -LABEL org.opencontainers.image.url='https://hub.docker.com/_/xwiki'
31 -LABEL org.opencontainers.image.documentation='https://hub.docker.com/_/xwiki'
32 -LABEL org.opencontainers.image.source='https://github.com/xwiki/xwiki-docker.git'
33 -LABEL org.opencontainers.image.vendor='xwiki.org'
34 -LABEL org.opencontainers.image.licenses='LGPL-2.1'
35 -
36 -# Note: when using docker-compose, the ENV values below are overridden from the .env file.
37 -
38 -# Install LibreOffice + other tools
39 -# Note that procps is required to get ps which is used by JODConverter to start LibreOffice
40 -RUN apt-get update && \
41 - apt-get --no-install-recommends -y install \
42 - curl \
43 - libreoffice \
44 - unzip \
45 - procps && \
46 - rm -rf /var/lib/apt/lists/*
47 -
48 -# Install XWiki as the ROOT webapp context in Tomcat
49 -# Create the Tomcat temporary directory
50 -# Configure the XWiki permanent directory
51 -ENV XWIKI_VERSION="16.2.0"
52 -ENV XWIKI_URL_PREFIX "https://maven.xwiki.org/releases/org/xwiki/platform/xwiki-platform-distribution-war/${XWIKI_VERSION}"
53 -ENV XWIKI_DOWNLOAD_SHA256 7d355ae1c88691b19af9658e3f042083d57c08d5e52e1ade25536536ad72fb3f
54 -RUN rm -rf /usr/local/tomcat/webapps/* && \
55 - mkdir -p /usr/local/tomcat/temp && \
56 - mkdir -p /usr/local/xwiki/data && \
57 - curl -fSL "${XWIKI_URL_PREFIX}/xwiki-platform-distribution-war-${XWIKI_VERSION}.war" -o xwiki.war && \
58 - echo "$XWIKI_DOWNLOAD_SHA256 xwiki.war" | sha256sum -c - && \
59 - unzip -d /usr/local/tomcat/webapps/ROOT xwiki.war && \
60 - rm -f xwiki.war
61 -
62 -# Copy the JDBC driver in the XWiki webapp
63 -# We take the database driver version from the Maven Central repository since we want to control the version
64 -# used and have it being consistent with what is tested in the CI.
65 -ENV MYSQL_JDBC_VERSION="8.3.0"
66 -ENV MYSQL_JDBC_SHA256="94e7fa815370cdcefed915db7f53f88445fac110f8c3818392b992ec9ee6d295"
67 -ENV MYSQL_JDBC_PREFIX="https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/${MYSQL_JDBC_VERSION}"
68 -ENV MYSQL_JDBC_ARTIFACT="mysql-connector-j-${MYSQL_JDBC_VERSION}.jar"
69 -ENV MYSQL_JDBC_TARGET="/usr/local/tomcat/webapps/ROOT/WEB-INF/lib/${MYSQL_JDBC_ARTIFACT}"
70 -RUN curl -fSL "${MYSQL_JDBC_PREFIX}/${MYSQL_JDBC_ARTIFACT}" -o $MYSQL_JDBC_TARGET && \
71 - echo "$MYSQL_JDBC_SHA256 $MYSQL_JDBC_TARGET" | sha256sum -c -
72 -
73 -# Configure Tomcat. For example set the memory for the Tomcat JVM since the default value is too small for XWiki
74 -COPY tomcat/setenv.sh /usr/local/tomcat/bin/
75 -
76 -# Setup the XWiki Hibernate configuration
77 -COPY xwiki/hibernate.cfg.xml /usr/local/tomcat/webapps/ROOT/WEB-INF/hibernate.cfg.xml
78 -
79 -# Set a specific distribution id in XWiki for this docker packaging.
80 -RUN sed -i 's/<id>org.xwiki.platform:xwiki-platform-distribution-war/<id>org.xwiki.platform:xwiki-platform-distribution-docker/' \
81 - /usr/local/tomcat/webapps/ROOT/META-INF/extension.xed
82 -
83 -# Add scripts required to make changes to XWiki configuration files at execution time
84 -# Note: we don't run CHMOD since 1) it's not required since the executabe bit is already set in git and 2) running
85 -# CHMOD after a COPY will sometimes fail, depending on different host-specific factors (especially on AUFS).
86 -COPY xwiki/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
87 -
88 -# Make the XWiki directory (the permanent directory is included in it) persist on the host (so that it's not recreated
89 -# across runs)
90 -VOLUME /usr/local/xwiki
91 -
92 -# Added by Behemoth LTD - Apr 28th, 2024
93 -# Fixing permissions error when using non-root user/group (30001:30001) to start the app
94 -RUN chown -R 30001:30001 /usr/local/tomcat/webapps
95 -USER 30001:30001
96 -
97 -# At this point the image is done and what remains below are the runtime configuration used by the user to configure
98 -# the container that will be created out of the image. Namely the user can override some environment variables with
99 -# docker run -e "var1=val1" -e "var2=val2" ...
100 -# The supported environment variables that can be overridden are:
101 -# - DB_USER: the name of the user configured for XWiki in the DB. Default is "xwiki". This is used to configure
102 -# xwiki's hibernate.cfg.xml file.
103 -# - DB_PASSWORD: the password for the user configured for XWiki in the DB. Default is "xwiki". This is used to
104 -# configure xwiki's hibernate.cfg.xml file.
105 -# - DB_DATABASE: the name of the database to use. Default is "xwiki". This is used to configure xwiki's
106 -# hibernate.cfg.xml file.
107 -# - DB_HOST: The name of the host (or docker container) containing the database. Default is "db". This is used to
108 -# configure xwiki's hibernate.cfg.xml file.
109 -# - CONTEXT_PATH: The name of the context path under which XWiki will be deployed in Tomcat. If not specified then it'll
110 -# be deployed as ROOT.
111 -# - JDBC_PARAMS: Replaces the default JDBC parameters with the passed ones.
112 -
113 -# Example:
114 -# docker run -it -e "DB_USER=xwiki" -e "DB_PASSWORD=xwiki" <imagename>
115 -
116 -# Starts XWiki by starting Tomcat. All options passed to "docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]"
117 -# are also passed to docker-entrypoint.sh. If "xwiki" is passed then XWiki will be configured the first time the
118 -# container executes and Tomcat will be started. If some other parameter is passed then it'll be executed to comply
119 -# with best practices defined at https://github.com/docker-library/official-images#consistency.
120 -ENTRYPOINT ["docker-entrypoint.sh"]
121 -CMD ["xwiki"]
122 -