Merge branch 'develop' into master

Signed-off-by: STAM <stamepicmorg@users.noreply.github.com>
This commit is contained in:
STAM 2025-02-10 15:42:47 +03:00 committed by GitHub
commit 3e6910503a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
13 changed files with 418 additions and 2 deletions

View File

@ -2282,7 +2282,6 @@ ecosystem-jira-9-lts-images:
cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.10 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.11 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.12 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.13 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.14 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.15 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/atlassian/jira/9/9.4.16 && pwd && make build && make deploy
@ -2408,4 +2407,9 @@ bundle-p4:
@echo "======================================="
make ecosystem-perforce-base-images
make ecosystem-perforce-proxy-images
bundle-python:
@echo "=============================================="
@echo "===== Building EpicMorg Python images ====="
@echo "=============================================="
cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/python/3.13 && pwd && make build && make deploy

View File

@ -0,0 +1,48 @@
FROM epicmorg/debian:bookworm-jdk11
LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
ARG RELEASE=9.2.0
ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${RELEASE}.tar.gz
##################################################################
# Setup
##################################################################
ENV RUN_USER daemon
ENV RUN_GROUP daemon
# https://confluence.atlassian.com/doc/confluence-home-and-other-important-directories-590259707.html
ENV CONFLUENCE_HOME /var/atlassian/application-data/confluence
ENV CONFLUENCE_INSTALL_DIR /opt/atlassian/confluence
VOLUME ["${CONFLUENCE_HOME}"]
WORKDIR $CONFLUENCE_HOME
# Expose HTTP and Synchrony ports
EXPOSE 8090
EXPOSE 8091
##################################################################
# Installing
##################################################################
RUN mkdir -p ${CONFLUENCE_INSTALL_DIR} \
&& curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$CONFLUENCE_INSTALL_DIR" \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${CONFLUENCE_INSTALL_DIR}/ \
&& sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} \${JVM_SUPPORT_RECOMMENDED_ARGS} -Dconfluence.home=\${CONFLUENCE_HOME}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/port="8090"/port="8090" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${CONFLUENCE_INSTALL_DIR}/conf/server.xml && \
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb
RUN updatedb
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh", "-fg"]
ENTRYPOINT ["/usr/bin/tini", "--"]

View File

@ -0,0 +1,49 @@
FROM epicmorg/debian:bookworm-jdk11
LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
ARG RELEASE=9.2.0
ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${RELEASE}.tar.gz
##################################################################
# Setup
##################################################################
ENV RUN_USER daemon
ENV RUN_GROUP daemon
# https://confluence.atlassian.com/doc/confluence-home-and-other-important-directories-590259707.html
ENV CONFLUENCE_HOME /var/atlassian/application-data/confluence
ENV CONFLUENCE_INSTALL_DIR /opt/atlassian/confluence
VOLUME ["${CONFLUENCE_HOME}"]
WORKDIR $CONFLUENCE_HOME
# Expose HTTP and Synchrony ports
EXPOSE 8090
EXPOSE 8091
##################################################################
# Installing
##################################################################
RUN mkdir -p ${CONFLUENCE_INSTALL_DIR} \
&& curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$CONFLUENCE_INSTALL_DIR" \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${CONFLUENCE_INSTALL_DIR}/ \
&& sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} \${JVM_SUPPORT_RECOMMENDED_ARGS} -Dconfluence.home=\${CONFLUENCE_HOME}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/port="8090"/port="8090" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${CONFLUENCE_INSTALL_DIR}/conf/server.xml && \
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb
RUN updatedb
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh", "-fg"]
ENTRYPOINT ["/usr/bin/tini", "--"]

View File

@ -0,0 +1,49 @@
FROM epicmorg/debian:bookworm-jdk17
LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
ARG RELEASE=9.2.0
ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${RELEASE}.tar.gz
##################################################################
# Setup
##################################################################
ENV RUN_USER daemon
ENV RUN_GROUP daemon
# https://confluence.atlassian.com/doc/confluence-home-and-other-important-directories-590259707.html
ENV CONFLUENCE_HOME /var/atlassian/application-data/confluence
ENV CONFLUENCE_INSTALL_DIR /opt/atlassian/confluence
VOLUME ["${CONFLUENCE_HOME}"]
WORKDIR $CONFLUENCE_HOME
# Expose HTTP and Synchrony ports
EXPOSE 8090
EXPOSE 8091
##################################################################
# Installing
##################################################################
RUN mkdir -p ${CONFLUENCE_INSTALL_DIR} \
&& curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$CONFLUENCE_INSTALL_DIR" \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${CONFLUENCE_INSTALL_DIR}/ \
&& sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} \${JVM_SUPPORT_RECOMMENDED_ARGS} -Dconfluence.home=\${CONFLUENCE_HOME}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/port="8090"/port="8090" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${CONFLUENCE_INSTALL_DIR}/conf/server.xml && \
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb
RUN updatedb
COPY entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
CMD ["/entrypoint.sh", "-fg"]
ENTRYPOINT ["/usr/bin/tini", "--"]

View File

@ -0,0 +1,36 @@
PIP_BREAK_SYSTEM_PACKAGES=1
all: app
app:
make build
make deploy
make clean
build:
kaniko-wrapper --version
dry:
make dry-run
test:
make dry-run
dry-run:
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run
build-compose:
docker-compose build --compress --parallel --progress plain
deploy:
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug
deploy-compose:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,16 @@
#version: '3'
services:
app:
image: "epicmorg/confluence:9.2.0"
build:
context: .
app-jdk11:
image: "epicmorg/confluence:9.2.0-jdk11"
build:
context: .
dockerfile: Dockerfile.jdk11
app-jdk17:
image: "epicmorg/confluence:9.2.0-jdk17"
build:
context: .
dockerfile: Dockerfile.jdk17

View File

@ -0,0 +1,39 @@
#!/bin/bash
set -euo pipefail
export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::")
export JRE_HOME="$JAVA_HOME/jre"
export JAVA_BINARY="$JRE_HOME/bin/java"
export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}')
# Setup Catalina Opts
: ${CATALINA_CONNECTOR_PROXYNAME:=}
: ${CATALINA_CONNECTOR_PROXYPORT:=}
: ${CATALINA_CONNECTOR_SCHEME:=http}
: ${CATALINA_CONNECTOR_SECURE:=false}
: ${CATALINA_OPTS:=}
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}"
CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}"
export CATALINA_OPTS
# Start Confluence as the correct user
if [ "${UID}" -eq 0 ]; then
echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}"
PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${CONFLUENCE_HOME}")
EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700
if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then
chmod -R 700 "${CONFLUENCE_HOME}" &&
chown -R "${RUN_USER}:${RUN_GROUP}" "${CONFLUENCE_HOME}"
fi
# Now drop privileges
exec su -s /bin/bash "${RUN_USER}" -c "$CONFLUENCE_INSTALL_DIR/bin/start-confluence.sh $@"
else
exec "$CONFLUENCE_INSTALL_DIR/bin/start-confluence.sh" "$@"
fi

View File

@ -0,0 +1,124 @@
FROM epicmorg/debian:bookworm-develop as builder
RUN apt update && apt install -y \
build-essential \
libssl-dev \
zlib1g-dev \
libncurses5-dev \
libncursesw5-dev \
libreadline-dev \
libsqlite3-dev \
libgdbm-dev \
libdb5.3-dev \
libbz2-dev \
libexpat1-dev \
liblzma-dev \
libffi-dev \
uuid-dev \
tk-dev
# /etc/ld.so.conf.d/
ARG LD_CONF_DIR=/etc/ld.so.conf.d/
# python 3.13
ENV PYTHON_VERSION=3.13.2
ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_VERSION}
ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin
ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src
ARG PYTHON_DOWNLOAD_URL=https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz
ARG PYTHON_TEMP=/tmp/Python-${PYTHON_VERSION}.tgz
##################################################################
# CMake
##################################################################
RUN mkdir -p ${PYTHON_DIR} ${PYTHON_SRC_DIR} ${PYTHON_BIN_DIR}
ADD ${PYTHON_DOWNLOAD_URL} /tmp
RUN tar -xvzf ${PYTHON_TEMP} --strip-components=1 --directory ${PYTHON_SRC_DIR}
ENV OPENSSL_ROOT=${OPENSSL_34_DIR}
ENV LD_LIBRARY_PATH=${OPENSSL_ROOT}/lib64:$LD_LIBRARY_PATH
ENV PATH="${PYTHON_BIN_DIR}:${PATH}"
WORKDIR ${PYTHON_SRC_DIR}
RUN ./configure \
--prefix=${PYTHON_DIR} \
--enable-optimizations \
--enable-option-checking=fatal \
--with-lto \
--enable-loadable-sqlite-extensions \
--with-ensurepip=install \
--enable-profiling \
--with-system-expat \
--enable-option-checking=fatal \
--with-computed-gotos \
--with-pydebug \
--with-trace-refs \
--with-assertions \
--with-valgrind \
--with-static-libpython \
--with-openssl-rpath=auto \
--with-openssl=${OPENSSL_34_DIR} \
LDFLAGS="-Wl,-rpath,${OPENSSL_34_DIR}/lib64" \
CPPFLAGS="-I${OPENSSL_34_DIR}/include"
RUN make -j$(nproc) && \
make altinstall
##################################################################
##################################################################
##################################################################
# Final Layer
##################################################################
##################################################################
##################################################################
FROM epicmorg/debian:bookworm
RUN apt-get remove -y python3-pip
COPY etc/apt/preferences.d /etc/apt/preferences.d
COPY --from=builder ${PYTHON_DIR}/ ${PYTHON_DIR}/
##################################################################
# Python 3.13
##################################################################
ENV PYTHON_VERSION=3.13.2
ENV PYTHON_DIR=${EMG_LOCAL_BASE_DIR}/python/${PYTHON_VERSION}
ARG PYTHON_BIN_DIR=${PYTHON_DIR}/bin
ARG PYTHON_SRC_DIR=${PYTHON_DIR}/src
ENV PATH="${PYTHON_BIN_DIR}:${PATH}"
RUN mv ${PYTHON_SRC_DIR} /usr/local/src/${PYTHON_VERSION} && \
ln -sfv /usr/local/src/${PYTHON_VERSION} ${PYTHON_SRC_DIR} \
rm -rfv /usr/bin/pip3 && \
rm -rfv /usr/bin/pip && \
rm -rfv /usr/bin/python && \
rm -rfv /usr/bin/python3 && \
update-alternatives --install /usr/bin/pip3 pip3 ${PYTHON_DIR}/bin/pip3.13 1 && \
update-alternatives --install /usr/bin/pip pip ${PYTHON_DIR}/bin/pip3.13 1 && \
update-alternatives --install /usr/bin/python python ${PYTHON_DIR}/bin/python3.13 1 && \
update-alternatives --install /usr/bin/python3 python3 ${PYTHON_DIR}/bin/python3.13 1
RUN echo "=============================================" && \
echo python3.13 --version && \
echo python3 --version && \
echo python --version && \
echo pip3 --version && \
echo pip --version && \
echo "============================================="
##################################################################
# cleanup
##################################################################
RUN echo "clean up" && \
apt-get clean -y && \
apt-get autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
rm -rfv /root/tmp/* && \
rm -rfv /tmp/*
RUN updatedb

View File

@ -0,0 +1,36 @@
PIP_BREAK_SYSTEM_PACKAGES=1
all: app
app:
make build
make deploy
make clean
build:
kaniko-wrapper --version
dry:
make dry-run
test:
make dry-run
dry-run:
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run
build-compose:
docker-compose build --compress --parallel --progress plain
deploy:
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug
deploy-compose:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,6 @@
#version: '3'
services:
app:
image: "epicmorg/debian:bookworm-python-3.13"
build:
context: .

View File

@ -0,0 +1,3 @@
Package: python-*
Pin: release *
Pin-Priority: -1

View File

@ -0,0 +1,3 @@
Package: python2-*
Pin: release *
Pin-Priority: -1

View File

@ -0,0 +1,3 @@
Package: python3-*
Pin: release *
Pin-Priority: -1