diff --git a/.github/workflows/docker-develop.yml b/.github/workflows/docker-develop.yml
index 8d79c3a8f..c159ecc12 100644
--- a/.github/workflows/docker-develop.yml
+++ b/.github/workflows/docker-develop.yml
@@ -64,9 +64,6 @@ jobs:
- name: Build NextCloud (20)
run: docker build --compress -t epicmorg/nextcloud:20 nextcloud/20
- - name: Build sysPass + php7.4 (latest)
- run: docker build --compress -t epicmorg/syspass:latest syspass/sysPass
-
######################################################################################################################################################
#########################################
@@ -152,6 +149,18 @@ jobs:
- name: Build NGinx + RTMP-HLS
run: docker build --compress -t epicmorg/balancer:rtmp-hls balancer/rtmp-hls
+ - name: PHP (latest)
+ run: docker build --compress -t epicmorg/php:latest php/latest
+
+ - name: PHP 7.4
+ run: docker build --compress -t epicmorg/php:php7.4 php/php7.4
+
+ - name: PHP 7.3
+ run: docker build --compress -t epicmorg/php:php7.3 php/php7.3
+
+ - name: PHP 7.2
+ run: docker build --compress -t epicmorg/php:php7.2 php/php7.2
+
- name: Build Apache (latest)
run: docker build --compress -t epicmorg/websites:latest websites/latest
diff --git a/.github/workflows/docker-master.yml b/.github/workflows/docker-master.yml
index bede4c9b8..4e392b2da 100644
--- a/.github/workflows/docker-master.yml
+++ b/.github/workflows/docker-master.yml
@@ -64,11 +64,6 @@ jobs:
- name: Push TeamCity Server (latest)
run: docker push epicmorg/teamcity-server:latest
- - name: Build sysPass + php7.4 (latest)
- run: docker build --compress -t epicmorg/syspass:latest syspass/sysPass
- - name: Push sysPass + php7.4 (latest)
- run: docker push epicmorg/syspass:latest
-
- name: Build MatterMost (latest)
run: docker build --compress -t epicmorg/mattermost-enterprise-edition:latest mattermost/latest
- name: Push MatterMost (latest)
@@ -233,6 +228,13 @@ jobs:
- name: Push Apache (latest)
run: docker push epicmorg/websites:latest
+
+ - name: PHP (latest)
+ run: docker build --compress -t epicmorg/php:latest php/latest
+ - name: Push PHP (latest)
+ run: docker push epicmorg/php:latest
+
+
- name: Build NGinx (latest)
run: docker build --compress -t epicmorg/balancer:latest balancer/latest
- name: Push NGinx (latest)
@@ -301,6 +303,21 @@ jobs:
- name: Push NGinx + RTMP-HLS
run: docker push epicmorg/balancer:rtmp-hls
+ - name: PHP 7.4
+ run: docker build --compress -t epicmorg/php:php7.4 php/php7.4
+ - name: Push PHP 7.4
+ run: docker push epicmorg/php:7.4
+
+ - name: PHP 7.3
+ run: docker build --compress -t epicmorg/php:php7.3 php/php7.3
+ - name: Push PHP 7.3
+ run: docker push epicmorg/php:7.3
+
+ - name: PHP 7.2
+ run: docker build --compress -t epicmorg/php:php7.2 php/php7.2
+ - name: Push PHP 7.2
+ run: docker push epicmorg/php:7.2
+
- name: Build Apache + PHP7.4
run: docker build --compress -t epicmorg/websites:php7.4 websites/php7.4
- name: Push Apache + PHP7.4
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f8e305167..0a6b996b7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,15 @@
## Changelog
+### 2021
+* `january`
+ * splitted `php` from `websites` images. all versions - `7.2-7.4`.
+ * updated `ioncube loader` for `php7.4`. enabled by degault.
+ * added support of `p4php` module. for all versions. enabled by degault.
+ * updated `atlassian` images.
+ * deprecated `syspass` iamge. sorry.
+ * updated `nginx`. and reworked `php` image, now it based in splitted php-image. yay.
+ * updated `teamcity agent` image.
+-------------------------------------------------------------------
+### 2020
* `december`
* added mattermost
* fixed some images
diff --git a/atlassian/bitbucket/latest/Dockerfile b/atlassian/bitbucket/latest/Dockerfile
index 2a62f828c..1889390c8 100644
--- a/atlassian/bitbucket/latest/Dockerfile
+++ b/atlassian/bitbucket/latest/Dockerfile
@@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
-ARG BITBUCKET_VERSION=7.8.0
+ARG BITBUCKET_VERSION=7.9.1
ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz
##################################################################
diff --git a/atlassian/bitbucket/latest/Dockerfile.jdk11 b/atlassian/bitbucket/latest/Dockerfile.jdk11
index 8dc33fe05..0258acb5b 100644
--- a/atlassian/bitbucket/latest/Dockerfile.jdk11
+++ b/atlassian/bitbucket/latest/Dockerfile.jdk11
@@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
-ARG BITBUCKET_VERSION=7.8.0
+ARG BITBUCKET_VERSION=7.9.1
ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/stash/downloads/atlassian-bitbucket-${BITBUCKET_VERSION}.tar.gz
##################################################################
diff --git a/atlassian/confluence/latest/Dockerfile b/atlassian/confluence/latest/Dockerfile
index 364d782a0..91ea61817 100644
--- a/atlassian/confluence/latest/Dockerfile
+++ b/atlassian/confluence/latest/Dockerfile
@@ -5,8 +5,8 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
-ARG CONFLUENCE_VERSION=7.9.1
-ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz
+ARG CONFLUENCE_VERSION=7.10.2
+ARG DOWNLOAD_URL=https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz
##################################################################
# Setup
@@ -33,7 +33,6 @@ RUN mkdir -p ${CONFLUENCE_INSTALL_DIR} \
&& chown -R ${RUN_USER}:${RUN_GROUP} ${CONFLUENCE_INSTALL_DIR}/ \
&& sed -i -e 's/-Xms\([0-9]\+[kmg]\) -Xmx\([0-9]\+[kmg]\)/-Xms\${JVM_MINIMUM_MEMORY:=\1} -Xmx\${JVM_MAXIMUM_MEMORY:=\2} \${JVM_SUPPORT_RECOMMENDED_ARGS} -Dconfluence.home=\${CONFLUENCE_HOME}/g' ${CONFLUENCE_INSTALL_DIR}/bin/setenv.sh \
&& sed -i -e 's/port="8090"/port="8090" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${CONFLUENCE_INSTALL_DIR}/conf/server.xml && \
-
update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \
apt clean -y && \
apt autoclean -y && \
diff --git a/atlassian/confluence/latest/Dockerfile.jdk11 b/atlassian/confluence/latest/Dockerfile.jdk11
index e85106dd8..e8c3ddd99 100644
--- a/atlassian/confluence/latest/Dockerfile.jdk11
+++ b/atlassian/confluence/latest/Dockerfile.jdk11
@@ -5,8 +5,8 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
-ARG CONFLUENCE_VERSION=7.9.1
-ARG DOWNLOAD_URL=http://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz
+ARG CONFLUENCE_VERSION=7.10.2
+ARG DOWNLOAD_URL=https://www.atlassian.com/software/confluence/downloads/binary/atlassian-confluence-${CONFLUENCE_VERSION}.tar.gz
##################################################################
# Setup
diff --git a/atlassian/fisheye-crucible/latest/Dockerfile b/atlassian/fisheye-crucible/latest/Dockerfile
index 991e85577..f956ea04c 100644
--- a/atlassian/fisheye-crucible/latest/Dockerfile
+++ b/atlassian/fisheye-crucible/latest/Dockerfile
@@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
-ARG FECRU_VERSION=4.8.1
+ARG FECRU_VERSION=4.8.5
ARG DOWNLOAD_URL=https://product-downloads.atlassian.com/software/fisheye/downloads/fisheye-${FECRU_VERSION}.zip
##################################################################
diff --git a/atlassian/jira/latest/Dockerfile b/atlassian/jira/latest/Dockerfile
index e09aad767..4bfef088c 100644
--- a/atlassian/jira/latest/Dockerfile
+++ b/atlassian/jira/latest/Dockerfile
@@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
-ARG JIRA_VERSION=8.14.0
+ARG JIRA_VERSION=8.14.1
ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz
##################################################################
diff --git a/atlassian/jira/latest/Dockerfile.jdk11 b/atlassian/jira/latest/Dockerfile.jdk11
index 826ca4eb9..bb5277bc8 100644
--- a/atlassian/jira/latest/Dockerfile.jdk11
+++ b/atlassian/jira/latest/Dockerfile.jdk11
@@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# ARGuments
##################################################################
-ARG JIRA_VERSION=8.14.0
+ARG JIRA_VERSION=8.14.1
ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz
##################################################################
diff --git a/balancer/latest/Dockerfile b/balancer/latest/Dockerfile
index e1e3b286d..dcf1e334c 100644
--- a/balancer/latest/Dockerfile
+++ b/balancer/latest/Dockerfile
@@ -11,7 +11,7 @@ ARG SRC_DIR=${BUILDS_DIR}/src
ARG EXPORT_DIR=${BUILDS_DIR}/export
ARG PRE_DIR=${BUILDS_DIR}/pre
ARG NGINX_SRC_DIR=${SRC_DIR}/nginx
-ARG NGINX_VERSION=1.19.5
+ARG NGINX_VERSION=1.19.6
ARG NGINX_DOWNLOAD_URL=http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
ARG LUAJIT_INC=/usr/local/include/luajit-2.1
ARG LUAJIT_LIB=/usr/local/lib
@@ -151,7 +151,7 @@ RUN cd ${NGINX_SRC_DIR} && \
--add-dynamic-module=nginx-audio-track-for-hls-module \
--add-dynamic-module=ip2location-nginx \
--add-dynamic-module=nginx-vod-module \
- --add-dynamic-module=nginx-module-vts \
+# --add-dynamic-module=nginx-module-vts \
--add-dynamic-module=mod-zip \
--add-dynamic-module=nginx-http-user-agent \
--add-dynamic-module=nginx-unzip-module \
@@ -163,7 +163,6 @@ RUN cd ${NGINX_SRC_DIR} && \
--add-dynamic-module=http-lua && \
cp -fv ${PRE_DIR}/nginx-description-pak ${NGINX_SRC_DIR}/description-pak && \
fakeroot checkinstall -D --pakdir=/builds/export --maintainer="EpicMorg, developer@epicm.org" --pkgname=nginx-custom --install=no -y && \
-
apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
@@ -211,7 +210,6 @@ RUN apt-get update && \
ln -sf /dev/stdout /var/log/nginx/access.log && \
ln -sf /dev/stderr /var/log/nginx/error.log && \
ln -sf /etc/ssl/dhparam.pem /etc/nginx/dhparam.pem && \
-
apt clean -y && \
apt autoclean -y && \
rm -rf /var/lib/apt/lists/* && \
diff --git a/balancer/php/Dockerfile b/balancer/php/Dockerfile
index bb6633353..26df128c2 100644
--- a/balancer/php/Dockerfile
+++ b/balancer/php/Dockerfile
@@ -1,112 +1,212 @@
+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-7.4
+
+ARG P4API_VER=r20.2
+ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
+
+ARG P4PHP_VER=r20.1
+ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz
+
+ARG P4MODULE_PATH=/usr/lib/php/20190902
+
+##################################################################
+# Files and folders
+##################################################################
+RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.4 \
+ php7.4-dev \
+ php7.4-fpm \
+ php7.4-cli \
+ php7.4-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 ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
+
+##################################################################
+##################################################################
+##################################################################
+
+
FROM epicmorg/balancer:latest
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
-# Installing php fpn for nginx from deb
-##################################################################
-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/ buster main" > /etc/apt/sources.list.d/php.list' && \
- apt-get update && \
- apt-get install -y --allow-unauthenticated \
- apache2-utils \
- libmemcached-dev \
- sendmail \
- php-gmp \
- php-snmp \
- php-ldap \
- php7.4-dev \
- php7.4 \
- php-mail \
- php-soap \
- php-mysql \
- php-mailparse \
- php-memcache \
- php-memcached \
- php-curl \
- php-gd \
- php-intl \
- php-zip \
- php-bcmath \
- php-fpm \
- php-imap \
- php-pspell \
- php-sqlite3 \
- php-tidy \
- php-xmlrpc \
- php-xml \
- php-mbstring \
-# php-gettext \
- php7.4-cli \
- php-common \
- php-cgi \
- php-json \
- php-readline \
- php-enchant \
- php-ssh2 \
- php-oauth \
- php-gmagick \
- php-gnupg \
- php-redis \
- php-smbclient \
- php-yaml \
- php-geoip
-
-##################################################################
-# Enabling php modules
-##################################################################
-RUN phpenmod \
- snmp \
- gmp \
- calendar \
- ldap \
- curl \
- exif \
- ftp \
- fileinfo \
- gd \
- geoip \
-# gettext \
- 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
-
-##################################################################
-# ioncube support
-##################################################################
-ADD https://www.ioncube.com/php-7.4.0-beta-loaders/ioncube_loaders_lin_x86-64_7.4_BETA2.tar.gz /tmp/ioncube.tar.gz
+# Installing php fpm for nginx from deb
+##################################################################
+ARG PHP_MODULE_PATH=/usr/lib/php/20190902
+ARG PHP_VER=7.4
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.4 \
+ php7.4-dev \
+ php7.4-fpm \
+ php7.4-cli \
+ php7.4-cgi \
+ php-pear \
+ php-gmp \
+ php-snmp \
+ php-ldap \
+ php-mail \
+ php-soap \
+ php-mysql \
+ php-memcached \
+ php-memcache \
+ php-igbinary \
+ php-curl \
+ php-gd \
+ php-intl \
+ php-zip \
+ php-bcmath \
+ php-imap \
+ php-pspell \
+ php-sqlite3 \
+ php-tidy \
+ php-xmlrpc \
+ php-xml \
+ php-mbstring \
+ php-apcu \
+ php-common \
+ php-json \
+ php-readline \
+ php-enchant \
+ php-ssh2 \
+ php-oauth \
+ php-gmagick \
+ php-gnupg \
+ php-redis \
+ php-smbclient \
+ php-yaml \
+ php-geoip \
+ sendmail && \
+ 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 && \
+ ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
+ php -v
+
+##################################################################
+# 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_loader_lin_7.4_10.4.0_beta2.so /usr/lib/php/20170718/ && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/cgi/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/cli/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/fpm/php.ini && \
+ 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=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
##################################################################
-# composer support
+# Installing Composer addon
##################################################################
RUN cd /tmp && \
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
@@ -121,8 +221,8 @@ RUN apt clean -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_loader_lin_7.4_10.4.0_beta2.so && \
rm -rfv /tmp/ioncube.tar.gz
#Final config
diff --git a/epicmorg/devel/main/Dockerfile b/epicmorg/devel/main/Dockerfile
index a0717cc9e..386a6601f 100644
--- a/epicmorg/devel/main/Dockerfile
+++ b/epicmorg/devel/main/Dockerfile
@@ -28,6 +28,10 @@ RUN apt update && \
RUN apt-get update && \
apt install -y --allow-unauthenticated --allow-downgrades \
build-essential \
+ autoconf-archive \
+ gnu-standards \
+ at \
+ autopkgtest \
gcc-multilib \
g++-multilib \
libxkbcommon-dev \
diff --git a/epicmorg/prod/main/Dockerfile b/epicmorg/prod/main/Dockerfile
index ae0393f78..9164ffedf 100644
--- a/epicmorg/prod/main/Dockerfile
+++ b/epicmorg/prod/main/Dockerfile
@@ -18,6 +18,10 @@ RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done
ARG P4_VERSION=r20.2
ARG P4_DOWNLOAD_URL=http://www.perforce.com/downloads/perforce/${P4_VERSION}/bin.linux26x86_64/p4
+##################################################################
+# LDAP Fix
+##################################################################
+RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
##################################################################
# installing utils
@@ -35,6 +39,7 @@ RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selectio
console-cyrillic \
cron \
curl \
+ dos2unix \
ffmpeg \
fontconfig \
git \
diff --git a/php/latest/Dockerfile b/php/latest/Dockerfile
new file mode 100644
index 000000000..6fad82245
--- /dev/null
+++ b/php/latest/Dockerfile
@@ -0,0 +1,225 @@
+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-7.4
+
+ARG P4API_VER=r20.2
+ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
+
+ARG P4PHP_VER=r20.1
+ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz
+
+ARG P4MODULE_PATH=/usr/lib/php/20190902
+
+##################################################################
+# Files and folders
+##################################################################
+RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.4 \
+ php7.4-dev \
+ php7.4-fpm \
+ php7.4-cli \
+ php7.4-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 ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
+
+##################################################################
+##################################################################
+##################################################################
+
+FROM epicmorg/edge
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_MODULE_PATH=/usr/lib/php/20190902
+ARG PHP_VER=7.4
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.4 \
+ php7.4-dev \
+ php7.4-fpm \
+ php7.4-cli \
+ php7.4-cgi \
+ php-pear \
+ php-gmp \
+ php-snmp \
+ php-ldap \
+ php-mail \
+ php-soap \
+ php-mysql \
+ php-memcached \
+ php-memcache \
+ php-igbinary \
+ php-interbase \
+ php-curl \
+ php-gd \
+ php-intl \
+ php-zip \
+ php-bcmath \
+ php-imap \
+ php-pspell \
+ php-sqlite3 \
+ php-tidy \
+ php-xmlrpc \
+ php-xml \
+ php-mbstring \
+ php-apcu \
+ php-common \
+ php-json \
+ php-readline \
+ php-enchant \
+ php-ssh2 \
+ php-oauth \
+ php-gmagick \
+ php-gnupg \
+ php-redis \
+ php-smbclient \
+ php-yaml \
+ php-geoip \
+ sendmail && \
+ 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 && \
+ ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
+ php -m && \
+ php -v
+
+##################################################################
+# 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=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 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
+
diff --git a/php/latest/Makefile b/php/latest/Makefile
new file mode 100644
index 000000000..60bfd9c5c
--- /dev/null
+++ b/php/latest/Makefile
@@ -0,0 +1,4 @@
+all: php
+php:
+ docker build --compress -t epicmorg/php:latest .
+ docker push epicmorg/php:latest
diff --git a/php/latest/README.md b/php/latest/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/php/php7.2/Dockerfile b/php/php7.2/Dockerfile
new file mode 100644
index 000000000..c3270ee55
--- /dev/null
+++ b/php/php7.2/Dockerfile
@@ -0,0 +1,217 @@
+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-7.2
+
+ARG P4API_VER=r20.2
+ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
+
+ARG P4PHP_VER=r20.1
+ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz
+
+ARG P4MODULE_PATH=/usr/lib/php/20170718
+
+##################################################################
+# Files and folders
+##################################################################
+RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.2 \
+ php7.2-dev \
+ php7.2-fpm \
+ php7.2-cli \
+ php7.2-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 ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
+
+
+##################################################################
+##################################################################
+##################################################################
+
+FROM epicmorg/prod
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_MODULE_PATH=/usr/lib/php/20170718
+ARG PHP_VER=7.2
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.2-ldap \
+ php7.2-dev \
+ php7.2 \
+ php7.2-mail \
+ php7.2-mailparse \
+ php7.2-soap \
+ php7.2-mysql \
+ php7.2-curl \
+ php7.2-gd \
+ php7.2-intl \
+ php7.2-zip \
+ php7.2-bcmath \
+ php7.2-fpm \
+ php7.2-imap \
+ php7.2-pspell \
+ php7.2-recode \
+ php7.2-sqlite3 \
+ php7.2-tidy \
+ php7.2-xmlrpc \
+ php7.2-xml \
+ php7.2-mbstring \
+ php7.2-gettext \
+ php7.2-apcu \
+ php7.2-cli \
+ php7.2-common \
+ php7.2-cgi \
+ php7.2-json \
+ php7.2-readline \
+ php7.2-enchant \
+ php7.2-ssh2 \
+ php7.2-oauth \
+ php7.2-gmagick \
+ php7.2-redis \
+ php7.2-smbclient \
+ php7.2-yaml \
+ php7.2-geoip \
+ sendmail && \
+ phpenmod \
+ calendar \
+ ldap \
+ curl \
+ exif \
+ ftp \
+ fileinfo \
+ gd \
+ geoip \
+ iconv \
+ imap \
+ json \
+ mbstring \
+ mysqli \
+ mysqlnd \
+ oauth \
+ pdo_mysql \
+ pdo_sqlite \
+ phar \
+ posix \
+ readline \
+ redis \
+ simplexml \
+ sockets \
+ sqlite3 \
+ ssh2 \
+ tokenizer \
+ xml \
+ xmlreader \
+ xmlrpc \
+ xmlwriter \
+ xsl \
+ yaml && \
+ ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
+ php -m && \
+ php -v
+
+##################################################################
+# 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.2.so ${PHP_MODULE_PATH} && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.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=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 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
+
diff --git a/php/php7.2/Makefile b/php/php7.2/Makefile
new file mode 100644
index 000000000..388f809e6
--- /dev/null
+++ b/php/php7.2/Makefile
@@ -0,0 +1,4 @@
+all: php
+php:
+ docker build --compress -t epicmorg/php:php7.2 .
+ docker push epicmorg/php:php7.2
diff --git a/php/php7.2/README.md b/php/php7.2/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/php/php7.3/Dockerfile b/php/php7.3/Dockerfile
new file mode 100644
index 000000000..fa26f56e4
--- /dev/null
+++ b/php/php7.3/Dockerfile
@@ -0,0 +1,225 @@
+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-7.3
+
+ARG P4API_VER=r20.2
+ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
+
+ARG P4PHP_VER=r20.1
+ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz
+
+ARG P4MODULE_PATH=/usr/lib/php/20180731
+
+##################################################################
+# Files and folders
+##################################################################
+RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.3 \
+ php7.3-dev \
+ php7.3-fpm \
+ php7.3-cli \
+ php7.3-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 ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
+
+##################################################################
+##################################################################
+##################################################################
+
+FROM epicmorg/edge
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_MODULE_PATH=/usr/lib/php/20180731
+ARG PHP_VER=7.3
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.3-gmp \
+ php7.3-snmp \
+ php7.3-ldap \
+ php7.3-dev \
+ php7.3 \
+ php7.3-mail \
+ php7.3-mailparse \
+ php7.3-soap \
+ php7.3-mysql \
+ php7.3-memcached \
+ php7.3-memcache \
+ php7.3-igbinary \
+ php7.3-curl \
+ php7.3-gd \
+ php7.3-intl \
+ php7.3-zip \
+ php7.3-bcmath \
+ php7.3-fpm \
+ php7.3-imap \
+ php7.3-pspell \
+ php7.3-recode \
+ php7.3-sqlite3 \
+ php7.3-tidy \
+ php7.3-xmlrpc \
+ php7.3-xml \
+ php7.3-mbstring \
+ php7.3-gettext \
+ php7.3-apcu \
+ php7.3-cli \
+ php7.3-common \
+ php7.3-cgi \
+ php7.3-json \
+ php7.3-readline \
+ php7.3-enchant \
+ php7.3-ssh2 \
+ php7.3-oauth \
+ php7.3-gmagick \
+ php7.3-redis \
+ php7.3-smbclient \
+ php7.3-yaml \
+ php7.3-geoip \
+ sendmail && \
+ phpenmod \
+ snmp \
+ gmp \
+ calendar \
+ ldap \
+ curl \
+ exif \
+ ftp \
+ fileinfo \
+ gd \
+ geoip \
+ gettext \
+ 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 && \
+ ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
+ php -m && \
+ php -v
+
+##################################################################
+# 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.3.so ${PHP_MODULE_PATH} && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.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=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 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
+
diff --git a/php/php7.3/Makefile b/php/php7.3/Makefile
new file mode 100644
index 000000000..00f21a98e
--- /dev/null
+++ b/php/php7.3/Makefile
@@ -0,0 +1,4 @@
+all: php
+php:
+ docker build --compress -t epicmorg/php:php7.3 .
+ docker push epicmorg/php:php7.3
diff --git a/php/php7.3/README.md b/php/php7.3/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/php/php7.4/Dockerfile b/php/php7.4/Dockerfile
new file mode 100644
index 000000000..6fad82245
--- /dev/null
+++ b/php/php7.4/Dockerfile
@@ -0,0 +1,225 @@
+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-7.4
+
+ARG P4API_VER=r20.2
+ARG P4API_URL=https://www.perforce.com/downloads/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
+
+ARG P4PHP_VER=r20.1
+ARG P4PHP_URL=https://www.perforce.com/downloads/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz
+
+ARG P4MODULE_PATH=/usr/lib/php/20190902
+
+##################################################################
+# Files and folders
+##################################################################
+RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.4 \
+ php7.4-dev \
+ php7.4-fpm \
+ php7.4-cli \
+ php7.4-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 ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
+
+##################################################################
+##################################################################
+##################################################################
+
+FROM epicmorg/edge
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_MODULE_PATH=/usr/lib/php/20190902
+ARG PHP_VER=7.4
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.4 \
+ php7.4-dev \
+ php7.4-fpm \
+ php7.4-cli \
+ php7.4-cgi \
+ php-pear \
+ php-gmp \
+ php-snmp \
+ php-ldap \
+ php-mail \
+ php-soap \
+ php-mysql \
+ php-memcached \
+ php-memcache \
+ php-igbinary \
+ php-interbase \
+ php-curl \
+ php-gd \
+ php-intl \
+ php-zip \
+ php-bcmath \
+ php-imap \
+ php-pspell \
+ php-sqlite3 \
+ php-tidy \
+ php-xmlrpc \
+ php-xml \
+ php-mbstring \
+ php-apcu \
+ php-common \
+ php-json \
+ php-readline \
+ php-enchant \
+ php-ssh2 \
+ php-oauth \
+ php-gmagick \
+ php-gnupg \
+ php-redis \
+ php-smbclient \
+ php-yaml \
+ php-geoip \
+ sendmail && \
+ 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 && \
+ ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
+ php -m && \
+ php -v
+
+##################################################################
+# 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=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 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
+
diff --git a/php/php7.4/Makefile b/php/php7.4/Makefile
new file mode 100644
index 000000000..aad7364c2
--- /dev/null
+++ b/php/php7.4/Makefile
@@ -0,0 +1,4 @@
+all: php
+php:
+ docker build --compress -t epicmorg/php:php7.4 .
+ docker push epicmorg/php:php7.4
diff --git a/php/php7.4/README.md b/php/php7.4/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/syspass/LICENSE b/syspass/LICENSE
deleted file mode 100644
index 9cecc1d46..000000000
--- a/syspass/LICENSE
+++ /dev/null
@@ -1,674 +0,0 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- {one line to give the program's name and a brief idea of what it does.}
- Copyright (C) {year} {name of author}
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- {project} Copyright (C) {year} {fullname}
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
diff --git a/syspass/README.md b/syspass/README.md
deleted file mode 100644
index 7cbc703f3..000000000
--- a/syspass/README.md
+++ /dev/null
@@ -1,41 +0,0 @@
-# About
-
-**sysPass** is a powerful GPLv3 web password manager for business and personal use.
-
-See more at https://syspass.org
-
-**No compilation stuff done**
-
-## 3.1 release
-
-These images are based on Debian 9 (Stretch), Apache 2.4 webserver with PHP 7.[1-3] module and MariaDB 10.2
-
----
-
-### Production
-
-The best way to get it running is by installing through docker-compose. You will get a fully working sysPass environment with its database.
-
-```
-$ wget https://raw.githubusercontent.com/nuxsmin/docker-syspass/master/docker-compose.yml
-$ docker-compose -p syspass up -d
-```
-
-Please be aware that you will need to setup a database if you choose to build the sysPass-only container.
-
-### Development
-
-If you want to test/develop the current release, please deploy it from https://github.com/nuxsmin/docker-syspass/tree/master/sysPass-dev through docker-compose:
-
-```
-$ wget https://raw.githubusercontent.com/nuxsmin/docker-syspass/master/sysPass-dev/docker-compose.yml
-$ docker-compose -p syspassdev up -d
-```
-
-or pull it:
-
-```
-$ docker run --name sysPass-app-devel syspass/syspass:3.1.x-dev
-```
-
-Please be aware that you will need to setup a database if you choose to build the sysPass-only container.
diff --git a/syspass/sysPass/Dockerfile b/syspass/sysPass/Dockerfile
deleted file mode 100644
index 53d8166a5..000000000
--- a/syspass/sysPass/Dockerfile
+++ /dev/null
@@ -1,169 +0,0 @@
-#
-# https://syspass.org
-# https://doc.syspass.org
-#
-
-FROM composer:2.0 as bootstrap
-
-ENV SYSPASS_BRANCH="3.2.0"
-
-RUN git clone --depth 1 --branch ${SYSPASS_BRANCH} https://github.com/nuxsmin/sysPass.git \
- && composer install \
- --ignore-platform-reqs \
- --no-interaction \
- --no-plugins \
- --no-scripts \
- --prefer-dist \
- --optimize-autoloader \
- --working-dir /app/sysPass
-
-FROM php:7.4-apache-buster as app
-
-LABEL maintainer=nuxsmin@syspass.org version=3.2.0 php=7.4
-
-
-RUN rm -rfv /etc/locale.gen
-COPY locale.gen /etc/locale.gen
-RUN for i in $(seq 1 8); do mkdir -p "/usr/share/man/man${i}"; done
-
-
-##################################################################
-# adding normal sources list
-##################################################################
-RUN rm /etc/apt/sources.list
-COPY sources.list /etc/apt/sources.list
-
-##################################################################
-# installing utils
-##################################################################
-RUN echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections && \
- apt-get update && \
- apt-get install -y --allow-unauthenticated \
- apt-transport-https \
- apt-utils \
- bash \
- binutils \
- ca-certificates \
- cmatrix \
- cmatrix-xfont \
- console-cyrillic \
- cron \
- curl \
- fontconfig \
- git \
- gnupg \
- gnupg2 \
- graphicsmagick \
- htop \
- iftop \
- iputils-ping \
- jq \
- kmod \
- libsvn-java \
- libzip4 \
- locales \
- lsb-release \
- lsof \
- lynx \
- mc \
- mercurial \
- nano \
- nload \
- nmap \
- openssl \
- perl \
- procps \
- rsync \
- screenfetch \
- smbclient \
- software-properties-common \
- subversion \
- sudo \
- telnet \
- tini \
- tmux \
- tree \
- ttf-dejavu \
- util-linux \
- uuid-runtime \
- wget \
- zip
-
-##################################################################
-# installing php repo + smbclient
-##################################################################
-RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
-RUN apt update -y && apt install -y --allow-unauthenticated smbclient libsmbclient libsmbclient-dev
-RUN pecl install smbclient
-RUN docker-php-ext-enable smbclient
-
-##################################################################
-# smb fix
-##################################################################
-RUN rm -frv /etc/samba/smb.conf /usr/share/samba/smb.conf
-ADD smb.conf /etc/samba/
-ADD smb.conf /usr/share/samba/
-
-RUN apt-get update \
- && apt-get install -y \
- locales \
- locales-all \
- git \
- gosu \
- libicu-dev \
- libldb-dev \
- libldap2-dev \
- libfreetype6-dev \
- libjpeg62-turbo-dev \
- libpng-dev \
- unzip \
- ssl-cert \
- && apt-get clean \
- && rm -r /var/lib/apt/lists/*
-
-RUN pecl install xdebug-2.9.8 \
- && docker-php-ext-configure gd --with-freetype --with-jpeg \
- && docker-php-ext-install -j$(nproc) ldap intl gettext pdo_mysql opcache gd \
- && docker-php-ext-enable ldap xdebug intl pdo_mysql
-
-ENV APACHE_RUN_USER="www-data" \
- SYSPASS_DIR="/var/www/html/sysPass" \
- SYSPASS_UID=9001 \
- SYSPASS_DEV=0
-
-WORKDIR /var/www/html
-
-LABEL build=20122001
-
-# Custom sysPass Apache config with SSL by default
-COPY ["syspass.conf", "/etc/apache2/sites-available/"]
-
-# Xdebug module config
-COPY xdebug.ini /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
-
-# Custom entrypoint
-COPY entrypoint.sh common_fn.sh /usr/local/sbin/
-
-RUN chmod 755 /usr/local/sbin/entrypoint.sh \
- && a2dissite 000-default default-ssl \
- && a2ensite syspass \
- && a2enmod proxy_fcgi setenvif ssl rewrite \
- && ln -sf /dev/stdout ${APACHE_LOG_DIR}/access.log \
- && ln -sf /dev/stderr ${APACHE_LOG_DIR}/error.log
-
-# sysPass dependencies
-COPY --from=bootstrap /app/sysPass/ ${SYSPASS_DIR}/
-
-# Composer binary
-COPY --from=bootstrap /usr/bin/composer /usr/bin/
-
-RUN cd ${SYSPASS_DIR} && \
- composer u && \
- composer require syspass/plugin-authenticator
-
-EXPOSE 80 443
-
-ENTRYPOINT ["/usr/local/sbin/entrypoint.sh"]
-
-CMD ["apache"]
diff --git a/syspass/sysPass/Makefile b/syspass/sysPass/Makefile
deleted file mode 100644
index 62f03b179..000000000
--- a/syspass/sysPass/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-all: spphp
-spphp:
-
- docker build --compress -t epicmorg/syspass:latest .
- docker push epicmorg/syspass:latest
diff --git a/syspass/sysPass/common_fn.sh b/syspass/sysPass/common_fn.sh
deleted file mode 100644
index ab6e7287f..000000000
--- a/syspass/sysPass/common_fn.sh
+++ /dev/null
@@ -1,122 +0,0 @@
-: ${XDEBUG_REMOTE_HOST:="172.17.0.1"}
-: ${XDEBUG_IDE_KEY:="ide"}
-: ${SYSPASS_DEV:=0}
-: ${PHP_XDEBUG_FILE:="/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini"}
-: ${SYSPASS_LOCALES:="es_ES en_US en_GB de_DE ca_ES fr_FR ru_RU pl_PL nl_NL pt_BR da_DK it_IT fo_FO ja_JP"}
-: ${COMPOSER_EXTENSIONS:=}
-: ${DEBUG:=0}
-
-if [ ${DEBUG} -eq 1 ]; then
- set -x
-fi
-
-COMPOSER_OPTIONS="--working-dir ${SYSPASS_DIR} --classmap-authoritative"
-GOSU="gosu ${SYSPASS_UID}"
-
-COLOR_NC='\033[0m'
-COLOR_YELLOW='\033[0;33m'
-COLOR_RED='\033[0;31m'
-COLOR_GREEN='\033[0;32m'
-
-if [ ${SYSPASS_DEV} -eq 1 ]; then
- COMPOSER_OPTIONS="--working-dir ${SYSPASS_DIR} --optimize-autoloader --dev"
-fi
-
-setup_apache () {
- if [ ${SYSPASS_DEV} -eq 0 ]; then
- return 0
- fi
-
- echo -e "${COLOR_YELLOW}setup_apache: Setting up xdebug variables${COLOR_NC}"
-
- sed -i 's/__XDEBUG_REMOTE_HOST__/'"$XDEBUG_REMOTE_HOST"'/;
- s/__XDEBUG_IDE_KEY__/'"$XDEBUG_IDE_KEY"'/' \
- ${PHP_XDEBUG_FILE}
-}
-
-run_apache () {
- : ${PHP_INI_DIR:=}
-
- if [ -z "${PHP_INI_DIR}" ]; then
- echo -e "${COLOR_YELLOW}run_apache: Starting Apache${COLOR_NC}"
-
- # Apache gets grumpy about PID files pre-existing
- rm -f ${APACHE_PID_FILE}
-
- exec /usr/sbin/apache2ctl -DFOREGROUND
- else
- echo -e "${COLOR_YELLOW}run_apache: Starting Apache (PHP)${COLOR_NC}"
-
- apache2-foreground
- fi
-}
-
-setup_app () {
- if [ -e "${SYSPASS_DIR}/index.php" ]; then
- echo -e "${COLOR_YELLOW}setup_app: Setting up permissions${COLOR_NC}"
-
- RW_DIRS="${SYSPASS_DIR}/app/config \
- ${SYSPASS_DIR}/app/backup \
- ${SYSPASS_DIR}/app/cache \
- ${SYSPASS_DIR}/app/resources \
- ${SYSPASS_DIR}/app/temp"
-
- chown ${APACHE_RUN_USER}:${SYSPASS_UID} -R ${RW_DIRS}
-
- chmod 750 ${RW_DIRS}
-
- chown ${SYSPASS_UID}:${SYSPASS_UID} -R \
- ${SYSPASS_DIR}/app/modules/*/plugins \
- ${SYSPASS_DIR}/composer.json \
- ${SYSPASS_DIR}/composer.lock \
- ${SYSPASS_DIR}/vendor
- fi
-}
-
-setup_locales() {
- if [ ! -e ".setup" ]; then
- LOCALE_GEN="/etc/locale.gen"
-
- echo -e "${COLOR_YELLOW}setup_locales: Setting up locales${COLOR_NC}"
-
- echo -e "\n### sysPass locales" >> $LOCALE_GEN
-
- for LOCALE in ${SYSPASS_LOCALES}; do
- echo "${LOCALE}.UTF-8 UTF-8" >> $LOCALE_GEN
- done
-
- echo 'LANG="en_US.UTF-8"' > /etc/default/locale
-
- dpkg-reconfigure --frontend=noninteractive locales
-
- update-locale LANG=en_US.UTF-8
-
- export LANG=en_US.UTF-8
-
- echo "1" > .setup
- else
- echo -e "${COLOR_YELLOW}setup_locales: Locales already set up${COLOR_NC}"
- fi
-}
-
-run_composer () {
- pushd ${SYSPASS_DIR}
-
- if [ -e "./composer.lock" -a -e "composer.json" ]; then
- echo -e "${COLOR_YELLOW}run_composer: Running composer${COLOR_NC}"
-
- ${GOSU} composer "$@" ${COMPOSER_OPTIONS}
- else
- echo -e "${COLOR_RED}run_composer: Error, composer not set up${COLOR_NC}"
- fi
-
- popd
-}
-
-setup_composer_extensions () {
- if [ -n "${COMPOSER_EXTENSIONS}" ]; then
- echo -e "${COLOR_YELLOW}setup_composer_extensions: ${COMPOSER_EXTENSIONS}${COLOR_NC}"
-
- run_composer require ${COMPOSER_EXTENSIONS} --update-no-dev
- fi
-}
diff --git a/syspass/sysPass/docker-compose.yml b/syspass/sysPass/docker-compose.yml
deleted file mode 100644
index 985ca762a..000000000
--- a/syspass/sysPass/docker-compose.yml
+++ /dev/null
@@ -1,24 +0,0 @@
-version: '2'
-services:
- app:
- container_name: syspass-app
- image: syspass/syspass:3.2.0-php7.4
- restart: always
- ports:
- - "80"
- - "443"
- links:
- - db
- volumes:
- - /var/www/html/sysPass/app/config
- - /var/www/html/sysPass/app/backup
- db:
- container_name: syspass-db
- restart: always
- image: mariadb:10.2
- environment:
- - MYSQL_ROOT_PASSWORD=syspass
- ports:
- - "3306"
- volumes:
- - /var/lib/mysql
diff --git a/syspass/sysPass/entrypoint.sh b/syspass/sysPass/entrypoint.sh
deleted file mode 100755
index 2dd6df3a6..000000000
--- a/syspass/sysPass/entrypoint.sh
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/env bash
-
-set -euo pipefail
-
-COMMON_FN="common_fn.sh"
-
-source ${COMMON_FN}
-
-echo -e "${COLOR_YELLOW}entrypoint: Starting with UID : ${SYSPASS_UID}${COLOR_NC}"
-
-id ${SYSPASS_UID} > /dev/null 2>&1 \
- || useradd --shell /bin/bash -u ${SYSPASS_UID} -o -c "" -m user
-
-export HOME=${SYSPASS_DIR}
-
-setup_app
-
-case "$1" in
- "apache")
- setup_composer_extensions
- setup_locales
- setup_apache
-
- SELF_IP_ADDRESS=$(grep $HOSTNAME /etc/hosts | cut -f1)
-
- echo -e "${COLOR_GREEN}######"
- echo -e "sysPass environment installed and configured. Please point your browser to https://${SELF_IP_ADDRESS} to start the installation."
- echo -e "######${COLOR_NC}"
- echo -e "${COLOR_YELLOW}entrypoint: Starting Apache${COLOR_NC}"
-
- run_apache
- ;;
- "update")
- echo -e "${COLOR_YELLOW}######"
- echo -e "Please, only run this command for debuging purposes."
- echo -e "In order to update the dependencies, please, download and updated image"
- echo -e "######${COLOR_NC}"
-
- run_composer update
- ;;
- "composer")
- shift
-
- echo -e "${COLOR_YELLOW}######"
- echo -e "Please, only run this command for debuging purposes."
- echo -e "In order to update the dependencies, please, download and updated image"
- echo -e "######${COLOR_NC}"
-
- run_composer "$@"
- ;;
- *)
- echo -e "${COLOR_YELLOW}entrypoint: Starting $@${COLOR_NC}"
- exec ${GOSU} "$@"
- ;;
-esac
diff --git a/syspass/sysPass/init-functions b/syspass/sysPass/init-functions
deleted file mode 100644
index e34a182ca..000000000
--- a/syspass/sysPass/init-functions
+++ /dev/null
@@ -1,17 +0,0 @@
-if [ ${SYSPASS_DEV} -eq 1 ]; then
- COMPOSER_OPTIONS="--working-dir ${SYSPASS_DIR} --optimize-autoloader --dev"
-fi
-
-setup_apache () {
- if [ ${SYSPASS_DEV} -eq 0 ]; then
- return 0
- fi
-
- echo -e "${COLOR_YELLOW}setup_apache: Setting up xdebug variables${COLOR_NC}"
- sed -i 's/__XDEBUG_REMOTE_HOST__/'"$XDEBUG_REMOTE_HOST"'/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
- sed -i 's/__XDEBUG_IDE_KEY__/'"$XDEBUG_IDE_KEY"'/' /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
-}
-
-run_apache () {
- apache2-foreground
-}
diff --git a/syspass/sysPass/locale.gen b/syspass/sysPass/locale.gen
deleted file mode 100644
index 07d312aa8..000000000
--- a/syspass/sysPass/locale.gen
+++ /dev/null
@@ -1,25 +0,0 @@
-es_ES.UTF-8 UTF-8
-es_ES ISO-8859-1
-es_ES.ISO-8859-15 ISO-8859-15
-en_GB.UTF-8 UTF-8
-en_GB ISO-8859-1
-en_GB.ISO-8859-15 ISO-8859-15
-en_US.UTF-8 UTF-8
-en_US ISO-8859-1
-en_US.ISO-8859-15 ISO-8859-15
-de_DE.UTF-8 UTF-8
-ca_ES.UTF-8 UTF-8
-fr_FR.UTF-8 UTF-8
-ru_RU.UTF-8 UTF-8
-ru_RU.KOI8-R KOI8-R
-ru_RU ISO-8859-5
-ru_RU.CP1251 CP1251
-ru_UA.UTF-8 UTF-8
-ru_UA KOI8-U
-pl_PL.UTF-8 UTF-8
-nl_NL.UTF-8 UTF-8
-pt_BR.UTF-8 UTF-8
-da_DK.UTF-8 UTF-8
-it_IT.UTF-8 UTF-8
-fo_FO.UTF-8 UTF-8
-ja_JP.UTF-8 UTF-8
diff --git a/syspass/sysPass/locale.gen.full b/syspass/sysPass/locale.gen.full
deleted file mode 100644
index 602141659..000000000
--- a/syspass/sysPass/locale.gen.full
+++ /dev/null
@@ -1,496 +0,0 @@
-aa_DJ.UTF-8 UTF-8
-aa_DJ ISO-8859-1
-aa_ER UTF-8
-aa_ER@saaho UTF-8
-aa_ET UTF-8
-af_ZA.UTF-8 UTF-8
-af_ZA ISO-8859-1
-agr_PE UTF-8
-ak_GH UTF-8
-am_ET UTF-8
-an_ES.UTF-8 UTF-8
-an_ES ISO-8859-15
-anp_IN UTF-8
-ar_AE.UTF-8 UTF-8
-ar_AE ISO-8859-6
-ar_BH.UTF-8 UTF-8
-ar_BH ISO-8859-6
-ar_DZ.UTF-8 UTF-8
-ar_DZ ISO-8859-6
-ar_EG.UTF-8 UTF-8
-ar_EG ISO-8859-6
-ar_IN UTF-8
-ar_IQ.UTF-8 UTF-8
-ar_IQ ISO-8859-6
-ar_JO.UTF-8 UTF-8
-ar_JO ISO-8859-6
-ar_KW.UTF-8 UTF-8
-ar_KW ISO-8859-6
-ar_LB.UTF-8 UTF-8
-ar_LB ISO-8859-6
-ar_LY.UTF-8 UTF-8
-ar_LY ISO-8859-6
-ar_MA.UTF-8 UTF-8
-ar_MA ISO-8859-6
-ar_OM.UTF-8 UTF-8
-ar_OM ISO-8859-6
-ar_QA.UTF-8 UTF-8
-ar_QA ISO-8859-6
-ar_SA.UTF-8 UTF-8
-ar_SA ISO-8859-6
-ar_SD.UTF-8 UTF-8
-ar_SD ISO-8859-6
-ar_SS UTF-8
-ar_SY.UTF-8 UTF-8
-ar_SY ISO-8859-6
-ar_TN.UTF-8 UTF-8
-ar_TN ISO-8859-6
-ar_YE.UTF-8 UTF-8
-ar_YE ISO-8859-6
-ayc_PE UTF-8
-az_AZ UTF-8
-az_IR UTF-8
-as_IN UTF-8
-ast_ES.UTF-8 UTF-8
-ast_ES ISO-8859-15
-be_BY.UTF-8 UTF-8
-be_BY CP1251
-be_BY@latin UTF-8
-bem_ZM UTF-8
-ber_DZ UTF-8
-ber_MA UTF-8
-bg_BG.UTF-8 UTF-8
-bg_BG CP1251
-bhb_IN.UTF-8 UTF-8
-bho_IN UTF-8
-bho_NP UTF-8
-bi_VU UTF-8
-bn_BD UTF-8
-bn_IN UTF-8
-bo_CN UTF-8
-bo_IN UTF-8
-br_FR.UTF-8 UTF-8
-br_FR ISO-8859-1
-br_FR@euro ISO-8859-15
-brx_IN UTF-8
-bs_BA.UTF-8 UTF-8
-bs_BA ISO-8859-2
-byn_ER UTF-8
-ca_AD.UTF-8 UTF-8
-ca_AD ISO-8859-15
-ca_ES.UTF-8 UTF-8
-ca_ES ISO-8859-1
-ca_ES@euro ISO-8859-15
-ca_ES@valencia UTF-8
-ca_FR.UTF-8 UTF-8
-ca_FR ISO-8859-15
-ca_IT.UTF-8 UTF-8
-ca_IT ISO-8859-15
-ce_RU UTF-8
-chr_US UTF-8
-cmn_TW UTF-8
-crh_UA UTF-8
-cs_CZ.UTF-8 UTF-8
-cs_CZ ISO-8859-2
-csb_PL UTF-8
-cv_RU UTF-8
-cy_GB.UTF-8 UTF-8
-cy_GB ISO-8859-14
-da_DK.UTF-8 UTF-8
-da_DK ISO-8859-1
-de_AT.UTF-8 UTF-8
-de_AT ISO-8859-1
-de_AT@euro ISO-8859-15
-de_BE.UTF-8 UTF-8
-de_BE ISO-8859-1
-de_BE@euro ISO-8859-15
-de_CH.UTF-8 UTF-8
-de_CH ISO-8859-1
-de_DE.UTF-8 UTF-8
-de_DE ISO-8859-1
-de_DE@euro ISO-8859-15
-de_IT.UTF-8 UTF-8
-de_IT ISO-8859-1
-de_LI.UTF-8 UTF-8
-de_LU.UTF-8 UTF-8
-de_LU ISO-8859-1
-de_LU@euro ISO-8859-15
-doi_IN UTF-8
-dsb_DE UTF-8
-dv_MV UTF-8
-dz_BT UTF-8
-el_GR.UTF-8 UTF-8
-el_GR ISO-8859-7
-el_GR@euro ISO-8859-7
-el_CY.UTF-8 UTF-8
-el_CY ISO-8859-7
-en_AG UTF-8
-en_AU.UTF-8 UTF-8
-en_AU ISO-8859-1
-en_BW.UTF-8 UTF-8
-en_BW ISO-8859-1
-en_CA.UTF-8 UTF-8
-en_CA ISO-8859-1
-en_DK.UTF-8 UTF-8
-en_DK.ISO-8859-15 ISO-8859-15
-en_DK ISO-8859-1
-en_GB.UTF-8 UTF-8
-en_GB ISO-8859-1
-en_GB.ISO-8859-15 ISO-8859-15
-en_HK.UTF-8 UTF-8
-en_HK ISO-8859-1
-en_IE.UTF-8 UTF-8
-en_IE ISO-8859-1
-en_IE@euro ISO-8859-15
-en_IL UTF-8
-en_IN UTF-8
-en_NG UTF-8
-en_NZ.UTF-8 UTF-8
-en_NZ ISO-8859-1
-en_PH.UTF-8 UTF-8
-en_PH ISO-8859-1
-en_SC.UTF-8 UTF-8
-en_SG.UTF-8 UTF-8
-en_SG ISO-8859-1
-en_US.UTF-8 UTF-8
-en_US ISO-8859-1
-en_US.ISO-8859-15 ISO-8859-15
-en_ZA.UTF-8 UTF-8
-en_ZA ISO-8859-1
-en_ZM UTF-8
-en_ZW.UTF-8 UTF-8
-en_ZW ISO-8859-1
-eo UTF-8
-es_AR.UTF-8 UTF-8
-es_AR ISO-8859-1
-es_BO.UTF-8 UTF-8
-es_BO ISO-8859-1
-es_CL.UTF-8 UTF-8
-es_CL ISO-8859-1
-es_CO.UTF-8 UTF-8
-es_CO ISO-8859-1
-es_CR.UTF-8 UTF-8
-es_CR ISO-8859-1
-es_CU UTF-8
-es_DO.UTF-8 UTF-8
-es_DO ISO-8859-1
-es_EC.UTF-8 UTF-8
-es_EC ISO-8859-1
-es_ES.UTF-8 UTF-8
-es_ES ISO-8859-1
-es_ES@euro ISO-8859-15
-es_GT.UTF-8 UTF-8
-es_GT ISO-8859-1
-es_HN.UTF-8 UTF-8
-es_HN ISO-8859-1
-es_MX.UTF-8 UTF-8
-es_MX ISO-8859-1
-es_NI.UTF-8 UTF-8
-es_NI ISO-8859-1
-es_PA.UTF-8 UTF-8
-es_PA ISO-8859-1
-es_PE.UTF-8 UTF-8
-es_PE ISO-8859-1
-es_PR.UTF-8 UTF-8
-es_PR ISO-8859-1
-es_PY.UTF-8 UTF-8
-es_PY ISO-8859-1
-es_SV.UTF-8 UTF-8
-es_SV ISO-8859-1
-es_US.UTF-8 UTF-8
-es_US ISO-8859-1
-es_UY.UTF-8 UTF-8
-es_UY ISO-8859-1
-es_VE.UTF-8 UTF-8
-es_VE ISO-8859-1
-et_EE.UTF-8 UTF-8
-et_EE ISO-8859-1
-et_EE.ISO-8859-15 ISO-8859-15
-eu_ES.UTF-8 UTF-8
-eu_ES ISO-8859-1
-eu_ES@euro ISO-8859-15
-eu_FR.UTF-8 UTF-8
-eu_FR ISO-8859-1
-eu_FR@euro ISO-8859-15
-fa_IR UTF-8
-ff_SN UTF-8
-fi_FI.UTF-8 UTF-8
-fi_FI ISO-8859-1
-fi_FI@euro ISO-8859-15
-fil_PH UTF-8
-fo_FO.UTF-8 UTF-8
-fo_FO ISO-8859-1
-fr_BE.UTF-8 UTF-8
-fr_BE ISO-8859-1
-fr_BE@euro ISO-8859-15
-fr_CA.UTF-8 UTF-8
-fr_CA ISO-8859-1
-fr_CH.UTF-8 UTF-8
-fr_CH ISO-8859-1
-fr_FR.UTF-8 UTF-8
-fr_FR ISO-8859-1
-fr_FR@euro ISO-8859-15
-fr_LU.UTF-8 UTF-8
-fr_LU ISO-8859-1
-fr_LU@euro ISO-8859-15
-fur_IT UTF-8
-fy_NL UTF-8
-fy_DE UTF-8
-ga_IE.UTF-8 UTF-8
-ga_IE ISO-8859-1
-ga_IE@euro ISO-8859-15
-gd_GB.UTF-8 UTF-8
-gd_GB ISO-8859-15
-gez_ER UTF-8
-gez_ER@abegede UTF-8
-gez_ET UTF-8
-gez_ET@abegede UTF-8
-gl_ES.UTF-8 UTF-8
-gl_ES ISO-8859-1
-gl_ES@euro ISO-8859-15
-gu_IN UTF-8
-gv_GB.UTF-8 UTF-8
-gv_GB ISO-8859-1
-ha_NG UTF-8
-hak_TW UTF-8
-he_IL.UTF-8 UTF-8
-he_IL ISO-8859-8
-hi_IN UTF-8
-hif_FJ UTF-8
-hne_IN UTF-8
-hr_HR.UTF-8 UTF-8
-hr_HR ISO-8859-2
-hsb_DE.UTF-8 UTF-8
-hsb_DE ISO-8859-2
-ht_HT UTF-8
-hu_HU.UTF-8 UTF-8
-hu_HU ISO-8859-2
-hy_AM UTF-8
-hy_AM.ARMSCII-8 ARMSCII-8
-ia_FR UTF-8
-id_ID.UTF-8 UTF-8
-id_ID ISO-8859-1
-ig_NG UTF-8
-ik_CA UTF-8
-is_IS.UTF-8 UTF-8
-is_IS ISO-8859-1
-it_CH.UTF-8 UTF-8
-it_CH ISO-8859-1
-it_IT.UTF-8 UTF-8
-it_IT ISO-8859-1
-it_IT@euro ISO-8859-15
-iu_CA UTF-8
-ja_JP.UTF-8 UTF-8
-ja_JP.EUC-JP EUC-JP
-ka_GE.UTF-8 UTF-8
-ka_GE GEORGIAN-PS
-kab_DZ UTF-8
-kk_KZ.UTF-8 UTF-8
-kk_KZ PT154
-kk_KZ.RK1048 RK1048
-kl_GL.UTF-8 UTF-8
-kl_GL ISO-8859-1
-km_KH UTF-8
-kn_IN UTF-8
-ko_KR.UTF-8 UTF-8
-ko_KR.EUC-KR EUC-KR
-kok_IN UTF-8
-ks_IN UTF-8
-ks_IN@devanagari UTF-8
-ku_TR.UTF-8 UTF-8
-ku_TR ISO-8859-9
-kw_GB.UTF-8 UTF-8
-kw_GB ISO-8859-1
-ky_KG UTF-8
-lb_LU UTF-8
-lg_UG.UTF-8 UTF-8
-lg_UG ISO-8859-10
-li_BE UTF-8
-li_NL UTF-8
-lij_IT UTF-8
-ln_CD UTF-8
-lo_LA UTF-8
-lt_LT.UTF-8 UTF-8
-lt_LT ISO-8859-13
-lv_LV.UTF-8 UTF-8
-lv_LV ISO-8859-13
-lzh_TW UTF-8
-mag_IN UTF-8
-mai_IN UTF-8
-mai_NP UTF-8
-mfe_MU UTF-8
-mg_MG.UTF-8 UTF-8
-mg_MG ISO-8859-15
-mhr_RU UTF-8
-mi_NZ.UTF-8 UTF-8
-mi_NZ ISO-8859-13
-miq_NI UTF-8
-mjw_IN UTF-8
-mk_MK.UTF-8 UTF-8
-mk_MK ISO-8859-5
-ml_IN UTF-8
-mn_MN UTF-8
-mni_IN UTF-8
-mr_IN UTF-8
-ms_MY.UTF-8 UTF-8
-ms_MY ISO-8859-1
-mt_MT.UTF-8 UTF-8
-mt_MT ISO-8859-3
-my_MM UTF-8
-nan_TW UTF-8
-nan_TW@latin UTF-8
-nb_NO.UTF-8 UTF-8
-nb_NO ISO-8859-1
-nds_DE UTF-8
-nds_NL UTF-8
-ne_NP UTF-8
-nhn_MX UTF-8
-niu_NU UTF-8
-niu_NZ UTF-8
-nl_AW UTF-8
-nl_BE.UTF-8 UTF-8
-nl_BE ISO-8859-1
-nl_BE@euro ISO-8859-15
-nl_NL.UTF-8 UTF-8
-nl_NL ISO-8859-1
-nl_NL@euro ISO-8859-15
-nn_NO.UTF-8 UTF-8
-nn_NO ISO-8859-1
-nr_ZA UTF-8
-nso_ZA UTF-8
-oc_FR.UTF-8 UTF-8
-oc_FR ISO-8859-1
-om_ET UTF-8
-om_KE.UTF-8 UTF-8
-om_KE ISO-8859-1
-or_IN UTF-8
-os_RU UTF-8
-pa_IN UTF-8
-pa_PK UTF-8
-pap_AW UTF-8
-pap_CW UTF-8
-pl_PL.UTF-8 UTF-8
-pl_PL ISO-8859-2
-ps_AF UTF-8
-pt_BR.UTF-8 UTF-8
-pt_BR ISO-8859-1
-pt_PT.UTF-8 UTF-8
-pt_PT ISO-8859-1
-pt_PT@euro ISO-8859-15
-quz_PE UTF-8
-raj_IN UTF-8
-ro_RO.UTF-8 UTF-8
-ro_RO ISO-8859-2
-ru_RU.UTF-8 UTF-8
-ru_RU.KOI8-R KOI8-R
-ru_RU ISO-8859-5
-ru_RU.CP1251 CP1251
-ru_UA.UTF-8 UTF-8
-ru_UA KOI8-U
-rw_RW UTF-8
-sa_IN UTF-8
-sah_RU UTF-8
-sat_IN UTF-8
-sc_IT UTF-8
-sd_IN UTF-8
-sd_IN@devanagari UTF-8
-se_NO UTF-8
-sgs_LT UTF-8
-shn_MM UTF-8
-shs_CA UTF-8
-si_LK UTF-8
-sid_ET UTF-8
-sk_SK.UTF-8 UTF-8
-sk_SK ISO-8859-2
-sl_SI.UTF-8 UTF-8
-sl_SI ISO-8859-2
-sm_WS UTF-8
-so_DJ.UTF-8 UTF-8
-so_DJ ISO-8859-1
-so_ET UTF-8
-so_KE.UTF-8 UTF-8
-so_KE ISO-8859-1
-so_SO.UTF-8 UTF-8
-so_SO ISO-8859-1
-sq_AL.UTF-8 UTF-8
-sq_AL ISO-8859-1
-sq_MK UTF-8
-sr_ME UTF-8
-sr_RS UTF-8
-sr_RS@latin UTF-8
-ss_ZA UTF-8
-st_ZA.UTF-8 UTF-8
-st_ZA ISO-8859-1
-sv_FI.UTF-8 UTF-8
-sv_FI ISO-8859-1
-sv_FI@euro ISO-8859-15
-sv_SE.UTF-8 UTF-8
-sv_SE ISO-8859-1
-sv_SE.ISO-8859-15 ISO-8859-15
-sw_KE UTF-8
-sw_TZ UTF-8
-szl_PL UTF-8
-ta_IN UTF-8
-ta_LK UTF-8
-tcy_IN.UTF-8 UTF-8
-te_IN UTF-8
-tg_TJ.UTF-8 UTF-8
-tg_TJ KOI8-T
-th_TH.UTF-8 UTF-8
-th_TH TIS-620
-the_NP UTF-8
-ti_ER UTF-8
-ti_ET UTF-8
-tig_ER UTF-8
-tk_TM UTF-8
-tl_PH.UTF-8 UTF-8
-tl_PH ISO-8859-1
-tn_ZA UTF-8
-to_TO UTF-8
-tpi_PG UTF-8
-tr_CY.UTF-8 UTF-8
-tr_CY ISO-8859-9
-tr_TR.UTF-8 UTF-8
-tr_TR ISO-8859-9
-ts_ZA UTF-8
-tt_RU UTF-8
-tt_RU@iqtelif UTF-8
-ug_CN UTF-8
-uk_UA.UTF-8 UTF-8
-uk_UA KOI8-U
-unm_US UTF-8
-ur_IN UTF-8
-ur_PK UTF-8
-uz_UZ.UTF-8 UTF-8
-uz_UZ ISO-8859-1
-uz_UZ@cyrillic UTF-8
-ve_ZA UTF-8
-vi_VN UTF-8
-wa_BE.UTF-8 UTF-8
-wa_BE ISO-8859-1
-wa_BE@euro ISO-8859-15
-wae_CH UTF-8
-wal_ET UTF-8
-wo_SN UTF-8
-xh_ZA.UTF-8 UTF-8
-xh_ZA ISO-8859-1
-yi_US.UTF-8 UTF-8
-yi_US CP1255
-yo_NG UTF-8
-yue_HK UTF-8
-yuw_PG UTF-8
-zh_CN.UTF-8 UTF-8
-zh_CN.GB18030 GB18030
-zh_CN.GBK GBK
-zh_CN GB2312
-zh_HK.UTF-8 UTF-8
-zh_HK BIG5-HKSCS
-zh_SG.UTF-8 UTF-8
-zh_SG.GBK GBK
-zh_SG GB2312
-zh_TW.UTF-8 UTF-8
-zh_TW.EUC-TW EUC-TW
-zh_TW BIG5
-zu_ZA.UTF-8 UTF-8
-zu_ZA ISO-8859-1
-
diff --git a/syspass/sysPass/smb.conf b/syspass/sysPass/smb.conf
deleted file mode 100644
index 9346a22f4..000000000
--- a/syspass/sysPass/smb.conf
+++ /dev/null
@@ -1,239 +0,0 @@
-#
-# Sample configuration file for the Samba suite for Debian GNU/Linux.
-#
-#
-# This is the main Samba configuration file. You should read the
-# smb.conf(5) manual page in order to understand the options listed
-# here. Samba has a huge number of configurable options most of which
-# are not shown in this example
-#
-# Some options that are often worth tuning have been included as
-# commented-out examples in this file.
-# - When such options are commented with ";", the proposed setting
-# differs from the default Samba behaviour
-# - When commented with "#", the proposed setting is the default
-# behaviour of Samba but the option is considered important
-# enough to be mentioned here
-#
-# NOTE: Whenever you modify this file you should run the command
-# "testparm" to check that you have not made any basic syntactic
-# errors.
-
-#======================= Global Settings =======================
-
-[global]
-client min protocol = SMB2
-client max protocol = SMB3
-
-
-## Browsing/Identification ###
-
-# Change this to the workgroup/NT-domain name your Samba server will part of
- workgroup = WORKGROUP
-
-#### Networking ####
-
-# The specific set of interfaces / networks to bind to
-# This can be either the interface name or an IP address/netmask;
-# interface names are normally preferred
-; interfaces = 127.0.0.0/8 eth0
-
-# Only bind to the named interfaces and/or networks; you must use the
-# 'interfaces' option above to use this.
-# It is recommended that you enable this feature if your Samba machine is
-# not protected by a firewall or is a firewall itself. However, this
-# option cannot handle dynamic or non-broadcast interfaces correctly.
-; bind interfaces only = yes
-
-
-
-#### Debugging/Accounting ####
-
-# This tells Samba to use a separate log file for each machine
-# that connects
- log file = /var/log/samba/log.%m
-
-# Cap the size of the individual log files (in KiB).
- max log size = 1000
-
-# We want Samba to only log to /var/log/samba/log.{smbd,nmbd}.
-# Append syslog@1 if you want important messages to be sent to syslog too.
- logging = file
-
-# Do something sensible when Samba crashes: mail the admin a backtrace
- panic action = /usr/share/samba/panic-action %d
-
-
-####### Authentication #######
-
-# Server role. Defines in which mode Samba will operate. Possible
-# values are "standalone server", "member server", "classic primary
-# domain controller", "classic backup domain controller", "active
-# directory domain controller".
-#
-# Most people will want "standalone server" or "member server".
-# Running as "active directory domain controller" will require first
-# running "samba-tool domain provision" to wipe databases and create a
-# new domain.
- server role = standalone server
-
- obey pam restrictions = yes
-
-# This boolean parameter controls whether Samba attempts to sync the Unix
-# password with the SMB password when the encrypted SMB password in the
-# passdb is changed.
- unix password sync = yes
-
-# For Unix password sync to work on a Debian GNU/Linux system, the following
-# parameters must be set (thanks to Ian Kahan < for
-# sending the correct chat script for the passwd program in Debian Sarge).
- passwd program = /usr/bin/passwd %u
- passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
-
-# This boolean controls whether PAM will be used for password changes
-# when requested by an SMB client instead of the program listed in
-# 'passwd program'. The default is 'no'.
- pam password change = yes
-
-# This option controls how unsuccessful authentication attempts are mapped
-# to anonymous connections
- map to guest = bad user
-
-########## Domains ###########
-
-#
-# The following settings only takes effect if 'server role = primary
-# classic domain controller', 'server role = backup domain controller'
-# or 'domain logons' is set
-#
-
-# It specifies the location of the user's
-# profile directory from the client point of view) The following
-# required a [profiles] share to be setup on the samba server (see
-# below)
-; logon path = \\%N\profiles\%U
-# Another common choice is storing the profile in the user's home directory
-# (this is Samba's default)
-# logon path = \\%N\%U\profile
-
-# The following setting only takes effect if 'domain logons' is set
-# It specifies the location of a user's home directory (from the client
-# point of view)
-; logon drive = H:
-# logon home = \\%N\%U
-
-# The following setting only takes effect if 'domain logons' is set
-# It specifies the script to run during logon. The script must be stored
-# in the [netlogon] share
-# NOTE: Must be store in 'DOS' file format convention
-; logon script = logon.cmd
-
-# This allows Unix users to be created on the domain controller via the SAMR
-# RPC pipe. The example command creates a user account with a disabled Unix
-# password; please adapt to your needs
-; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
-
-# This allows machine accounts to be created on the domain controller via the
-# SAMR RPC pipe.
-# The following assumes a "machines" group exists on the system
-; add machine script = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
-
-# This allows Unix groups to be created on the domain controller via the SAMR
-# RPC pipe.
-; add group script = /usr/sbin/addgroup --force-badname %g
-
-############ Misc ############
-
-# Using the following line enables you to customise your configuration
-# on a per machine basis. The %m gets replaced with the netbios name
-# of the machine that is connecting
-; include = /home/samba/etc/smb.conf.%m
-
-# Some defaults for winbind (make sure you're not using the ranges
-# for something else.)
-; idmap config * : backend = tdb
-; idmap config * : range = 3000-7999
-; idmap config YOURDOMAINHERE : backend = tdb
-; idmap config YOURDOMAINHERE : range = 100000-999999
-; template shell = /bin/bash
-
-# Setup usershare options to enable non-root users to share folders
-# with the net usershare command.
-
-# Maximum number of usershare. 0 means that usershare is disabled.
-# usershare max shares = 100
-
-# Allow users who've been granted usershare privileges to create
-# public shares, not just authenticated ones
- usershare allow guests = yes
-
-#======================= Share Definitions =======================
-
-[homes]
- comment = Home Directories
- browseable = no
-
-# By default, the home directories are exported read-only. Change the
-# next parameter to 'no' if you want to be able to write to them.
- read only = yes
-
-# File creation mask is set to 0700 for security reasons. If you want to
-# create files with group=rw permissions, set next parameter to 0775.
- create mask = 0700
-
-# Directory creation mask is set to 0700 for security reasons. If you want to
-# create dirs. with group=rw permissions, set next parameter to 0775.
- directory mask = 0700
-
-# By default, \\server\username shares can be connected to by anyone
-# with access to the samba server.
-# The following parameter makes sure that only "username" can connect
-# to \\server\username
-# This might need tweaking when using external authentication schemes
- valid users = %S
-
-# Un-comment the following and create the netlogon directory for Domain Logons
-# (you need to configure Samba to act as a domain controller too.)
-;[netlogon]
-; comment = Network Logon Service
-; path = /home/samba/netlogon
-; guest ok = yes
-; read only = yes
-
-# Un-comment the following and create the profiles directory to store
-# users profiles (see the "logon path" option above)
-# (you need to configure Samba to act as a domain controller too.)
-# The path below should be writable by all users so that their
-# profile directory may be created the first time they log on
-;[profiles]
-; comment = Users profiles
-; path = /home/samba/profiles
-; guest ok = no
-; browseable = no
-; create mask = 0600
-; directory mask = 0700
-
-[printers]
- comment = All Printers
- browseable = no
- path = /var/spool/samba
- printable = yes
- guest ok = no
- read only = yes
- create mask = 0700
-
-# Windows clients look for this share name as a source of downloadable
-# printer drivers
-[print$]
- comment = Printer Drivers
- path = /var/lib/samba/printers
- browseable = yes
- read only = yes
- guest ok = no
-# Uncomment to allow remote administration of Windows print drivers.
-# You may need to replace 'lpadmin' with the name of the group your
-# admin users are members of.
-# Please note that you also need to set appropriate Unix permissions
-# to the drivers directory for these users to have write rights in it
-; write list = root, @lpadmin
-
diff --git a/syspass/sysPass/sources.list b/syspass/sysPass/sources.list
deleted file mode 100644
index fd3092816..000000000
--- a/syspass/sysPass/sources.list
+++ /dev/null
@@ -1,19 +0,0 @@
-#main
-deb http://ftp.ru.debian.org/debian/ buster main contrib non-free
-deb-src http://ftp.ru.debian.org/debian/ buster main contrib non-free
-deb http://ftp.ru.debian.org/debian/ buster-updates main contrib non-free
-deb-src http://ftp.ru.debian.org/debian/ buster-updates main contrib non-free
-deb http://ftp.ru.debian.org/debian/ buster-backports main contrib non-free
-deb-src http://ftp.ru.debian.org/debian/ buster-backports main contrib non-free
-deb http://ftp.ru.debian.org/debian/ buster-proposed-updates main contrib non-free
-deb-src http://ftp.ru.debian.org/debian/ buster-proposed-updates main contrib non-free
-
-#security
-deb http://ftp.ru.debian.org/debian-security/ buster/updates main contrib non-free
-deb-src http://ftp.ru.debian.org/debian-security/ buster/updates main contrib non-free
-
-##multimedia
-#deb http://ftp.ru.debian.org/debian-multimedia/ buster main non-free
-#deb-src http://ftp.ru.debian.org/debian-multimedia/ buster main non-free
-#deb http://ftp.ru.debian.org/debian-multimedia/ buster-backports main
-#deb-src http://ftp.ru.debian.org/debian-multimedia/ buster-backports main
diff --git a/syspass/sysPass/syspass.conf b/syspass/sysPass/syspass.conf
deleted file mode 100644
index 2988abfd2..000000000
--- a/syspass/sysPass/syspass.conf
+++ /dev/null
@@ -1,184 +0,0 @@
-RedirectMatch "^/$" "/index.php"
-
-
- DirectoryIndex index.php
- Options -Indexes -FollowSymLinks -Includes -ExecCGI
-
-
- Require expr "%{REQUEST_URI} =~ m#.*/index\.php(\?r=)?#"
- Require expr "%{REQUEST_URI} =~ m#.*/api\.php$#"
- Require expr "%{REQUEST_URI} =~ m#^$#"
-
-
-
-#
-# Require all granted
-#
-
-
- Require all granted
-
-
-
- # the server uses to identify itself. This is used when creating
- # redirection URLs. In the context of virtual hosts, the ServerName
- # specifies what hostname must appear in the request's Host: header to
- # match this virtual host. For the default virtual host (this file) this
- # value is not decisive as it is used as a last resort host regardless.
- # However, you must set it for any further virtual host explicitly.
- #ServerName www.example.com
-
- ServerAdmin webmaster@localhost
- DocumentRoot /var/www/html/sysPass
-
- # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
- # error, crit, alert, emerg.
- # It is also possible to configure the loglevel for particular
- # modules, e.g.
- #LogLevel info ssl:warn
-
- ErrorLog ${APACHE_LOG_DIR}/error.log
- CustomLog ${APACHE_LOG_DIR}/access.log combined
-
-
- RewriteEngine On
- RewriteCond %{HTTPS} !=on
- RewriteCond %{ENV:USE_SSL} "=yes"
- RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
-
-
-
-
-
- ServerAdmin webmaster@localhost
- DocumentRoot /var/www/html/sysPass
-
- # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
- # error, crit, alert, emerg.
- # It is also possible to configure the loglevel for particular
- # modules, e.g.
- #LogLevel info ssl:warn
-
- ErrorLog ${APACHE_LOG_DIR}/error.log
- CustomLog ${APACHE_LOG_DIR}/access.log combined
-
- # For most configuration files from conf-available/, which are
- # enabled or disabled at a global level, it is possible to
- # include a line for only one particular virtual host. For example the
- # following line enables the CGI configuration for this host only
- # after it has been globally disabled with "a2disconf".
- #Include conf-available/serve-cgi-bin.conf
-
- # SSL Engine Switch:
- # Enable/Disable SSL for this virtual host.
- SSLEngine on
-
- # A self-signed (snakeoil) certificate can be created by installing
- # the ssl-cert package. See
- # /usr/share/doc/apache2/README.Debian.gz for more info.
- # If both key and certificate are stored in the same file, only the
- # SSLCertificateFile directive is needed.
- SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
- SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
-
- # Server Certificate Chain:
- # Point SSLCertificateChainFile at a file containing the
- # concatenation of PEM encoded CA certificates which form the
- # certificate chain for the server certificate. Alternatively
- # the referenced file can be the same as SSLCertificateFile
- # when the CA certificates are directly appended to the server
- # certificate for convinience.
- #SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt
-
- # Certificate Authority (CA):
- # Set the CA certificate verification path where to find CA
- # certificates for client authentication or alternatively one
- # huge file containing all of them (file must be PEM encoded)
- # Note: Inside SSLCACertificatePath you need hash symlinks
- # to point to the certificate files. Use the provided
- # Makefile to update the hash symlinks after changes.
- #SSLCACertificatePath /etc/ssl/certs/
- #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt
-
- # Certificate Revocation Lists (CRL):
- # Set the CA revocation path where to find CA CRLs for client
- # authentication or alternatively one huge file containing all
- # of them (file must be PEM encoded)
- # Note: Inside SSLCARevocationPath you need hash symlinks
- # to point to the certificate files. Use the provided
- # Makefile to update the hash symlinks after changes.
- #SSLCARevocationPath /etc/apache2/ssl.crl/
- #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl
-
- # Client Authentication (Type):
- # Client certificate verification type and depth. Types are
- # none, optional, require and optional_no_ca. Depth is a
- # number which specifies how deeply to verify the certificate
- # issuer chain before deciding the certificate is not valid.
- #SSLVerifyClient require
- #SSLVerifyDepth 10
-
- # SSL Engine Options:
- # Set various options for the SSL engine.
- # o FakeBasicAuth:
- # Translate the client X.509 into a Basic Authorisation. This means that
- # the standard Auth/DBMAuth methods can be used for access control. The
- # user name is the `one line' version of the client's X.509 certificate.
- # Note that no password is obtained from the user. Every entry in the user
- # file needs this password: `xxj31ZMTZzkVA'.
- # o ExportCertData:
- # This exports two additional environment variables: SSL_CLIENT_CERT and
- # SSL_SERVER_CERT. These contain the PEM-encoded certificates of the
- # server (always existing) and the client (only existing when client
- # authentication is used). This can be used to import the certificates
- # into CGI scripts.
- # o StdEnvVars:
- # This exports the standard SSL/TLS related `SSL_*' environment variables.
- # Per default this exportation is switched off for performance reasons,
- # because the extraction step is an expensive operation and is usually
- # useless for serving static content. So one usually enables the
- # exportation for CGI and SSI requests only.
- # o OptRenegotiate:
- # This enables optimized SSL connection renegotiation handling when SSL
- # directives are used in per-directory context.
- #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
-
- SSLOptions +StdEnvVars
-
-
- SSLOptions +StdEnvVars
-
-
- # SSL Protocol Adjustments:
- # The safe and default but still SSL/TLS standard compliant shutdown
- # approach is that mod_ssl sends the close notify alert but doesn't wait for
- # the close notify alert from client. When you need a different shutdown
- # approach you can use one of the following variables:
- # o ssl-unclean-shutdown:
- # This forces an unclean shutdown when the connection is closed, i.e. no
- # SSL close notify alert is send or allowed to received. This violates
- # the SSL/TLS standard but is needed for some brain-dead browsers. Use
- # this when you receive I/O errors because of the standard approach where
- # mod_ssl sends the close notify alert.
- # o ssl-accurate-shutdown:
- # This forces an accurate shutdown when the connection is closed, i.e. a
- # SSL close notify alert is send and mod_ssl waits for the close notify
- # alert of the client. This is 100% SSL/TLS standard compliant, but in
- # practice often causes hanging connections with brain-dead browsers. Use
- # this only for browsers where you know that their SSL implementation
- # works correctly.
- # Notice: Most problems of broken clients are also related to the HTTP
- # keep-alive facility, so you usually additionally want to disable
- # keep-alive for those clients, too. Use variable "nokeepalive" for this.
- # Similarly, one has to force some clients to use HTTP/1.0 to workaround
- # their broken HTTP/1.1 implementation. Use variables "downgrade-1.0" and
- # "force-response-1.0" for this.
- BrowserMatch "MSIE [2-6]" \
- nokeepalive ssl-unclean-shutdown \
- downgrade-1.0 force-response-1.0
- # MSIE 7 and newer should be able to use keepalive
- BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
-
-
-
-# vim: syntax=apache ts=2 sw=2 sts=2 sr noet
diff --git a/syspass/sysPass/xdebug.ini b/syspass/sysPass/xdebug.ini
deleted file mode 100644
index f05728687..000000000
--- a/syspass/sysPass/xdebug.ini
+++ /dev/null
@@ -1,43 +0,0 @@
-zend_extension=/usr/local/lib/php/extensions/no-debug-non-zts-20190902/xdebug.so
-
-[debug]
-; Remote settings
-xdebug.remote_autostart=off
-xdebug.remote_enable=on
-xdebug.remote_handler=dbgp
-xdebug.remote_mode=req
-xdebug.remote_host=__XDEBUG_REMOTE_HOST__
-xdebug.remote_port=9000
-;xdebug.remote_log=/tmp/xdebug.log
-
-; General
-xdebug.auto_trace=off
-xdebug.collect_includes=on
-xdebug.collect_params=off
-xdebug.collect_return=off
-xdebug.default_enable=on
-xdebug.extended_info=1
-xdebug.manual_url=http://www.php.net
-xdebug.show_local_vars=0
-xdebug.show_mem_delta=1
-xdebug.max_nesting_level=100
-xdebug.idekey=__XDEBUG_IDE_KEY__
-xdebug.force_display_errors=1
-
-; Trace options
-xdebug.trace_format=0
-xdebug.trace_output_dir=/tmp
-xdebug.trace_options=0
-xdebug.trace_output_name=crc32
-
-; Profiling
-xdebug.profiler_append=1
-xdebug.profiler_enable=0
-xdebug.profiler_enable_trigger=1
-xdebug.profiler_output_dir=/tmp
-xdebug.profiler_output_name=cachegring.out.%t
-;xdebug.profiler_output_name=cachegring.out.%p
-;xdebug.profiler_output_name=cachegring.out
-;xdebug.profiler_output_name=cachegring.out.%R.%t
-
-xdebug.var_display_max_depth=5
diff --git a/teamcity/agent/Dockerfile b/teamcity/agent/Dockerfile
index b1e12bb6b..5347ddb2d 100644
--- a/teamcity/agent/Dockerfile
+++ b/teamcity/agent/Dockerfile
@@ -1,3 +1,18 @@
+FROM epicmorg/php:latest AS php74
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+##################################################################
+# ARGuments
+##################################################################
+ENV BuildDocker true
+
+ARG P4MODULE_PATH=/usr/lib/php/20190902
+
+##################################################################
+##################################################################
+##################################################################
+
FROM epicmorg/devel:jdk11
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
@@ -170,6 +185,11 @@ RUN curl -fsSL https://packages.atlassian.com/api/gpg/key/public | apt-key add -
##################################################################
# Installing PHP7.4
##################################################################
+ENV PHP_MODULE_PATH=/usr/lib/php/20190902
+ENV PHP_VER=7.4
+ENV PHP_DIR=/etc/php/${PHP_VER}
+ENV P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
#installing php repo
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
@@ -181,6 +201,7 @@ RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/
#Install base packages
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
php7.4 \
php7.4-dev \
php7.4-fpm \
@@ -191,13 +212,12 @@ RUN apt-get update && \
php-snmp \
php-ldap \
php-mail \
-# php-mailparse \
- php-interbase \
php-soap \
php-mysql \
php-memcached \
php-memcache \
php-igbinary \
+ php-interbase \
php-curl \
php-gd \
php-intl \
@@ -210,7 +230,6 @@ RUN apt-get update && \
php-xmlrpc \
php-xml \
php-mbstring \
-# php-gettext \
php-apcu \
php-common \
php-json \
@@ -227,7 +246,6 @@ RUN apt-get update && \
sendmail && \
phpenmod \
snmp \
- interbase \
gmp \
calendar \
ldap \
@@ -237,7 +255,6 @@ RUN apt-get update && \
fileinfo \
gd \
geoip \
-# gettext \
gnupg \
iconv \
imap \
@@ -265,7 +282,32 @@ RUN apt-get update && \
xsl \
yaml && \
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
- php -v
+ php -m && \
+ php -v
+
+##################################################################
+# 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}/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=php74 ${PHP_MODULE_PATH}/perforce.so ${PHP_MODULE_PATH}
+RUN echo "extension=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 Composer addon
diff --git a/websites/latest/Dockerfile b/websites/latest/Dockerfile
index 175638da6..be6ff446f 100644
--- a/websites/latest/Dockerfile
+++ b/websites/latest/Dockerfile
@@ -1,14 +1,15 @@
-FROM epicmorg/edge
+FROM epicmorg/php:latest
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
+ARG PHP_MODULE_PATH=/usr/lib/php/20190902
+ARG PHP_VER=7.4
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
##################################################################
-# Installing Apache2 + PHP7
+# Installing Apache2
##################################################################
-#installing php repo
-RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
-
#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'
@@ -22,90 +23,7 @@ RUN apt-get update && \
libapache2-mod-webauth \
libapache2-mod-xforward \
libapache2-mod-security2 \
- libmemcached-dev \
- php7.4 \
- php7.4-dev \
- php7.4-fpm \
- php7.4-cli \
- php7.4-cgi \
- php-pear \
- php-gmp \
- php-snmp \
- php-ldap \
- php-mail \
-# php-mailparse \
- php-soap \
- php-mysql \
- php-memcached \
- php-memcache \
- php-igbinary \
- php-interbase \
- php-curl \
- php-gd \
- php-intl \
- php-zip \
- php-bcmath \
- php-imap \
- php-pspell \
- php-sqlite3 \
- php-tidy \
- php-xmlrpc \
- php-xml \
- php-mbstring \
-# php-gettext \
- php-apcu \
- php-common \
- php-json \
- php-readline \
- php-enchant \
- php-ssh2 \
- php-oauth \
- php-gmagick \
- php-gnupg \
- php-redis \
- php-smbclient \
- php-yaml \
- php-geoip \
- sendmail && \
- phpenmod \
- snmp \
- gmp \
- calendar \
- ldap \
- curl \
- exif \
- ftp \
- fileinfo \
- gd \
- geoip \
-# gettext \
- gnupg \
- iconv \
- interbase \
- 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 && \
+ libmemcached-dev && \
a2enmod \
php7.4 \
rewrite \
@@ -126,32 +44,22 @@ RUN apt-get update && \
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
##################################################################
-ADD https://www.ioncube.com/php-7.4.0-beta-loaders/ioncube_loaders_lin_x86-64_7.4_BETA2.tar.gz /tmp/ioncube.tar.gz
-RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
- cp /tmp/ioncube_loader_lin_7.4_10.4.0_beta2.so /usr/lib/php/20170718/ && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/apache2/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/cgi/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/cli/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/fpm/php.ini && \
+RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
php -v
##################################################################
-# Installing Composer addon
+# Installing P4 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
+RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
+ php -m && \
+ php -v
##################################################################
# cleaninig up
@@ -161,8 +69,8 @@ RUN apt clean -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_loader_lin_7.4_10.4.0_beta2.so && \
rm -rfv /tmp/ioncube.tar.gz
#volumes
diff --git a/websites/php7.2/Dockerfile b/websites/php7.2/Dockerfile
index 7e44e80a6..0110a6a88 100644
--- a/websites/php7.2/Dockerfile
+++ b/websites/php7.2/Dockerfile
@@ -1,14 +1,15 @@
-FROM epicmorg/prod
+FROM epicmorg/php:php7.2
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
+ARG PHP_MODULE_PATH=/usr/lib/php/20170718
+ARG PHP_VER=7.2
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
##################################################################
-# Installing Apache2 + PHP7
+# Installing Apache2
##################################################################
-#installing php repo
-RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
-
#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'
@@ -22,45 +23,7 @@ RUN apt-get update && \
libapache2-mod-webauth \
libapache2-mod-xforward \
libapache2-mod-security2 \
- libmemcached-dev \
- php7.2-ldap \
- php7.2-dev \
- php7.2 \
- php7.2-mail \
- php7.2-mailparse \
- php7.2-soap \
- php7.2-mysql \
- php7.2-curl \
- php7.2-gd \
- php7.2-intl \
- php7.2-zip \
- php7.2-bcmath \
- php7.2-fpm \
- php-pear \
- php7.2-imap \
- php7.2-pspell \
- php7.2-recode \
- php7.2-sqlite3 \
- php7.2-tidy \
- php7.2-xmlrpc \
- php7.2-xml \
- php7.2-mbstring \
- php7.2-gettext \
- php7.2-apcu \
- php7.2-cli \
- php7.2-common \
- php7.2-cgi \
- php7.2-json \
- php7.2-readline \
- php7.2-enchant \
- php7.2-ssh2 \
- php7.2-oauth \
- php7.2-gmagick \
- php7.2-redis \
- php7.2-smbclient \
- php7.2-yaml \
- php7.2-geoip \
- sendmail && \
+ libmemcached-dev && \
a2enmod \
php7.2 \
rewrite \
@@ -81,32 +44,23 @@ RUN apt-get update && \
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
##################################################################
-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.2.so /usr/lib/php/20170718/ && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so" >> /etc/php/7.2/apache2/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so" >> /etc/php/7.2/cgi/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so" >> /etc/php/7.2/cli/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.2.so" >> /etc/php/7.2/fpm/php.ini && \
+RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.2.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
php -v
+
##################################################################
-# Installing Composer addon
+# Installing P4 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
+RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
+ php -m && \
+ php -v
##################################################################
# cleaninig up
@@ -116,6 +70,7 @@ RUN apt clean -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
diff --git a/websites/php7.3/Dockerfile b/websites/php7.3/Dockerfile
index f3a7c9143..3310d88ec 100644
--- a/websites/php7.3/Dockerfile
+++ b/websites/php7.3/Dockerfile
@@ -1,14 +1,15 @@
-FROM epicmorg/edge
+FROM epicmorg/php:php7.3
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
+ARG PHP_MODULE_PATH=/usr/lib/php/20180731
+ARG PHP_VER=7.3
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
##################################################################
-# Installing Apache2 + PHP7
+# Installing Apache2
##################################################################
-#installing php repo
-RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
-
#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'
@@ -22,89 +23,7 @@ RUN apt-get update && \
libapache2-mod-webauth \
libapache2-mod-xforward \
libapache2-mod-security2 \
- libmemcached-dev \
- php7.3-gmp \
- php7.3-snmp \
- php7.3-ldap \
- php7.3-dev \
- php7.3 \
- php7.3-mail \
- php7.3-mailparse \
- php7.3-soap \
- php7.3-mysql \
- php7.3-memcached \
-# php7.3-memcache \
-# php7.3-igbinary \
- php7.3-curl \
- php7.3-gd \
- php7.3-intl \
- php7.3-zip \
- php7.3-bcmath \
- php7.3-fpm \
- php-pear \
- php7.3-imap \
- php7.3-pspell \
- php7.3-recode \
- php7.3-sqlite3 \
- php7.3-tidy \
- php7.3-xmlrpc \
- php7.3-xml \
- php7.3-mbstring \
- php7.3-gettext \
- php-apcu \
- php7.3-cli \
- php7.3-common \
- php7.3-cgi \
- php7.3-json \
- php7.3-readline \
- php7.3-enchant \
- php-ssh2 \
- php-oauth \
- php-gmagick \
- php-gnupg \
- php7.3-redis \
- php7.3-smbclient \
- php7.3-yaml \
- php-geoip \
- sendmail && \
- phpenmod \
- snmp \
- gmp \
- calendar \
- ldap \
- curl \
- exif \
- ftp \
- fileinfo \
- gd \
- geoip \
- gettext \
- 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 && \
+ libmemcached-dev && \
a2enmod \
php7.3 \
rewrite \
@@ -125,24 +44,14 @@ RUN apt-get update && \
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
##################################################################
-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.3.so /usr/lib/php/20170718/ && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.3.so" >> /etc/php/7.3/apache2/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.3.so" >> /etc/php/7.3/cgi/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.3.so" >> /etc/php/7.3/cli/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.3.so" >> /etc/php/7.3/fpm/php.ini && \
+RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.3.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
php -v
##################################################################
diff --git a/websites/php7.4/Dockerfile b/websites/php7.4/Dockerfile
index d827a13dd..4e90e0148 100644
--- a/websites/php7.4/Dockerfile
+++ b/websites/php7.4/Dockerfile
@@ -1,14 +1,15 @@
-FROM epicmorg/edge
+FROM epicmorg/php:php7.4
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
+ARG PHP_MODULE_PATH=/usr/lib/php/20190902
+ARG PHP_VER=7.4
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+
##################################################################
-# Installing Apache2 + PHP7
+# Installing Apache2
##################################################################
-#installing php repo
-RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
-
#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'
@@ -22,90 +23,7 @@ RUN apt-get update && \
libapache2-mod-webauth \
libapache2-mod-xforward \
libapache2-mod-security2 \
- libmemcached-dev \
- php7.4 \
- php7.4-dev \
- php7.4-fpm \
- php7.4-cli \
- php7.4-cgi \
- php-pear \
- php-gmp \
- php-snmp \
- php-ldap \
- php-mail \
-# php-mailparse \
- php-soap \
- php-mysql \
- php-memcached \
- php-memcache \
- php-igbinary \
- php-interbase \
- php-curl \
- php-gd \
- php-intl \
- php-zip \
- php-bcmath \
- php-imap \
- php-pspell \
- php-sqlite3 \
- php-tidy \
- php-xmlrpc \
- php-xml \
- php-mbstring \
-# php-gettext \
- php-apcu \
- php-common \
- php-json \
- php-readline \
- php-enchant \
- php-ssh2 \
- php-oauth \
- php-gmagick \
- php-gnupg \
- php-redis \
- php-smbclient \
- php-yaml \
- php-geoip \
- sendmail && \
- phpenmod \
- snmp \
- gmp \
- calendar \
- ldap \
- curl \
- exif \
- ftp \
- fileinfo \
- gd \
- geoip \
-# gettext \
- gnupg \
- iconv \
- imap \
- interbase \
- 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 && \
+ libmemcached-dev && \
a2enmod \
php7.4 \
rewrite \
@@ -126,32 +44,22 @@ RUN apt-get update && \
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
##################################################################
-ADD https://www.ioncube.com/php-7.4.0-beta-loaders/ioncube_loaders_lin_x86-64_7.4_BETA2.tar.gz /tmp/ioncube.tar.gz
-RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
- cp /tmp/ioncube_loader_lin_7.4_10.4.0_beta2.so /usr/lib/php/20170718/ && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/apache2/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/cgi/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/cli/php.ini && \
- echo "zend_extension = /usr/lib/php/20170718/ioncube_loader_lin_7.4_10.4.0_beta2.so" >> /etc/php/7.4/fpm/php.ini && \
+RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
php -v
##################################################################
-# Installing Composer addon
+# Installing P4 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
+RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
+ php -m && \
+ php -v
##################################################################
# cleaninig up
@@ -161,8 +69,8 @@ RUN apt clean -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_loader_lin_7.4_10.4.0_beta2.so && \
rm -rfv /tmp/ioncube.tar.gz
#volumes