mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2024-12-26 22:55:44 +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
|
Makefile.temp
|
||||||
|
@ -1,5 +1,14 @@
|
|||||||
## Changelog
|
## Changelog
|
||||||
|
### 2022
|
||||||
|
* `january`
|
||||||
|
* fixed `apache2`
|
||||||
|
* added `php8` support
|
||||||
|
* extended `testrail` releases with `active directory` and `ldap` auth support.
|
||||||
### 2021
|
### 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`
|
* `october-november`
|
||||||
* added `nginx:quic` image. UNSTABLE.
|
* added `nginx:quic` image. UNSTABLE.
|
||||||
* added `redash:latest` image in to `advanced` pack.
|
* 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/main && pwd && make
|
||||||
cd `pwd`/linux/ecosystem/nginx/latest/php && 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/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/latest && pwd && make build && make deploy
|
||||||
cd `pwd`/linux/advanced/vscode-server/devops && 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 -m && \
|
||||||
php -v
|
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
|
# Installing imagic addon
|
||||||
##################################################################
|
##################################################################
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/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
|
source /etc/apache2/envvars
|
||||||
tail -F /var/log/apache2/* &
|
tail -F /var/log/apache2/* &
|
||||||
exec apache2 -D FOREGROUND
|
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 -m && \
|
||||||
php -v
|
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
|
# Installing imagic addon
|
||||||
##################################################################
|
##################################################################
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/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
|
source /etc/apache2/envvars
|
||||||
tail -F /var/log/apache2/* &
|
tail -F /var/log/apache2/* &
|
||||||
exec apache2 -D FOREGROUND
|
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 -m && \
|
||||||
php -v
|
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
|
# Installing imagic addon
|
||||||
##################################################################
|
##################################################################
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/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
|
source /etc/apache2/envvars
|
||||||
tail -F /var/log/apache2/* &
|
tail -F /var/log/apache2/* &
|
||||||
exec apache2 -D FOREGROUND
|
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 -m && \
|
||||||
php -v
|
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
|
# Installing imagic addon
|
||||||
##################################################################
|
##################################################################
|
||||||
|
@ -1,5 +1,18 @@
|
|||||||
#!/bin/bash
|
#!/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
|
source /etc/apache2/envvars
|
||||||
tail -F /var/log/apache2/* &
|
tail -F /var/log/apache2/* &
|
||||||
exec apache2 -D FOREGROUND
|
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
|
# 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
|
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
|
# 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
|
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
|
# 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
|
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
|
# 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
|
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
|
RELEASE=8.21.0
|
||||||
DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.17.1.tar.gz
|
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"
|
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
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
|
# bullseye sources list
|
||||||
##################################################################
|
##################################################################
|
||||||
RUN rm -rfv /etc/apt/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 && \
|
RUN apt update && \
|
||||||
apt autoremove -y && \
|
apt autoremove -y && \
|
||||||
apt-get install -y libc6 libxml2-utils && \
|
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
|
# 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
|
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
|
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
|
RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done
|
||||||
|
|
||||||
##################################################################
|
##################################################################
|
||||||
# perforce client binary
|
# 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
|
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_VERSION=7z2103
|
||||||
ENV SZ_DOWNLOAD_URL=https://www.7-zip.org/a/${SZ_VERSION}-linux-x64.tar.xz
|
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
|
# installing utils
|
||||||
##################################################################
|
##################################################################
|
||||||
@ -47,6 +58,16 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
|
|||||||
ffmpeg \
|
ffmpeg \
|
||||||
fontconfig \
|
fontconfig \
|
||||||
git \
|
git \
|
||||||
|
git-extras \
|
||||||
|
git-flow \
|
||||||
|
git-cvs \
|
||||||
|
git-doc \
|
||||||
|
git-email \
|
||||||
|
git-mediawiki \
|
||||||
|
git-crypt \
|
||||||
|
git-lfs \
|
||||||
|
git-ftp \
|
||||||
|
git-hub \
|
||||||
gnupg \
|
gnupg \
|
||||||
gnupg2 \
|
gnupg2 \
|
||||||
graphicsmagick \
|
graphicsmagick \
|
||||||
@ -98,6 +119,29 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
|
|||||||
wget \
|
wget \
|
||||||
zip
|
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
|
# Install p4client
|
||||||
##################################################################
|
##################################################################
|
||||||
@ -115,6 +159,17 @@ RUN wget -nv --random-wait -c -O /tmp/7z.tar.xz ${SZ_DOWNLOAD_URL} && \
|
|||||||
7zz | head -4 && \
|
7zz | head -4 && \
|
||||||
7z | 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
|
# Generate ssl key
|
||||||
##################################################################
|
##################################################################
|
||||||
@ -129,4 +184,5 @@ RUN apt purge policykit-1 -y && \
|
|||||||
rm -rfv /var/lib/apt/lists/* && \
|
rm -rfv /var/lib/apt/lists/* && \
|
||||||
rm -rfv /tmp/mc.patch && \
|
rm -rfv /tmp/mc.patch && \
|
||||||
rm -rfv /var/cache/apt/archives/*.deb && \
|
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_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/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/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/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/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/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 && \
|
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=http-subs-filter \
|
||||||
--add-dynamic-module=ssl-ct \
|
--add-dynamic-module=ssl-ct \
|
||||||
--add-dynamic-module=http-geoip2 \
|
--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=http-auth-ldap \
|
||||||
# --add-dynamic-module=nginx-audio-track-for-hls-module \
|
# --add-dynamic-module=nginx-audio-track-for-hls-module \
|
||||||
--add-dynamic-module=ip2location-nginx \
|
--add-dynamic-module=ip2location-nginx \
|
||||||
|
@ -1,2 +1,2 @@
|
|||||||
NGINX_VERSION=latest
|
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_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 -m && \
|
||||||
php -v
|
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
|
# Installing imagic addon
|
||||||
##################################################################
|
##################################################################
|
||||||
|
@ -177,6 +177,17 @@ RUN phpenmod \
|
|||||||
php -m && \
|
php -m && \
|
||||||
php -v
|
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
|
# Installing imagic addon
|
||||||
##################################################################
|
##################################################################
|
||||||
|
@ -184,6 +184,17 @@ RUN phpenmod \
|
|||||||
php -m && \
|
php -m && \
|
||||||
php -v
|
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
|
# Installing imagic addon
|
||||||
##################################################################
|
##################################################################
|
||||||
|
@ -187,6 +187,17 @@ RUN phpenmod \
|
|||||||
php -m && \
|
php -m && \
|
||||||
php -v
|
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
|
# 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
|
# SDKMAN
|
||||||
##################################################################
|
##################################################################
|
||||||
RUN curl -s "https://get.sdkman.io" | bash
|
RUN curl -s "http://get.sdkman.io" | bash
|
||||||
|
|
||||||
##################################################################
|
##################################################################
|
||||||
# Gradle
|
# Gradle
|
||||||
|
@ -2,53 +2,65 @@ FROM epicmorg/teamcity-agent:latest
|
|||||||
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
|
||||||
ARG DEBIAN_FRONTEND=noninteractive
|
ARG DEBIAN_FRONTEND=noninteractive
|
||||||
|
|
||||||
|
COPY sources.list.d/sources.11.list /etc/apt/sources.list.d/sources.11.list
|
||||||
|
|
||||||
##################################################################
|
##################################################################
|
||||||
# teamcity dotnet+powershell setup
|
# teamcity dotnet+powershell setup
|
||||||
##################################################################
|
##################################################################
|
||||||
# Opt out of the telemetry feature
|
# Opt out of the telemetry feature
|
||||||
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
|
ENV DOTNET_CLI_TELEMETRY_OPTOUT=true
|
||||||
|
|
||||||
# Disable first time experience
|
# Disable first time experience
|
||||||
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
ENV DOTNET_SKIP_FIRST_TIME_EXPERIENCE=true
|
||||||
|
|
||||||
# Configure Kestrel web server to bind to port 80 when present
|
# Configure Kestrel web server to bind to port 80 when present
|
||||||
ENV ASPNETCORE_URLS=\
|
ENV ASPNETCORE_URLS=\
|
||||||
|
|
||||||
# Enable detection of running in a container
|
# Enable detection of running in a container
|
||||||
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
ENV DOTNET_RUNNING_IN_CONTAINER=true
|
||||||
|
|
||||||
# Enable correct mode for dotnet watch (only mode supported in a container)
|
# Enable correct mode for dotnet watch (only mode supported in a container)
|
||||||
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
|
ENV DOTNET_USE_POLLING_FILE_WATCHER=true
|
||||||
|
|
||||||
# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance
|
# Skip extraction of XML docs - generally not useful within an image/container - helps perfomance
|
||||||
ENV NUGET_XMLDOC_MODE=skip
|
ENV NUGET_XMLDOC_MODE=skip
|
||||||
|
|
||||||
#unofficial support of openssl1.1 instead of 1.0 [https://stackoverflow.com/questions/51901359]
|
#unofficial support of openssl1.1 instead of 1.0 [https://stackoverflow.com/questions/51901359]
|
||||||
ENV CLR_OPENSSL_VERSION_OVERRIDE=45
|
ENV CLR_OPENSSL_VERSION_OVERRIDE=45
|
||||||
|
|
||||||
# PowerShell telemetry for docker image usage
|
# PowerShell telemetry for docker image usage
|
||||||
ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-10
|
ENV POWERSHELL_DISTRIBUTION_CHANNEL=PSDocker-DotnetSDK-Debian-10
|
||||||
|
|
||||||
#Install packages
|
#Install packages
|
||||||
RUN curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - && \
|
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 update && \
|
||||||
apt-get install -y --no-install-recommends --allow-unauthenticated \
|
apt-get install -y --no-install-recommends --allow-unauthenticated \
|
||||||
libc6 \
|
libc6 \
|
||||||
# libgcc1 \
|
libgcc1 \
|
||||||
libgssapi-krb5-2 \
|
libgssapi-krb5-2 \
|
||||||
libicu63 \
|
libicu63 \
|
||||||
liblttng-ust0 \
|
liblttng-ust0 \
|
||||||
libssl1.1 \
|
libssl1.1 \
|
||||||
libstdc++6 \
|
libstdc++6 \
|
||||||
zlib1g \
|
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-sdk-5.0 \
|
||||||
dotnet-targeting-pack-5.0 \
|
dotnet-targeting-pack-5.0 \
|
||||||
dotnet-runtime-deps-5.0 \
|
dotnet-runtime-deps-5.0 \
|
||||||
dotnet-runtime-5.0 \
|
dotnet-runtime-5.0 \
|
||||||
dotnet-hostfxr-5.0 \
|
dotnet-hostfxr-5.0 \
|
||||||
dotnet-apphost-pack-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 \
|
dotnet-host \
|
||||||
|
procdump \
|
||||||
|
# procmon \
|
||||||
powershell-preview \
|
powershell-preview \
|
||||||
powershell
|
powershell
|
||||||
|
|
||||||
@ -57,6 +69,25 @@ RUN dotnet help && \
|
|||||||
pwsh-preview -v && \
|
pwsh-preview -v && \
|
||||||
pwsh -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
|
# 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