FROM openjdk:21-bullseye
  
LABEL maintainer="waringid <waringid@gmail.com>" version="9.2.0"
  
ARG ATLASSIAN_PRODUCTION=confluence
ARG APP_NAME=confluence
ARG APP_VERSION=9.5.1
ARG AGENT_VERSION=1.3.3
ARG MYSQL_DRIVER_VERSION=8.0.28
  
ENV CONFLUENCE_HOME=/var/confluence \
    CONFLUENCE_INSTALL=/opt/confluence \
    JVM_MINIMUM_MEMORY=1g \
    JVM_MAXIMUM_MEMORY=3g \
    JVM_CODE_CACHE_ARGS='-XX:InitialCodeCacheSize=1g -XX:ReservedCodeCacheSize=2g' \
    AGENT_PATH=/var/agent \
    AGENT_FILENAME=atlassian-agent.jar \
    LIB_PATH=/confluence/WEB-INF/lib
  
ENV JAVA_OPTS="-javaagent:${AGENT_PATH}/${AGENT_FILENAME} ${JAVA_OPTS}"
 
COPY ./deps/${AGENT_FILENAME} ${AGENT_PATH}/
COPY ./deps/atlassian-${ATLASSIAN_PRODUCTION}-${APP_VERSION}.tar.gz /tmp
COPY ./deps/OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz /tmp
COPY ./deps/mysql-connector-java-${MYSQL_DRIVER_VERSION}.jar  ${CONFLUENCE_INSTALL}/lib/
 
RUN openssl s_client -connect marketplace.atlassian.com:443 < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/marketplace.atlassian.com.crt \
&& openssl s_client -connect marketplace-cdn.atlassian.com:443 < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/marketplace-cdn.atlassian.com.crt \
&& openssl s_client -connect api.media.atlassian.com:443 < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > /tmp/api.atlassian.com.crt \
&& keytool -importcert -alias marketplace.atlassian.com -cacerts -storepass changeit -noprompt -file /tmp/marketplace.atlassian.com.crt \
&& keytool -importcert -alias marketplace-cdn.atlassian.com -cacerts -storepass changeit -noprompt -file /tmp/marketplace-cdn.atlassian.com.crt \
&& keytool -importcert -alias api.media.atlassian.com -cacerts -storepass changeit -noprompt -file /tmp/api.atlassian.com.crt 

RUN  sed -i -e "s/deb.debian.org/mirrors.tuna.tsinghua.edu.cn/" /etc/apt/sources.list \
&& sed -i -e "s/security.debian.org/mirrors.tuna.tsinghua.edu.cn/" /etc/apt/sources.list \
&& apt -y update \
&& apt -y install graphviz fontconfig xfonts-utils
  
RUN mkdir -p ${CONFLUENCE_INSTALL} ${CONFLUENCE_HOME} ${AGENT_PATH} ${CONFLUENCE_INSTALL}${LIB_PATH}  /usr/share/fonts/simsun \
&& tar zxf /tmp/atlassian-${APP_NAME}-${APP_VERSION}.tar.gz  -C /opt/confluence/ --strip-components 1 \
&& rm -rf /usr/local/openjdk-21/* \
&& tar zxvf /tmp/OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz -C /usr/local/openjdk-21/ --strip-components 1 \
&& rm -rf /tmp/* \
&& echo "confluence.home = ${CONFLUENCE_HOME}" > ${CONFLUENCE_INSTALL}/${ATLASSIAN_PRODUCTION}/WEB-INF/classes/confluence-init.properties 

COPY ./deps/simsun.ttc /usr/share/fonts/simsun/
RUN cd /usr/share/fonts/simsun/ \
&& mkfontscale \
&& mkfontdir  

#RUN  rm -rf /usr/local/openjdk-21/* \
#&& tar zxvf /tmp/OpenJDK21U-jdk_x64_linux_hotspot_21.0.7_6.tar.gz -C /usr/local/openjdk-21/ --strip-components 1 \
#&& rm -rf /tmp/* 


WORKDIR $CONFLUENCE_INSTALL
EXPOSE 8090
  
ENTRYPOINT ["/opt/confluence/bin/start-confluence.sh", "-fg"]
