mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2024-12-25 06:05:37 +03:00
Merge pull request #65 from EpicMorg/develop
template-generator + new images pack 2
This commit is contained in:
commit
5bdd4cd889
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +1,2 @@
|
||||
# Temp make file for local builds and debug
|
||||
Makefile.temp
|
||||
|
@ -1,5 +1,14 @@
|
||||
## Changelog
|
||||
### 2022
|
||||
* `january`
|
||||
* fixed `apache2`
|
||||
* added `php8` support
|
||||
* extended `testrail` releases with `active directory` and `ldap` auth support.
|
||||
### 2021
|
||||
* `december`
|
||||
* added `git-lfs`, `lazygit`, bumped versions of nginx, jira, conflunce and bitbucket.
|
||||
* added another git addons
|
||||
* added `gh` - `github-cli` support
|
||||
* `october-november`
|
||||
* added `nginx:quic` image. UNSTABLE.
|
||||
* added `redash:latest` image in to `advanced` pack.
|
||||
|
1
Makefile
1
Makefile
@ -166,7 +166,6 @@ ecosystem-images:
|
||||
cd `pwd`/linux/ecosystem/nginx/latest/main && pwd && make
|
||||
cd `pwd`/linux/ecosystem/nginx/latest/php && pwd && make
|
||||
cd `pwd`/linux/ecosystem/nginx/latest/rtmp-hls && pwd && make
|
||||
cd `pwd`/linux/ecosystem/nginx/latest/quic && pwd && make
|
||||
|
||||
cd `pwd`/linux/advanced/vscode-server/latest && pwd && make build && make deploy
|
||||
cd `pwd`/linux/advanced/vscode-server/devops && pwd && make build && make deploy
|
||||
|
@ -59,6 +59,13 @@ RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PH
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
|
@ -1,5 +1,18 @@
|
||||
#!/bin/bash
|
||||
chown www-data:www-data /var/www -R
|
||||
|
||||
if [[ -z "${FIX_WWW_DATA}" ]]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "false" ]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "true" ]; then
|
||||
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
|
||||
chown www-data:www-data /var/www -R
|
||||
echo "[apache2] Done"
|
||||
else
|
||||
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
|
||||
fi
|
||||
|
||||
echo "[apache2] Starting up"
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
||||
|
@ -59,6 +59,13 @@ RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PH
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
|
@ -1,5 +1,18 @@
|
||||
#!/bin/bash
|
||||
chown www-data:www-data /var/www -R
|
||||
|
||||
if [[ -z "${FIX_WWW_DATA}" ]]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "false" ]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "true" ]; then
|
||||
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
|
||||
chown www-data:www-data /var/www -R
|
||||
echo "[apache2] Done"
|
||||
else
|
||||
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
|
||||
fi
|
||||
|
||||
echo "[apache2] Starting up"
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
||||
|
@ -59,6 +59,13 @@ RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${P
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini & \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
|
@ -1,5 +1,18 @@
|
||||
#!/bin/bash
|
||||
chown www-data:www-data /var/www -R
|
||||
|
||||
if [[ -z "${FIX_WWW_DATA}" ]]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "false" ]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "true" ]; then
|
||||
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
|
||||
chown www-data:www-data /var/www -R
|
||||
echo "[apache2] Done"
|
||||
else
|
||||
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
|
||||
fi
|
||||
|
||||
echo "[apache2] Starting up"
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
||||
|
@ -59,6 +59,13 @@ RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PH
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
|
@ -1,5 +1,18 @@
|
||||
#!/bin/bash
|
||||
chown www-data:www-data /var/www -R
|
||||
|
||||
if [[ -z "${FIX_WWW_DATA}" ]]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "false" ]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "true" ]; then
|
||||
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
|
||||
chown www-data:www-data /var/www -R
|
||||
echo "[apache2] Done"
|
||||
else
|
||||
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
|
||||
fi
|
||||
|
||||
echo "[apache2] Starting up"
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
||||
|
113
linux/ecosystem/apache2/php8.0/Dockerfile
Normal file
113
linux/ecosystem/apache2/php8.0/Dockerfile
Normal file
@ -0,0 +1,113 @@
|
||||
FROM epicmorg/php:php8.0
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ARG PHP_MODULE_VER=20200930
|
||||
ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
|
||||
ARG PHP_VER=8.0
|
||||
ARG PHP_DIR=/etc/php/${PHP_VER}
|
||||
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
|
||||
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
|
||||
|
||||
##################################################################
|
||||
# Installing Apache2
|
||||
##################################################################
|
||||
#installing apache2 repo
|
||||
RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
|
||||
RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/sources.list.d/apache2.list'
|
||||
|
||||
#Install base packages
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
apache2 \
|
||||
apache2-utils \
|
||||
libapache2-mod-php8.0 \
|
||||
libapache2-mod-webauth \
|
||||
libapache2-mod-xforward \
|
||||
libapache2-mod-security2 && \
|
||||
a2enmod \
|
||||
php8.0 \
|
||||
rewrite \
|
||||
ldap \
|
||||
heartmonitor \
|
||||
auth_basic \
|
||||
authnz_ldap \
|
||||
headers \
|
||||
heartbeat \
|
||||
lua \
|
||||
mime \
|
||||
status \
|
||||
xml2enc \
|
||||
xforward \
|
||||
remoteip \
|
||||
filter \
|
||||
dav \
|
||||
dav_fs \
|
||||
alias && \
|
||||
ln -sf /etc/ssl/dhparam.pem /etc/apache2/dhparam.pem && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# LDAP Fix
|
||||
##################################################################
|
||||
RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
|
||||
|
||||
##################################################################
|
||||
# Installing IOnCube addon
|
||||
##################################################################
|
||||
RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing P4 addon
|
||||
##################################################################
|
||||
RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing smbclient addon
|
||||
##################################################################
|
||||
RUN ln -sf ${SMB_PHP_INI} ${PHP_DIR}/apache2/conf.d/smbclient.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# cleaninig up
|
||||
##################################################################
|
||||
RUN apt clean -y && \
|
||||
apt autoclean -y && \
|
||||
rm -rfv /var/lib/apt/lists/* && \
|
||||
rm -rfv /var/cache/apt/archives/*.deb && \
|
||||
rm -rfv /tmp/deb/* && \
|
||||
rm -rfv /tmp/ioncube/* && \
|
||||
rm -rfv /tmp/composer-setup.php && \
|
||||
rm -rfv /tmp/ioncube.tar.gz
|
||||
|
||||
#volumes
|
||||
VOLUME ["/var/www"]
|
||||
|
||||
# Add image configuration and scripts
|
||||
COPY run.sh /run.sh
|
||||
RUN chmod 755 /*.sh
|
||||
|
||||
# Configure application
|
||||
EXPOSE 80
|
||||
WORKDIR /var/www/
|
||||
CMD ["/run.sh"]
|
32
linux/ecosystem/apache2/php8.0/README.md
Normal file
32
linux/ecosystem/apache2/php8.0/README.md
Normal file
@ -0,0 +1,32 @@
|
||||
# Compose example
|
||||
|
||||
```yml
|
||||
version: '3.7'
|
||||
services:
|
||||
websites:
|
||||
image: epicmorg/websites
|
||||
# depends_on:
|
||||
# - mysql
|
||||
# - memcached
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime
|
||||
- /etc/timezone:/etc/timezone
|
||||
# - /etc/letsencrypt:/etc/letsencrypt
|
||||
- www:/var/www
|
||||
- apache2:/etc/apache2
|
||||
- php:/etc/php
|
||||
restart: unless-stopped
|
||||
# extra_hosts:
|
||||
# - "example.com:192.168.0.11"
|
||||
tmpfs:
|
||||
- /tmp
|
||||
- /var/lib/php/sessions
|
||||
volumes:
|
||||
www:
|
||||
external: true
|
||||
apache2:
|
||||
external: true
|
||||
php:
|
||||
external: true
|
||||
```
|
6
linux/ecosystem/apache2/php8.0/docker-compose.yml
Normal file
6
linux/ecosystem/apache2/php8.0/docker-compose.yml
Normal file
@ -0,0 +1,6 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
app:
|
||||
image: "epicmorg/apache2:php8.0"
|
||||
build:
|
||||
context: .
|
18
linux/ecosystem/apache2/php8.0/run.sh
Executable file
18
linux/ecosystem/apache2/php8.0/run.sh
Executable file
@ -0,0 +1,18 @@
|
||||
#!/bin/bash
|
||||
|
||||
if [[ -z "${FIX_WWW_DATA}" ]]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "false" ]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "true" ]; then
|
||||
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
|
||||
chown www-data:www-data /var/www -R
|
||||
echo "[apache2] Done"
|
||||
else
|
||||
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
|
||||
fi
|
||||
|
||||
echo "[apache2] Starting up"
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
ARG BITBUCKET_VERSION=7.11.2
|
||||
ARG BITBUCKET_VERSION=7.19.1
|
||||
ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz
|
||||
|
||||
##################################################################
|
||||
|
@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
ARG BITBUCKET_VERSION=7.11.2
|
||||
ARG BITBUCKET_VERSION=7.19.1
|
||||
ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz
|
||||
|
||||
##################################################################
|
||||
|
@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
ARG CONFLUENCE_VERSION=7.13.1
|
||||
ARG CONFLUENCE_VERSION=7.15.0
|
||||
ARG DOWNLOAD_URL=https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz
|
||||
|
||||
##################################################################
|
||||
|
@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
ARG CONFLUENCE_VERSION=7.13.1
|
||||
ARG CONFLUENCE_VERSION=7.15.0
|
||||
ARG DOWNLOAD_URL=https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz
|
||||
|
||||
##################################################################
|
||||
|
3
linux/ecosystem/atlassian/jira/8/8.21.0/.env
Normal file
3
linux/ecosystem/atlassian/jira/8/8.21.0/.env
Normal file
@ -0,0 +1,3 @@
|
||||
|
||||
RELEASE=8.21.0
|
||||
DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.21.0.tar.gz
|
49
linux/ecosystem/atlassian/jira/8/8.21.0/Dockerfile
Normal file
49
linux/ecosystem/atlassian/jira/8/8.21.0/Dockerfile
Normal file
@ -0,0 +1,49 @@
|
||||
FROM epicmorg/prod:jdk8
|
||||
LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
|
||||
#configured by dockerfile / .ENV
|
||||
ARG RELEASE
|
||||
ARG DOWNLOAD_URL
|
||||
|
||||
|
||||
##################################################################
|
||||
# Setup
|
||||
##################################################################
|
||||
ENV RUN_USER daemon
|
||||
ENV RUN_GROUP daemon
|
||||
|
||||
# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files
|
||||
ENV JIRA_HOME /var/atlassian/application-data/jira
|
||||
ENV JIRA_INSTALL_DIR /opt/atlassian/jira
|
||||
|
||||
VOLUME ["${JIRA_HOME}"]
|
||||
WORKDIR $JIRA_HOME
|
||||
|
||||
# Expose HTTP port
|
||||
EXPOSE 8080
|
||||
|
||||
##################################################################
|
||||
# Installing
|
||||
##################################################################
|
||||
RUN mkdir -p ${JIRA_INSTALL_DIR} \
|
||||
&& curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \
|
||||
&& chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \
|
||||
&& sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
|
||||
&& sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
|
||||
&& sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \
|
||||
&& sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_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
|
||||
|
||||
CMD ["/entrypoint.sh", "-fg"]
|
||||
ENTRYPOINT ["/usr/bin/tini", "--"]
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
COPY . /tmp
|
49
linux/ecosystem/atlassian/jira/8/8.21.0/Dockerfile.jdk11
Normal file
49
linux/ecosystem/atlassian/jira/8/8.21.0/Dockerfile.jdk11
Normal file
@ -0,0 +1,49 @@
|
||||
FROM epicmorg/prod:jdk11
|
||||
LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
|
||||
#configured by dockerfile / .ENV
|
||||
ARG RELEASE
|
||||
ARG DOWNLOAD_URL
|
||||
|
||||
|
||||
##################################################################
|
||||
# Setup
|
||||
##################################################################
|
||||
ENV RUN_USER daemon
|
||||
ENV RUN_GROUP daemon
|
||||
|
||||
# https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files
|
||||
ENV JIRA_HOME /var/atlassian/application-data/jira
|
||||
ENV JIRA_INSTALL_DIR /opt/atlassian/jira
|
||||
|
||||
VOLUME ["${JIRA_HOME}"]
|
||||
WORKDIR $JIRA_HOME
|
||||
|
||||
# Expose HTTP port
|
||||
EXPOSE 8080
|
||||
|
||||
##################################################################
|
||||
# Installing
|
||||
##################################################################
|
||||
RUN mkdir -p ${JIRA_INSTALL_DIR} \
|
||||
&& curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$JIRA_INSTALL_DIR" \
|
||||
&& chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \
|
||||
&& sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
|
||||
&& sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \
|
||||
&& sed -i -e 's/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \
|
||||
&& sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_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
|
||||
|
||||
CMD ["/entrypoint.sh", "-fg"]
|
||||
ENTRYPOINT ["/usr/bin/tini", "--"]
|
||||
COPY entrypoint.sh /entrypoint.sh
|
||||
COPY . /tmp
|
19
linux/ecosystem/atlassian/jira/8/8.21.0/Makefile
Normal file
19
linux/ecosystem/atlassian/jira/8/8.21.0/Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
all: app
|
||||
|
||||
app:
|
||||
make build
|
||||
make deploy
|
||||
make clean
|
||||
|
||||
build:
|
||||
docker-compose build --compress --parallel
|
||||
|
||||
deploy:
|
||||
docker-compose push
|
||||
|
||||
clean:
|
||||
docker container prune -f
|
||||
docker image prune -f
|
||||
docker network prune -f
|
||||
docker volume prune -f
|
||||
docker system prune -af
|
17
linux/ecosystem/atlassian/jira/8/8.21.0/docker-compose.yml
Normal file
17
linux/ecosystem/atlassian/jira/8/8.21.0/docker-compose.yml
Normal file
@ -0,0 +1,17 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
app:
|
||||
image: "epicmorg/jira:${RELEASE}"
|
||||
build:
|
||||
context: .
|
||||
args:
|
||||
RELEASE: ${RELEASE}
|
||||
DOWNLOAD_URL: ${DOWNLOAD_URL}
|
||||
app-jdk11:
|
||||
image: "epicmorg/jira:${RELEASE}-jdk11"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.jdk11
|
||||
args:
|
||||
RELEASE: ${RELEASE}
|
||||
DOWNLOAD_URL: ${DOWNLOAD_URL}
|
89
linux/ecosystem/atlassian/jira/8/8.21.0/entrypoint.sh
Executable file
89
linux/ecosystem/atlassian/jira/8/8.21.0/entrypoint.sh
Executable file
@ -0,0 +1,89 @@
|
||||
#!/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:=}
|
||||
|
||||
: ${JAVA_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 JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}"
|
||||
|
||||
# Setup Data Center configuration
|
||||
if [ ! -f "/etc/container_id" ]; then
|
||||
uuidgen > /etc/container_id
|
||||
fi
|
||||
CONTAINER_ID=$(cat /etc/container_id)
|
||||
CONTAINER_SHORT_ID=${CONTAINER_ID::8}
|
||||
|
||||
: ${CLUSTERED:=false}
|
||||
: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}}
|
||||
: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared}
|
||||
: ${EHCACHE_PEER_DISCOVERY:=}
|
||||
: ${EHCACHE_LISTENER_HOSTNAME:=}
|
||||
: ${EHCACHE_LISTENER_PORT:=}
|
||||
: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=}
|
||||
: ${EHCACHE_MULTICAST_ADDRESS:=}
|
||||
: ${EHCACHE_MULTICAST_PORT:=}
|
||||
: ${EHCACHE_MULTICAST_TIMETOLIVE:=}
|
||||
: ${EHCACHE_MULTICAST_HOSTNAME:=}
|
||||
|
||||
# Cleanly set/unset values in cluster.properties
|
||||
function set_cluster_property {
|
||||
if [ -z $2 ]; then
|
||||
if [ -f "${JIRA_HOME}/cluster.properties" ]; then
|
||||
sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties"
|
||||
fi
|
||||
return
|
||||
fi
|
||||
if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then
|
||||
echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties"
|
||||
elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then
|
||||
sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties"
|
||||
else
|
||||
echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "${CLUSTERED}" == "true" ]; then
|
||||
set_cluster_property "jira.node.id" "${JIRA_NODE_ID}"
|
||||
set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}"
|
||||
set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}"
|
||||
set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}"
|
||||
set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}"
|
||||
set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}"
|
||||
set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}"
|
||||
set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}"
|
||||
set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}"
|
||||
set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}"
|
||||
fi
|
||||
|
||||
|
||||
# Start Jira 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" "${JIRA_HOME}")
|
||||
EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700
|
||||
if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then
|
||||
chmod -R 700 "${JIRA_HOME}" &&
|
||||
chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}"
|
||||
fi
|
||||
# Now drop privileges
|
||||
exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@"
|
||||
else
|
||||
exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@"
|
||||
fi
|
@ -1,3 +1,3 @@
|
||||
|
||||
RELEASE=8.17.1
|
||||
DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.17.1.tar.gz
|
||||
RELEASE=8.21.0
|
||||
DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.21.0.tar.gz
|
||||
|
@ -2,11 +2,17 @@ FROM epicmorg/prod
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
##################################################################
|
||||
# git-lfs official binary
|
||||
##################################################################
|
||||
RUN rm -rfv /etc/apt/sources.list.d/github_git-lfs.list
|
||||
COPY sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list
|
||||
|
||||
##################################################################
|
||||
# bullseye sources list
|
||||
##################################################################
|
||||
RUN rm -rfv /etc/apt/sources.list
|
||||
COPY sources.list /etc/apt/sources.list
|
||||
COPY sources.list.d/sources.list /etc/apt/sources.list
|
||||
RUN apt update && \
|
||||
apt autoremove -y && \
|
||||
apt-get install -y libc6 libxml2-utils && \
|
||||
|
@ -0,0 +1,2 @@
|
||||
deb https://packagecloud.io/github/git-lfs/debian/ bullseye main
|
||||
deb-src https://packagecloud.io/github/git-lfs/debian/ bullseye main
|
@ -5,17 +5,22 @@ ARG DEBIAN_FRONTEND=noninteractive
|
||||
##################################################################
|
||||
# buster sources list
|
||||
##################################################################
|
||||
COPY deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg
|
||||
COPY trusted.gpg.d/deb-multimedia-keyring.gpg /etc/apt/trusted.gpg.d/deb-multimedia-keyring.gpg
|
||||
COPY trusted.gpg.d/githubcli-archive-keyring.gpg /etc/apt/trusted.gpg.d/githubcli-archive-keyring.gpg
|
||||
|
||||
RUN rm /etc/apt/sources.list
|
||||
COPY sources.list /etc/apt/sources.list
|
||||
COPY sources.list.d/sources.list /etc/apt/sources.list
|
||||
|
||||
RUN apt update && apt dist-upgrade -y
|
||||
COPY locale.gen /etc/locale.gen
|
||||
|
||||
COPY etc/locale.gen /etc/locale.gen
|
||||
|
||||
RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done
|
||||
|
||||
##################################################################
|
||||
# perforce client binary
|
||||
##################################################################
|
||||
ENV P4_VERSION=r21.1
|
||||
ENV P4_VERSION=r21.2
|
||||
ENV P4_DOWNLOAD_URL=https://www.perforce.com/downloads/perforce/${P4_VERSION}/bin.linux26x86_64/p4
|
||||
|
||||
##################################################################
|
||||
@ -24,6 +29,12 @@ ENV P4_DOWNLOAD_URL=https://www.perforce.com/downloads/perforce/${P4_VERSION}/bi
|
||||
ENV SZ_VERSION=7z2103
|
||||
ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz
|
||||
|
||||
##################################################################
|
||||
# LazyGit official binary
|
||||
##################################################################
|
||||
ENV LZGIT_VERSION=0.31.4
|
||||
ENV LZGIT_DOWNLOAD_URL=https://github.com/jesseduffield/lazygit/releases/download/v${LZGIT_VERSION}/lazygit_${LZGIT_VERSION}_Linux_x86_64.tar.gz
|
||||
|
||||
##################################################################
|
||||
# installing utils
|
||||
##################################################################
|
||||
@ -47,6 +58,16 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
|
||||
ffmpeg \
|
||||
fontconfig \
|
||||
git \
|
||||
git-extras \
|
||||
git-flow \
|
||||
git-cvs \
|
||||
git-doc \
|
||||
git-email \
|
||||
git-mediawiki \
|
||||
git-crypt \
|
||||
git-lfs \
|
||||
git-ftp \
|
||||
git-hub \
|
||||
gnupg \
|
||||
gnupg2 \
|
||||
graphicsmagick \
|
||||
@ -98,6 +119,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
|
||||
wget \
|
||||
zip
|
||||
|
||||
##################################################################
|
||||
# git-lfs official binary
|
||||
##################################################################
|
||||
#RUN curl -s https://packagecloud.io/github/git-lfs/gpgkey | sudo gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/git-lfs.gpg --import && \
|
||||
RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 6B05F25D762E3157 && \
|
||||
rm -rfv /etc/apt/sources.list.d/github_git-lfs.list
|
||||
COPY sources.list.d/github_git-lfs.list /etc/apt/sources.list.d/github_git-lfs.list
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
git \
|
||||
git-lfs && \
|
||||
git --version && \
|
||||
git-lfs --version
|
||||
|
||||
##################################################################
|
||||
# gh official binary
|
||||
##################################################################
|
||||
COPY sources.list.d/github-cli.list /etc/apt/sources.list.d/github-cli.list
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
gh && \
|
||||
gh --version
|
||||
|
||||
##################################################################
|
||||
# Install p4client
|
||||
##################################################################
|
||||
@ -115,6 +159,17 @@ RUN wget -nv --random-wait -c -O /tmp/7z.tar.xz ${SZ_DOWNLOAD_URL} && \
|
||||
7zz | head -4 && \
|
||||
7z | head -4
|
||||
|
||||
##################################################################
|
||||
# Install LazyGit official binary
|
||||
##################################################################
|
||||
RUN wget -nv --random-wait -c -O /tmp/lazygit.tar.xz ${LZGIT_DOWNLOAD_URL} && \
|
||||
mkdir -p /tmp/lazygit && \
|
||||
tar -zxvf /tmp/lazygit.tar.xz -C /tmp/lazygit && \
|
||||
chmod +x /tmp/lazygit/lazygit && \
|
||||
mv -fv /tmp/lazygit/lazygit /usr/bin/ && \
|
||||
echo "lazygit version:" && \
|
||||
lazygit --version
|
||||
|
||||
##################################################################
|
||||
# Generate ssl key
|
||||
##################################################################
|
||||
@ -129,4 +184,5 @@ RUN apt purge policykit-1 -y && \
|
||||
rm -rfv /var/lib/apt/lists/* && \
|
||||
rm -rfv /tmp/mc.patch && \
|
||||
rm -rfv /var/cache/apt/archives/*.deb && \
|
||||
rm -rfv /tmp/7z
|
||||
rm -rfv /tmp/7z && \
|
||||
rm -rfv /tmp/lazygit
|
||||
|
@ -0,0 +1 @@
|
||||
deb https://cli.github.com/packages stable main
|
@ -0,0 +1,2 @@
|
||||
deb https://packagecloud.io/github/git-lfs/debian/ buster main
|
||||
deb-src https://packagecloud.io/github/git-lfs/debian/ buster main
|
Binary file not shown.
@ -1,2 +1,2 @@
|
||||
NGINX_VERSION=latest
|
||||
NGINX_DOWNLOAD_URL=http://nginx.org/download/nginx-1.21.3.tar.gz
|
||||
NGINX_DOWNLOAD_URL=http://nginx.org/download/nginx-1.21.4.tar.gz
|
||||
|
@ -87,7 +87,7 @@ RUN wget -qO - ${NGINX_DOWNLOAD_URL} | tar -zxv --strip-components=1 -C ${NGINX_
|
||||
git clone https://github.com/masterzen/nginx-upload-progress-module.git http-uploadprogress && \
|
||||
git clone https://github.com/yaoweibin/ngx_http_substitutions_filter_module http-subs-filter && \
|
||||
git clone https://github.com/grahamedgecombe/nginx-ct.git ssl-ct && \
|
||||
git clone https://github.com/stnoonan/spnego-http-auth-nginx-module.git spnego-http-auth-nginx-module && \
|
||||
# git clone https://github.com/stnoonan/spnego-http-auth-nginx-module.git spnego-http-auth-nginx-module && \
|
||||
git clone https://github.com/leev/ngx_http_geoip2_module http-geoip2 && \
|
||||
git clone https://github.com/flavioribeiro/nginx-audio-track-for-hls-module.git nginx-audio-track-for-hls-module && \
|
||||
git clone https://github.com/chrislim2888/ip2location-nginx.git ip2location-nginx && \
|
||||
@ -167,7 +167,7 @@ RUN cd ${NGINX_SRC_DIR} && \
|
||||
--add-dynamic-module=http-subs-filter \
|
||||
--add-dynamic-module=ssl-ct \
|
||||
--add-dynamic-module=http-geoip2 \
|
||||
--add-dynamic-module=spnego-http-auth-nginx-module \
|
||||
# --add-dynamic-module=spnego-http-auth-nginx-module \
|
||||
--add-dynamic-module=http-auth-ldap \
|
||||
# --add-dynamic-module=nginx-audio-track-for-hls-module \
|
||||
--add-dynamic-module=ip2location-nginx \
|
||||
|
@ -1,2 +1,2 @@
|
||||
NGINX_VERSION=latest
|
||||
NGINX_DOWNLOAD_URL=http://nginx.org/download/nginx-1.21.3.tar.gz
|
||||
NGINX_DOWNLOAD_URL=http://nginx.org/download/nginx-1.21.4.tar.gz
|
||||
|
@ -1,2 +1,2 @@
|
||||
NGINX_VERSION=latest
|
||||
NGINX_DOWNLOAD_URL=http://nginx.org/download/nginx-1.21.3.tar.gz
|
||||
NGINX_DOWNLOAD_URL=http://nginx.org/download/nginx-1.21.4.tar.gz
|
||||
|
@ -187,6 +187,17 @@ RUN phpenmod \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN pecl install timezonedb && \
|
||||
# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
|
@ -177,6 +177,17 @@ RUN phpenmod \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN pecl install timezonedb && \
|
||||
# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
|
@ -184,6 +184,17 @@ RUN phpenmod \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN pecl install timezonedb && \
|
||||
# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
|
@ -187,6 +187,17 @@ RUN phpenmod \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN pecl install timezonedb && \
|
||||
# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
|
281
linux/ecosystem/php/php8.0/Dockerfile
Normal file
281
linux/ecosystem/php/php8.0/Dockerfile
Normal file
@ -0,0 +1,281 @@
|
||||
FROM epicmorg/devel AS builder
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
ENV BuildDocker true
|
||||
|
||||
ARG BUILDS_DIR=/builds
|
||||
ARG SRC_DIR=${BUILDS_DIR}/src
|
||||
ARG EXPORT_DIR=${BUILDS_DIR}/export
|
||||
ARG P4API_DIR=${SRC_DIR}/p4api
|
||||
ARG P4PHP_DIR=${SRC_DIR}/p4php
|
||||
ARG MAKE_DIR=${SRC_DIR}/p4php-${PHP_VER}
|
||||
|
||||
ARG P4API_VER=r21.1
|
||||
ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
|
||||
|
||||
ARG P4PHP_VER=r20.2
|
||||
ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php.tgz
|
||||
|
||||
ARG PHP_VER=8.0
|
||||
ARG PHP_MODULE_VER=20200930
|
||||
ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
|
||||
|
||||
##################################################################
|
||||
# Files and folders
|
||||
##################################################################
|
||||
RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
|
||||
|
||||
##################################################################
|
||||
# Installing PHP8
|
||||
##################################################################
|
||||
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
|
||||
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
||||
|
||||
#Install base packages
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
libmemcached-dev \
|
||||
smbclient libsmbclient libsmbclient-dev \
|
||||
php8.0 \
|
||||
php8.0-dev \
|
||||
php8.0-fpm \
|
||||
php8.0-cli \
|
||||
php8.0-cgi
|
||||
|
||||
##################################################################
|
||||
# preparing p4src
|
||||
##################################################################
|
||||
RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \
|
||||
wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \
|
||||
wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \
|
||||
wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \
|
||||
cd ${P4API_DIR} && \
|
||||
ls -las && \
|
||||
cd ${P4PHP_DIR} && \
|
||||
ls -las && \
|
||||
cd ${MAKE_DIR} && \
|
||||
ls -las && \
|
||||
cd ${SRC_DIR} && \
|
||||
ls -las
|
||||
|
||||
##################################################################
|
||||
# compilling p4src
|
||||
##################################################################
|
||||
RUN cd ${MAKE_DIR} && \
|
||||
ls -las && \
|
||||
phpize && \
|
||||
./configure --with-perforce=${P4API_DIR} && \
|
||||
make && \
|
||||
make test && \
|
||||
make install && \
|
||||
cp ${PHP_MODULE_PATH}/perforce.so ${EXPORT_DIR}
|
||||
|
||||
##################################################################
|
||||
# compilling smbclient
|
||||
##################################################################
|
||||
RUN pecl install smbclient && \
|
||||
cp ${PHP_MODULE_PATH}/smbclient.so ${EXPORT_DIR}
|
||||
|
||||
##################################################################
|
||||
##################################################################
|
||||
##################################################################
|
||||
|
||||
FROM epicmorg/edge
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ARG PHP_MODULE_VER=20200930
|
||||
ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
|
||||
ARG PHP_VER=8.0
|
||||
ARG PHP_DIR=/etc/php/${PHP_VER}
|
||||
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
|
||||
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
|
||||
|
||||
##################################################################
|
||||
# Installing PHP8
|
||||
##################################################################
|
||||
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
|
||||
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
libmemcached-dev \
|
||||
php8.0 \
|
||||
php8.0-dev \
|
||||
php8.0-fpm \
|
||||
php8.0-cli \
|
||||
php8.0-cgi \
|
||||
php-pear \
|
||||
php8.0-gmp \
|
||||
php8.0-snmp \
|
||||
php8.0-ldap \
|
||||
php8.0-mail \
|
||||
php8.0-soap \
|
||||
php8.0-mysql \
|
||||
php8.0-memcached \
|
||||
php8.0-memcache \
|
||||
php8.0-igbinary \
|
||||
php8.0-interbase \
|
||||
php8.0-curl \
|
||||
php8.0-gd \
|
||||
php8.0-intl \
|
||||
php8.0-zip \
|
||||
php8.0-bcmath \
|
||||
php8.0-imap \
|
||||
php8.0-pspell \
|
||||
php8.0-sqlite3 \
|
||||
php8.0-pgsql \
|
||||
php8.0-tidy \
|
||||
php8.0-xmlrpc \
|
||||
php8.0-xml \
|
||||
php8.0-mbstring \
|
||||
php8.0-apcu \
|
||||
php8.0-common \
|
||||
# php8.0-json \
|
||||
php8.0-readline \
|
||||
php8.0-enchant \
|
||||
php8.0-ssh2 \
|
||||
php8.0-oauth \
|
||||
php8.0-gmagick \
|
||||
php8.0-gnupg \
|
||||
php8.0-redis \
|
||||
smbclient libsmbclient \
|
||||
php8.0-yaml \
|
||||
# php8.0-geoip \
|
||||
sendmail && \
|
||||
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
|
||||
update-alternatives --set php /usr/bin/php8.0 && \
|
||||
pecl channel-update pecl.php.net && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Enabling extensions
|
||||
##################################################################
|
||||
RUN phpenmod \
|
||||
snmp \
|
||||
gmp \
|
||||
calendar \
|
||||
ldap \
|
||||
curl \
|
||||
exif \
|
||||
ftp \
|
||||
fileinfo \
|
||||
gd \
|
||||
geoip \
|
||||
gnupg \
|
||||
iconv \
|
||||
imap \
|
||||
json \
|
||||
mbstring \
|
||||
memcached \
|
||||
mysqli \
|
||||
mysqlnd \
|
||||
oauth \
|
||||
pdo_mysql \
|
||||
pdo_sqlite \
|
||||
phar \
|
||||
posix \
|
||||
readline \
|
||||
redis \
|
||||
simplexml \
|
||||
sockets \
|
||||
sqlite3 \
|
||||
ssh2 \
|
||||
tokenizer \
|
||||
xml \
|
||||
xmlreader \
|
||||
xmlrpc \
|
||||
xmlwriter \
|
||||
xsl \
|
||||
yaml && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN pecl install timezonedb && \
|
||||
# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
libmagickwand-dev \
|
||||
imagemagick && \
|
||||
pecl install imagick && \
|
||||
# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# not supported with php8
|
||||
##################################################################
|
||||
# Installing IOnCube addon
|
||||
#################################################################
|
||||
#ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz
|
||||
#RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
|
||||
# cp /tmp/ioncube/ioncube_loader_lin_7.4.so ${PHP_MODULE_PATH} && \
|
||||
## echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
# php -m && \
|
||||
# php -v
|
||||
|
||||
##################################################################
|
||||
# Installing P4 addon
|
||||
##################################################################
|
||||
COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH}
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \
|
||||
ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \
|
||||
ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \
|
||||
ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing smbclient addon
|
||||
##################################################################
|
||||
COPY --from=builder /builds/export/smbclient.so ${PHP_MODULE_PATH}
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/smbclient.so" > ${SMB_PHP_INI} && \
|
||||
ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cgi/conf.d/smbclient.ini && \
|
||||
ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cli/conf.d/smbclient.ini && \
|
||||
ln -sf ${SMB_PHP_INI} ${PHP_DIR}/fpm/conf.d/smbclient.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing Composer addon
|
||||
##################################################################
|
||||
RUN cd /tmp && \
|
||||
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
|
||||
php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
|
||||
rm /tmp/composer-setup.php
|
||||
|
||||
##################################################################
|
||||
# cleaninig up
|
||||
##################################################################
|
||||
RUN apt clean -y && \
|
||||
apt autoclean -y && \
|
||||
rm -rfv /var/lib/apt/lists/* && \
|
||||
rm -rfv /var/cache/apt/archives/*.deb && \
|
||||
rm -rfv /tmp/deb/* && \
|
||||
rm -rfv /tmp/ioncube/* && \
|
||||
rm -rfv /tmp/composer-setup.php && \
|
||||
rm -rfv /tmp/ioncube.tar.gz
|
||||
|
19
linux/ecosystem/php/php8.0/Makefile
Normal file
19
linux/ecosystem/php/php8.0/Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
all: app
|
||||
|
||||
app:
|
||||
make build
|
||||
make deploy
|
||||
make clean
|
||||
|
||||
build:
|
||||
docker-compose build --compress --parallel
|
||||
|
||||
deploy:
|
||||
docker-compose push
|
||||
|
||||
clean:
|
||||
docker container prune -f
|
||||
docker image prune -f
|
||||
docker network prune -f
|
||||
docker volume prune -f
|
||||
docker system prune -af
|
0
linux/ecosystem/php/php8.0/README.md
Normal file
0
linux/ecosystem/php/php8.0/README.md
Normal file
6
linux/ecosystem/php/php8.0/docker-compose.yml
Normal file
6
linux/ecosystem/php/php8.0/docker-compose.yml
Normal file
@ -0,0 +1,6 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
app:
|
||||
image: "epicmorg/php:php8.0"
|
||||
build:
|
||||
context: .
|
281
linux/ecosystem/php/php8.1-p4-not-ready/Dockerfile
Normal file
281
linux/ecosystem/php/php8.1-p4-not-ready/Dockerfile
Normal file
@ -0,0 +1,281 @@
|
||||
FROM epicmorg/devel AS builder
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
##################################################################
|
||||
# ARGuments
|
||||
##################################################################
|
||||
ENV BuildDocker true
|
||||
|
||||
|
||||
ARG BUILDS_DIR=/builds
|
||||
ARG SRC_DIR=${BUILDS_DIR}/src
|
||||
ARG EXPORT_DIR=${BUILDS_DIR}/export
|
||||
ARG P4API_DIR=${SRC_DIR}/p4api
|
||||
ARG P4PHP_DIR=${SRC_DIR}/p4php
|
||||
ARG PHP_VER=8.1
|
||||
ARG MAKE_DIR=${SRC_DIR}/p4php-${PHP_VER}
|
||||
ARG P4API_VER=r21.1
|
||||
ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
|
||||
|
||||
ARG P4PHP_VER=r20.2
|
||||
ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php.tgz
|
||||
|
||||
ARG PHP_MODULE_VER=20210902
|
||||
ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
|
||||
|
||||
##################################################################
|
||||
# Files and folders
|
||||
##################################################################
|
||||
RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
|
||||
|
||||
##################################################################
|
||||
# Installing PHP8
|
||||
##################################################################
|
||||
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
|
||||
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
||||
|
||||
#Install base packages
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
libmemcached-dev \
|
||||
smbclient libsmbclient libsmbclient-dev \
|
||||
php8.1 \
|
||||
php8.1-dev \
|
||||
php8.1-fpm \
|
||||
php8.1-cli \
|
||||
php8.1-cgi
|
||||
|
||||
##################################################################
|
||||
# preparing p4src
|
||||
##################################################################
|
||||
RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \
|
||||
wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \
|
||||
wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \
|
||||
wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \
|
||||
cd ${P4API_DIR} && \
|
||||
ls -las && \
|
||||
cd ${P4PHP_DIR} && \
|
||||
ls -las && \
|
||||
cd ${MAKE_DIR} && \
|
||||
ls -las && \
|
||||
cd ${SRC_DIR} && \
|
||||
ls -las
|
||||
|
||||
##################################################################
|
||||
# compilling p4src
|
||||
##################################################################
|
||||
RUN cd ${MAKE_DIR} && \
|
||||
ls -las && \
|
||||
phpize && \
|
||||
./configure --with-perforce=${P4API_DIR} && \
|
||||
make && \
|
||||
make test && \
|
||||
make install && \
|
||||
cp ${PHP_MODULE_PATH}/perforce.so ${EXPORT_DIR}
|
||||
|
||||
##################################################################
|
||||
# compilling smbclient
|
||||
##################################################################
|
||||
RUN pecl install smbclient && \
|
||||
cp ${PHP_MODULE_PATH}/smbclient.so ${EXPORT_DIR}
|
||||
|
||||
##################################################################
|
||||
##################################################################
|
||||
##################################################################
|
||||
|
||||
FROM epicmorg/edge
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
ARG PHP_MODULE_VER=20210902
|
||||
ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
|
||||
ARG PHP_VER=8.1
|
||||
ARG PHP_DIR=/etc/php/${PHP_VER}
|
||||
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
|
||||
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
|
||||
|
||||
##################################################################
|
||||
# Installing PHP8
|
||||
##################################################################
|
||||
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
|
||||
sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
libmemcached-dev \
|
||||
php8.1 \
|
||||
php8.1-dev \
|
||||
php8.1-fpm \
|
||||
php8.1-cli \
|
||||
php8.1-cgi \
|
||||
php-pear \
|
||||
php8.1-gmp \
|
||||
php8.1-snmp \
|
||||
php8.1-ldap \
|
||||
php8.1-mail \
|
||||
php8.1-soap \
|
||||
php8.1-mysql \
|
||||
php8.1-memcached \
|
||||
php8.1-memcache \
|
||||
php8.1-igbinary \
|
||||
php8.1-interbase \
|
||||
php8.1-curl \
|
||||
php8.1-gd \
|
||||
php8.1-intl \
|
||||
php8.1-zip \
|
||||
php8.1-bcmath \
|
||||
php8.1-imap \
|
||||
php8.1-pspell \
|
||||
php8.1-sqlite3 \
|
||||
php8.1-pgsql \
|
||||
php8.1-tidy \
|
||||
php8.1-xmlrpc \
|
||||
php8.1-xml \
|
||||
php8.1-mbstring \
|
||||
php8.1-apcu \
|
||||
php8.1-common \
|
||||
# php8.1-json \
|
||||
php8.1-readline \
|
||||
php8.1-enchant \
|
||||
php8.1-ssh2 \
|
||||
php8.1-oauth \
|
||||
php8.1-gmagick \
|
||||
php8.1-gnupg \
|
||||
php8.1-redis \
|
||||
smbclient libsmbclient \
|
||||
php8.1-yaml \
|
||||
# php8.1-geoip \
|
||||
sendmail && \
|
||||
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
|
||||
update-alternatives --set php /usr/bin/php8.1 && \
|
||||
pecl channel-update pecl.php.net && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Enabling extensions
|
||||
##################################################################
|
||||
RUN phpenmod \
|
||||
snmp \
|
||||
gmp \
|
||||
calendar \
|
||||
ldap \
|
||||
curl \
|
||||
exif \
|
||||
ftp \
|
||||
fileinfo \
|
||||
gd \
|
||||
geoip \
|
||||
gnupg \
|
||||
iconv \
|
||||
imap \
|
||||
json \
|
||||
mbstring \
|
||||
memcached \
|
||||
mysqli \
|
||||
mysqlnd \
|
||||
oauth \
|
||||
pdo_mysql \
|
||||
pdo_sqlite \
|
||||
phar \
|
||||
posix \
|
||||
readline \
|
||||
redis \
|
||||
simplexml \
|
||||
sockets \
|
||||
sqlite3 \
|
||||
ssh2 \
|
||||
tokenizer \
|
||||
xml \
|
||||
xmlreader \
|
||||
xmlrpc \
|
||||
xmlwriter \
|
||||
xsl \
|
||||
yaml && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing timezonedb addon
|
||||
##################################################################
|
||||
RUN pecl install timezonedb && \
|
||||
# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing imagic addon
|
||||
##################################################################
|
||||
RUN apt-get update && \
|
||||
apt-get install -y --allow-unauthenticated \
|
||||
libmagickwand-dev \
|
||||
imagemagick && \
|
||||
pecl install imagick && \
|
||||
# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# not supported with php8
|
||||
##################################################################
|
||||
# Installing IOnCube addon
|
||||
#################################################################
|
||||
#ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz
|
||||
#RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
|
||||
# cp /tmp/ioncube/ioncube_loader_lin_7.4.so ${PHP_MODULE_PATH} && \
|
||||
## echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \
|
||||
# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cgi/php.ini && \
|
||||
# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cli/php.ini && \
|
||||
# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/fpm/php.ini && \
|
||||
# php -m && \
|
||||
# php -v
|
||||
|
||||
##################################################################
|
||||
# Installing P4 addon
|
||||
##################################################################
|
||||
COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH}
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \
|
||||
ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \
|
||||
ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \
|
||||
ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing smbclient addon
|
||||
##################################################################
|
||||
COPY --from=builder /builds/export/smbclient.so ${PHP_MODULE_PATH}
|
||||
RUN echo "extension = ${PHP_MODULE_PATH}/smbclient.so" > ${SMB_PHP_INI} && \
|
||||
ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cgi/conf.d/smbclient.ini && \
|
||||
ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cli/conf.d/smbclient.ini && \
|
||||
ln -sf ${SMB_PHP_INI} ${PHP_DIR}/fpm/conf.d/smbclient.ini && \
|
||||
php -m && \
|
||||
php -v
|
||||
|
||||
##################################################################
|
||||
# Installing Composer addon
|
||||
##################################################################
|
||||
RUN cd /tmp && \
|
||||
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
|
||||
php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
|
||||
rm /tmp/composer-setup.php
|
||||
|
||||
##################################################################
|
||||
# cleaninig up
|
||||
##################################################################
|
||||
RUN apt clean -y && \
|
||||
apt autoclean -y && \
|
||||
rm -rfv /var/lib/apt/lists/* && \
|
||||
rm -rfv /var/cache/apt/archives/*.deb && \
|
||||
rm -rfv /tmp/deb/* && \
|
||||
rm -rfv /tmp/ioncube/* && \
|
||||
rm -rfv /tmp/composer-setup.php && \
|
||||
rm -rfv /tmp/ioncube.tar.gz
|
||||
|
19
linux/ecosystem/php/php8.1-p4-not-ready/Makefile
Normal file
19
linux/ecosystem/php/php8.1-p4-not-ready/Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
all: app
|
||||
|
||||
app:
|
||||
make build
|
||||
make deploy
|
||||
make clean
|
||||
|
||||
build:
|
||||
docker-compose build --compress --parallel
|
||||
|
||||
deploy:
|
||||
docker-compose push
|
||||
|
||||
clean:
|
||||
docker container prune -f
|
||||
docker image prune -f
|
||||
docker network prune -f
|
||||
docker volume prune -f
|
||||
docker system prune -af
|
0
linux/ecosystem/php/php8.1-p4-not-ready/README.md
Normal file
0
linux/ecosystem/php/php8.1-p4-not-ready/README.md
Normal file
@ -0,0 +1,6 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
app:
|
||||
image: "epicmorg/php:php8.1"
|
||||
build:
|
||||
context: .
|
@ -22,7 +22,7 @@ RUN echo "24333f8a63b6825ea9c5514f83c2829b004d1fee" > /usr/lib/android-sdk/licen
|
||||
##################################################################
|
||||
# SDKMAN
|
||||
##################################################################
|
||||
RUN curl -s "https://get.sdkman.io" | bash
|
||||
RUN curl -s "http://get.sdkman.io" | bash
|
||||
|
||||
##################################################################
|
||||
# Gradle
|
||||
|
@ -2,53 +2,65 @@ FROM epicmorg/teamcity-agent:latest
|
||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||
ARG DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
COPY sources.list.d/sources.11.list /etc/apt/sources.list.d/sources.11.list
|
||||
|
||||
##################################################################
|
||||
# teamcity dotnet+powershell setup
|
||||
##################################################################
|
||||
# Opt out of the telemetry feature
|
||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
|
||||
|
||||
# Disable first time experience
|
||||
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
||||
|
||||
# Configure Kestrel web server to bind to port 80 when present
|
||||
ENV ASPNETCORE_URLS=\
|
||||
|
||||
# Enable detection of running in a container
|
||||
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
||||
|
||||
# Enable correct mode for dotnet watch (only mode supported in a container)
|
||||
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
|
||||
|
||||
# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance
|
||||
ENV NUGET_XMLDOC_MODE=skip
|
||||
|
||||
#unofficial support of openssl1.1 instead of 1.0 [https://stackoverflow.com/questions/51901359]
|
||||
ENV CLR_OPENSSL_VERSION_OVERRIDE=45
|
||||
|
||||
# PowerShell telemetry for docker image usage
|
||||
ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-10
|
||||
|
||||
#Install packages
|
||||
RUN curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - && \
|
||||
echo 'deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/debian/10/prod buster main' > /etc/apt/sources.list.d/microsoft.dotnet.list && \
|
||||
echo 'deb [arch=amd64,arm64,armhf] https://packages.microsoft.com/debian/11/prod bullseye main' > /etc/apt/sources.list.d/microsoft.dotnet.list && \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends --allow-unauthenticated \
|
||||
libc6 \
|
||||
# libgcc1 \
|
||||
libgcc1 \
|
||||
libgssapi-krb5-2 \
|
||||
libicu63 \
|
||||
liblttng-ust0 \
|
||||
libssl1.1 \
|
||||
libstdc++6 \
|
||||
zlib1g \
|
||||
dotnet-sdk-2.1 \
|
||||
dotnet-runtime-deps-2.1 \
|
||||
dotnet-runtime-2.1 \
|
||||
dotnet-hostfxr-2.1 \
|
||||
dotnet-sdk-3.1 \
|
||||
dotnet-targeting-pack-3.1 \
|
||||
dotnet-runtime-deps-3.1 \
|
||||
dotnet-runtime-3.1 \
|
||||
dotnet-hostfxr-3.1 \
|
||||
dotnet-apphost-pack-3.1 \
|
||||
dotnet-sdk-5.0 \
|
||||
dotnet-targeting-pack-5.0 \
|
||||
dotnet-runtime-deps-5.0 \
|
||||
dotnet-runtime-5.0 \
|
||||
dotnet-hostfxr-5.0 \
|
||||
dotnet-apphost-pack-5.0 \
|
||||
dotnet-sdk-6.0 \
|
||||
dotnet-targeting-pack-6.0 \
|
||||
dotnet-runtime-deps-6.0 \
|
||||
dotnet-runtime-6.0 \
|
||||
dotnet-hostfxr-6.0 \
|
||||
dotnet-apphost-pack-6.0 \
|
||||
dotnet-host \
|
||||
procdump \
|
||||
# procmon \
|
||||
powershell-preview \
|
||||
powershell
|
||||
|
||||
@ -57,6 +69,25 @@ RUN dotnet help && \
|
||||
pwsh-preview -v && \
|
||||
pwsh -v
|
||||
|
||||
|
||||
##################################################################
|
||||
# Mono
|
||||
##################################################################
|
||||
#RUN apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF && \
|
||||
# echo "deb https://download.mono-project.com/repo/debian stable-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list && \
|
||||
# echo "deb https://download.mono-project.com/repo/debian nightly-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-nightly.list && \
|
||||
# echo "deb https://download.mono-project.com/repo/debian preview-buster main" | sudo tee /etc/apt/sources.list.d/mono-official-preview.list && \
|
||||
# apt-get update && \
|
||||
# apt-get install -y --allow-unauthenticated \
|
||||
# mono-complete \
|
||||
# mono-llvm-support \
|
||||
# mono-devel \
|
||||
# mono-dbg \
|
||||
# referenceassemblies-pcl \
|
||||
# ca-certificates-mono
|
||||
# mono-xsp4
|
||||
|
||||
|
||||
##################################################################
|
||||
# cleaninig up
|
||||
##################################################################
|
||||
|
@ -0,0 +1,21 @@
|
||||
#main
|
||||
deb http://httpredir.debian.org/debian/ bullseye main contrib non-free
|
||||
deb-src http://httpredir.debian.org/debian/ bullseye main contrib non-free
|
||||
deb http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free
|
||||
deb-src http://httpredir.debian.org/debian/ bullseye-updates main contrib non-free
|
||||
deb http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free
|
||||
deb-src http://httpredir.debian.org/debian/ bullseye-backports main contrib non-free
|
||||
deb http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free
|
||||
deb-src http://httpredir.debian.org/debian/ bullseye-proposed-updates main contrib non-free
|
||||
|
||||
#security
|
||||
deb http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free
|
||||
deb-src http://httpredir.debian.org/debian-security/ bullseye-security main contrib non-free
|
||||
deb http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free
|
||||
deb-src http://httpredir.debian.org/debian-security/ bullseye-security/updates main contrib non-free
|
||||
|
||||
##multimedia
|
||||
# deb http://httpredir.debian.org/debian-multimedia/ bullseye main non-free
|
||||
# deb-src http://httpredir.debian.org/debian-multimedia/ bullseye main non-free
|
||||
# deb http://httpredir.debian.org/debian-multimedia/ bullseye-backports main
|
||||
# deb-src http://httpredir.debian.org/debian-multimedia/ bullseye-backports main
|
@ -1,40 +0,0 @@
|
||||
FROM epicmorg/apache2:php7.4
|
||||
|
||||
ARG TESTRAIL_VERSION=latest
|
||||
ARG DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
|
||||
ARG TESTRAIL_RELEASE_DIR=testrail-release
|
||||
|
||||
ENV TR_DEFAULT_TASK_EXECUTION=60
|
||||
ENV TR_CONFIGPATH="/var/www/testrail/config/"
|
||||
ENV TR_DEFAULT_LOG_DIR="/opt/testrail/logs/"
|
||||
ENV TR_DEFAULT_AUDIT_DIR="/opt/testrail/audit/"
|
||||
ENV TR_DEFAULT_REPORT_DIR="/opt/testrail/reports/"
|
||||
ENV TR_DEFAULT_ATTACHMENT_DIR="/opt/testrail/attachments/"
|
||||
ENV OPENSSL_CONF=/etc/ssl/
|
||||
|
||||
RUN \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /run.sh
|
||||
|
||||
|
||||
RUN \
|
||||
echo "WGET" && \
|
||||
mkdir -p /${TESTRAIL_RELEASE_DIR} && \
|
||||
mkdir -p /var/www/testrail && \
|
||||
mkdir -p /opt/testrail/attachments /opt/testrail/reports /opt/testrail/logs /opt/testrail/audit && \
|
||||
wget --no-check-certificate -O /${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
|
||||
chown -R www-data:www-data /${TESTRAIL_RELEASE_DIR} && \
|
||||
chown -R www-data:www-data /var/www/testrail && \
|
||||
chown -R www-data:www-data /opt/testrail
|
||||
|
||||
|
||||
COPY apache_testrail.conf /${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
|
||||
COPY run.sh /run.sh
|
||||
|
||||
WORKDIR /var/www/testrail
|
||||
EXPOSE 80
|
||||
|
||||
CMD ["/run.sh"]
|
13
linux/ecosystem/testrail/ad/Dockerfile
Normal file
13
linux/ecosystem/testrail/ad/Dockerfile
Normal file
@ -0,0 +1,13 @@
|
||||
FROM epicmorg/testrail:latest
|
||||
|
||||
ENV TESTRAIL_PLUGIN_VERSION=1.4
|
||||
ENV TESTRAIL_PLUGIN_NAME=ad
|
||||
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
|
||||
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
|
||||
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
|
||||
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
|
||||
|
||||
RUN rm -rfv /run.sh
|
||||
COPY run.sh /run.sh
|
||||
|
||||
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
|
19
linux/ecosystem/testrail/ad/Makefile
Normal file
19
linux/ecosystem/testrail/ad/Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
all: app
|
||||
|
||||
app:
|
||||
make build
|
||||
make deploy
|
||||
make clean
|
||||
|
||||
build:
|
||||
docker-compose build --compress --parallel
|
||||
|
||||
deploy:
|
||||
docker-compose push
|
||||
|
||||
clean:
|
||||
docker container prune -f
|
||||
docker image prune -f
|
||||
docker network prune -f
|
||||
docker volume prune -f
|
||||
docker system prune -af
|
6
linux/ecosystem/testrail/ad/docker-compose.yml
Normal file
6
linux/ecosystem/testrail/ad/docker-compose.yml
Normal file
@ -0,0 +1,6 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
app:
|
||||
image: "epicmorg/testrail:auth-ad"
|
||||
build:
|
||||
context: .
|
68
linux/ecosystem/testrail/ad/run.sh
Executable file
68
linux/ecosystem/testrail/ad/run.sh
Executable file
@ -0,0 +1,68 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
#env
|
||||
|
||||
##################################################################################
|
||||
|
||||
function createOptDirectory {
|
||||
if [ ! -d $1 ]
|
||||
then
|
||||
echo "[testrail] Creating " $1
|
||||
mkdir -p $1
|
||||
fi
|
||||
|
||||
chown -R www-data:www-data $1
|
||||
}
|
||||
|
||||
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
|
||||
|
||||
echo "[testrail] Unzipping testrail service"
|
||||
unzip -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
|
||||
|
||||
echo "[testrail] Unzipping testrail Active Directory auth plugin"
|
||||
unzip -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
|
||||
|
||||
createOptDirectory ${TR_DEFAULT_LOG_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
|
||||
|
||||
chown -R www-data:www-data ${TR_CONFIG_DIR}
|
||||
|
||||
|
||||
#################################################################################
|
||||
|
||||
echo "[testrail] Waiting for background task file"
|
||||
while [ ! -f /var/www/testrail/task.php ]
|
||||
do
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "[testrail] Starting background task"
|
||||
while /bin/true; do
|
||||
php /var/www/testrail/task.php || true
|
||||
sleep ${TR_DEFAULT_TASK_EXECUTION}
|
||||
done &
|
||||
echo "[testrail] Background task stoped"
|
||||
|
||||
|
||||
#################################################################################
|
||||
|
||||
if [[ -z "${FIX_WWW_DATA}" ]]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
|
||||
chown www-data:www-data /var/www -R
|
||||
elif [ "${FIX_WWW_DATA}" == "false" ]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "true" ]; then
|
||||
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
|
||||
chown www-data:www-data /var/www -R
|
||||
echo "[apache2] Done"
|
||||
else
|
||||
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
|
||||
fi
|
||||
|
||||
echo "[apache2] Starting up"
|
||||
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
55
linux/ecosystem/testrail/latest/Dockerfile
Normal file
55
linux/ecosystem/testrail/latest/Dockerfile
Normal file
@ -0,0 +1,55 @@
|
||||
FROM epicmorg/apache2:php7.4
|
||||
|
||||
ENV TESTRAIL_VERSION=latest
|
||||
ENV DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
|
||||
ENV TR_DEFAULT_TASK_EXECUTION=60
|
||||
|
||||
ENV TESTRAIL_RELEASE_DIR=/testrail-release
|
||||
|
||||
ENV TR_WWW_PATH=/var/www/testrail
|
||||
ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
|
||||
ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
|
||||
ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
|
||||
ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
|
||||
|
||||
ENV TR_OPT_PATH=/opt/testrail
|
||||
ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
|
||||
ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
|
||||
ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
|
||||
ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
|
||||
|
||||
ENV TR_OPTPATH="/opt/testrail/"
|
||||
ENV TR_CONFIGPATH="/var/www/testrail/config/"
|
||||
|
||||
ENV OPENSSL_CONF=/etc/ssl/
|
||||
|
||||
RUN \
|
||||
apt-get update && \
|
||||
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* && \
|
||||
rm -rf /run.sh
|
||||
|
||||
|
||||
RUN \
|
||||
echo "[testrail] Preparing folders" && \
|
||||
mkdir -p ${TESTRAIL_RELEASE_DIR} && \
|
||||
mkdir -p ${TR_WWW_PATH} && \
|
||||
mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
|
||||
echo "[testrail] Downloading and installing" && \
|
||||
wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
|
||||
chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
|
||||
unzip -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
|
||||
chown -R www-data:www-data ${TR_WWW_PATH} && \
|
||||
ls -las ${TR_WWW_PATH} && \
|
||||
chown -R www-data:www-data ${TR_OPT_PATH} && \
|
||||
ls -las ${TR_OPT_PATH}
|
||||
|
||||
|
||||
COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
|
||||
COPY run.sh /run.sh
|
||||
|
||||
WORKDIR /var/www/testrail
|
||||
EXPOSE 80
|
||||
|
||||
CMD ["/run.sh"]
|
19
linux/ecosystem/testrail/latest/Makefile
Normal file
19
linux/ecosystem/testrail/latest/Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
all: app
|
||||
|
||||
app:
|
||||
make build
|
||||
make deploy
|
||||
make clean
|
||||
|
||||
build:
|
||||
docker-compose build --compress --parallel
|
||||
|
||||
deploy:
|
||||
docker-compose push
|
||||
|
||||
clean:
|
||||
docker container prune -f
|
||||
docker image prune -f
|
||||
docker network prune -f
|
||||
docker volume prune -f
|
||||
docker system prune -af
|
36
linux/ecosystem/testrail/latest/README.md
Normal file
36
linux/ecosystem/testrail/latest/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
## Testrail
|
||||
|
||||
* Based on `websites:php7.2` of our ecosystem.
|
||||
|
||||
# Compose example
|
||||
|
||||
```yml
|
||||
version: '3.7'
|
||||
services:
|
||||
testrail:
|
||||
image: epicmorg/testrail
|
||||
# depends_on:
|
||||
# - mysql
|
||||
# - memcached
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime
|
||||
- /etc/timezone:/etc/timezone
|
||||
# - /etc/letsencrypt:/etc/letsencrypt
|
||||
- www:/var/www
|
||||
- apache2:/etc/apache2
|
||||
- php:/etc/php
|
||||
restart: unless-stopped
|
||||
# extra_hosts:
|
||||
# - "example.com:192.168.0.11"
|
||||
tmpfs:
|
||||
- /tmp
|
||||
- /var/lib/php/sessions
|
||||
volumes:
|
||||
www:
|
||||
external: true
|
||||
apache2:
|
||||
external: true
|
||||
php:
|
||||
external: true
|
||||
```
|
66
linux/ecosystem/testrail/latest/run.sh
Executable file
66
linux/ecosystem/testrail/latest/run.sh
Executable file
@ -0,0 +1,66 @@
|
||||
#!/bin/bash
|
||||
|
||||
#set -e
|
||||
#env
|
||||
|
||||
##################################################################################
|
||||
|
||||
function createOptDirectory {
|
||||
if [ ! -d $1 ]
|
||||
then
|
||||
echo "[testrail] Creating " $1
|
||||
mkdir -p $1
|
||||
fi
|
||||
|
||||
chown -R www-data:www-data $1
|
||||
}
|
||||
|
||||
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
|
||||
|
||||
echo "[testrail] Unzipping testrail service"
|
||||
unzip -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
|
||||
|
||||
createOptDirectory ${TR_DEFAULT_LOG_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
|
||||
|
||||
chown -R www-data:www-data ${TR_CONFIG_DIR}
|
||||
|
||||
|
||||
#################################################################################
|
||||
|
||||
echo "[testrail] Waiting for background task file"
|
||||
while [ ! -f /var/www/testrail/task.php ]
|
||||
do
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "[testrail] Starting background task"
|
||||
while /bin/true; do
|
||||
php /var/www/testrail/task.php || true
|
||||
sleep ${TR_DEFAULT_TASK_EXECUTION}
|
||||
done &
|
||||
echo "[testrail] Background task stoped"
|
||||
|
||||
|
||||
#################################################################################
|
||||
|
||||
if [[ -z "${FIX_WWW_DATA}" ]]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
|
||||
chown www-data:www-data /var/www -R
|
||||
elif [ "${FIX_WWW_DATA}" == "false" ]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "true" ]; then
|
||||
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
|
||||
chown www-data:www-data /var/www -R
|
||||
echo "[apache2] Done"
|
||||
else
|
||||
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
|
||||
fi
|
||||
|
||||
echo "[apache2] Starting up"
|
||||
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
13
linux/ecosystem/testrail/ldap/Dockerfile
Normal file
13
linux/ecosystem/testrail/ldap/Dockerfile
Normal file
@ -0,0 +1,13 @@
|
||||
FROM epicmorg/testrail:latest
|
||||
|
||||
ENV TESTRAIL_PLUGIN_VERSION=1.4
|
||||
ENV TESTRAIL_PLUGIN_NAME=ldap
|
||||
ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
|
||||
ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
|
||||
ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
|
||||
ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
|
||||
|
||||
RUN rm -rfv /run.sh
|
||||
COPY run.sh /run.sh
|
||||
|
||||
RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
|
19
linux/ecosystem/testrail/ldap/Makefile
Normal file
19
linux/ecosystem/testrail/ldap/Makefile
Normal file
@ -0,0 +1,19 @@
|
||||
all: app
|
||||
|
||||
app:
|
||||
make build
|
||||
make deploy
|
||||
make clean
|
||||
|
||||
build:
|
||||
docker-compose build --compress --parallel
|
||||
|
||||
deploy:
|
||||
docker-compose push
|
||||
|
||||
clean:
|
||||
docker container prune -f
|
||||
docker image prune -f
|
||||
docker network prune -f
|
||||
docker volume prune -f
|
||||
docker system prune -af
|
36
linux/ecosystem/testrail/ldap/README.md
Normal file
36
linux/ecosystem/testrail/ldap/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
## Testrail
|
||||
|
||||
* Based on `websites:php7.2` of our ecosystem.
|
||||
|
||||
# Compose example
|
||||
|
||||
```yml
|
||||
version: '3.7'
|
||||
services:
|
||||
testrail:
|
||||
image: epicmorg/testrail
|
||||
# depends_on:
|
||||
# - mysql
|
||||
# - memcached
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- /etc/localtime:/etc/localtime
|
||||
- /etc/timezone:/etc/timezone
|
||||
# - /etc/letsencrypt:/etc/letsencrypt
|
||||
- www:/var/www
|
||||
- apache2:/etc/apache2
|
||||
- php:/etc/php
|
||||
restart: unless-stopped
|
||||
# extra_hosts:
|
||||
# - "example.com:192.168.0.11"
|
||||
tmpfs:
|
||||
- /tmp
|
||||
- /var/lib/php/sessions
|
||||
volumes:
|
||||
www:
|
||||
external: true
|
||||
apache2:
|
||||
external: true
|
||||
php:
|
||||
external: true
|
||||
```
|
6
linux/ecosystem/testrail/ldap/docker-compose.yml
Normal file
6
linux/ecosystem/testrail/ldap/docker-compose.yml
Normal file
@ -0,0 +1,6 @@
|
||||
version: '3.9'
|
||||
services:
|
||||
app:
|
||||
image: "epicmorg/testrail:auth-ldap"
|
||||
build:
|
||||
context: .
|
65
linux/ecosystem/testrail/ldap/run.sh
Executable file
65
linux/ecosystem/testrail/ldap/run.sh
Executable file
@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
|
||||
function createOptDirectory {
|
||||
if [ ! -d $1 ]
|
||||
then
|
||||
echo "[testrail] Creating " $1
|
||||
mkdir -p $1
|
||||
fi
|
||||
|
||||
chown -R www-data:www-data $1
|
||||
}
|
||||
|
||||
/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
|
||||
|
||||
echo "[testrail] Unzipping testrail service"
|
||||
unzip -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
|
||||
|
||||
echo "[testrail] Unzipping testrail LDAP auth plugin"
|
||||
unzip -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
|
||||
|
||||
createOptDirectory ${TR_DEFAULT_LOG_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_REPORT_DIR}
|
||||
createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
|
||||
|
||||
chown -R www-data:www-data ${TR_CONFIG_DIR}
|
||||
|
||||
|
||||
#################################################################################
|
||||
|
||||
echo "[testrail] Waiting for background task file"
|
||||
while [ ! -f /var/www/testrail/task.php ]
|
||||
do
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "[testrail] Starting background task"
|
||||
while /bin/true; do
|
||||
php /var/www/testrail/task.php || true
|
||||
sleep ${TR_DEFAULT_TASK_EXECUTION}
|
||||
done &
|
||||
echo "[testrail] Background task stoped"
|
||||
|
||||
|
||||
#################################################################################
|
||||
|
||||
if [[ -z "${FIX_WWW_DATA}" ]]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
|
||||
chown www-data:www-data /var/www -R
|
||||
elif [ "${FIX_WWW_DATA}" == "false" ]; then
|
||||
echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
|
||||
elif [ "${FIX_WWW_DATA}" == "true" ]; then
|
||||
echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
|
||||
chown www-data:www-data /var/www -R
|
||||
echo "[apache2] Done"
|
||||
else
|
||||
echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
|
||||
fi
|
||||
|
||||
echo "[apache2] Starting up"
|
||||
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
@ -1,47 +0,0 @@
|
||||
#!/bin/bash
|
||||
#set -e
|
||||
|
||||
function createOptDirectory {
|
||||
if [ ! -d $1 ]
|
||||
then
|
||||
echo "Creating " $1
|
||||
mkdir -p $1
|
||||
fi
|
||||
|
||||
chown -R www-data:www-data $1
|
||||
}
|
||||
|
||||
/bin/cp -rf /testrail-release/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
|
||||
|
||||
echo "##############"
|
||||
echo "Unzipping testrail"
|
||||
unzip /testrail-release/testrail.zip -d /var/www/
|
||||
|
||||
createOptDirectory $TR_DEFAULT_LOG_DIR
|
||||
createOptDirectory $TR_DEFAULT_AUDIT_DIR
|
||||
createOptDirectory $TR_DEFAULT_REPORT_DIR
|
||||
createOptDirectory $TR_DEFAULT_ATTACHMENT_DIR
|
||||
|
||||
|
||||
chown -R www-data:www-data /var/www/testrail/config
|
||||
|
||||
|
||||
echo "##############"
|
||||
echo "Waiting for background task file"
|
||||
while [ ! -f /var/www/testrail/task.php ]
|
||||
do
|
||||
sleep 2
|
||||
done
|
||||
|
||||
echo "Starting background task"
|
||||
while /bin/true; do
|
||||
php /var/www/testrail/task.php || true
|
||||
sleep $TR_DEFAULT_TASK_EXECUTION
|
||||
done &
|
||||
echo "##############"
|
||||
|
||||
chown www-data:www-data /var/www -R
|
||||
|
||||
source /etc/apache2/envvars
|
||||
tail -F /var/log/apache2/* &
|
||||
exec apache2 -D FOREGROUND
|
Loading…
Reference in New Issue
Block a user