mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-22 14:41:29 +01:00
WIP 23.1 container builds
This commit is contained in:
parent
115ca40737
commit
9ef1e44744
@ -52,10 +52,9 @@ RUN apt-get update \
|
|||||||
&& mkdir -p /run/php \
|
&& mkdir -p /run/php \
|
||||||
# send logs to stderr to be viewed by docker logs
|
# send logs to stderr to be viewed by docker logs
|
||||||
&& ln -s /dev/stderr /var/log/php$PHP_VERSION-fpm.log \
|
&& ln -s /dev/stderr /var/log/php$PHP_VERSION-fpm.log \
|
||||||
&& update-alternatives --install /usr/sbin/php-fpm php-fpm /usr/sbin/php-fpm$PHP_VERSION 5 \
|
&& update-alternatives --install /usr/sbin/php-fpm php-fpm /usr/sbin/php-fpm$PHP_VERSION 5
|
||||||
# install tools to build EGroupware
|
# install tools to build EGroupware
|
||||||
&& apt-get install -y rsync npm zip curl sudo cron patch \
|
RUN apt-get install -y rsync zip curl sudo cron patch \
|
||||||
&& npm install -g grunt-cli \
|
|
||||||
&& bash -c \
|
&& bash -c \
|
||||||
'EXPECTED_SIGNATURE=$(curl https://composer.github.io/installer.sig); \
|
'EXPECTED_SIGNATURE=$(curl https://composer.github.io/installer.sig); \
|
||||||
curl https://getcomposer.org/installer > composer-setup.php; \
|
curl https://getcomposer.org/installer > composer-setup.php; \
|
||||||
@ -74,16 +73,23 @@ exit $RESULT' \
|
|||||||
# not all dependencies already allow PHP 8.x, thought what we use from them works
|
# not all dependencies already allow PHP 8.x, thought what we use from them works
|
||||||
&& bash -c "[[ $PHP_VERSION =~ ^8\..* ]]" && COMPOSER_EXTRA=--ignore-platform-reqs || true \
|
&& bash -c "[[ $PHP_VERSION =~ ^8\..* ]]" && COMPOSER_EXTRA=--ignore-platform-reqs || true \
|
||||||
&& composer.phar create-project $COMPOSER_EXTRA --prefer-dist --no-scripts --no-dev egroupware/egroupware:$VERSION \
|
&& composer.phar create-project $COMPOSER_EXTRA --prefer-dist --no-scripts --no-dev egroupware/egroupware:$VERSION \
|
||||||
&& cd egroupware \
|
|
||||||
&& npm install \
|
|
||||||
&& grunt \
|
|
||||||
# clean up and remove caches
|
# clean up and remove caches
|
||||||
&& composer.phar clear-cache \
|
&& composer.phar clear-cache \
|
||||||
&& rm -f /usr/local/bin/composer.phar \
|
&& rm -f /usr/local/bin/composer.phar
|
||||||
|
RUN cd /usr/share/egroupware \
|
||||||
|
# install nodejs 16.x PPA (Shoelace requires >= 14.17, Ubuntu 22.04 only has 12.x)
|
||||||
|
&& curl -fsSL https://deb.nodesource.com/setup_16.x | bash - && apt update \
|
||||||
|
&& apt-get install -y nodejs \
|
||||||
|
&& npm install -g grunt-cli \
|
||||||
|
&& npm install \
|
||||||
|
&& grunt \
|
||||||
|
&& mkdir chunks && npm run build \
|
||||||
|
# clean up and remove caches
|
||||||
&& npm uninstall -g grunt-cli \
|
&& npm uninstall -g grunt-cli \
|
||||||
&& npm cache clear --force \
|
&& npm cache clear --force \
|
||||||
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false npm zip \
|
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false zip \
|
||||||
&& apt-get clean \
|
&& apt-get clean
|
||||||
|
RUN cd /usr/share/egroupware \
|
||||||
# create data directory
|
# create data directory
|
||||||
&& mkdir -p /var/lib/egroupware/default/files/sqlfs \
|
&& mkdir -p /var/lib/egroupware/default/files/sqlfs \
|
||||||
&& mkdir -p /var/lib/egroupware/default/backup \
|
&& mkdir -p /var/lib/egroupware/default/backup \
|
||||||
@ -96,8 +102,9 @@ exit $RESULT' \
|
|||||||
&& ln -s /var/lib/egroupware-push/config.inc.php /usr/share/egroupware/swoolepush \
|
&& ln -s /var/lib/egroupware-push/config.inc.php /usr/share/egroupware/swoolepush \
|
||||||
# install cron-job and disable fallback async service and ability to switch them off in admin
|
# install cron-job and disable fallback async service and ability to switch them off in admin
|
||||||
&& sed 's/apache/www-data/' doc/rpm-build/egroupware.cron > /etc/cron.d/egroupware \
|
&& sed 's/apache/www-data/' doc/rpm-build/egroupware.cron > /etc/cron.d/egroupware \
|
||||||
&& patch -p1 < doc/rpm-build/asyncservice.patch \
|
&& patch -p1 < doc/rpm-build/asyncservice.patch
|
||||||
# disable certificate checks for LDAP as most LDAP and AD servers have no "valid" cert
|
# disable certificate checks for LDAP as most LDAP and AD servers have no "valid" cert
|
||||||
|
RUN ls /etc/ldap/ldap.conf || apt-get install -y libldap-common \
|
||||||
&& echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf \
|
&& echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf \
|
||||||
# mv sources to a different directory so entrypoint can rsync them to volumn for both nginx and fpm
|
# mv sources to a different directory so entrypoint can rsync them to volumn for both nginx and fpm
|
||||||
&& mv /usr/share/egroupware /usr/share/egroupware-sources
|
&& mv /usr/share/egroupware /usr/share/egroupware-sources
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
cd $(dirname $0)
|
cd $(dirname $0)
|
||||||
|
|
||||||
DEFAULT_PHP_VERSION=7.4
|
DEFAULT_PHP_VERSION=8.1
|
||||||
PHP_VERSION=$DEFAULT_PHP_VERSION
|
PHP_VERSION=$DEFAULT_PHP_VERSION
|
||||||
|
|
||||||
if [[ $1 =~ ^[78]\.[0-9]$ ]]
|
if [[ $1 =~ ^[78]\.[0-9]$ ]]
|
||||||
@ -31,8 +31,8 @@ BRANCH=$(echo $VERSION|sed 's/\.[0-9]\{8\}$//')
|
|||||||
# add PHP_VERSION to TAG, if not the default PHP version
|
# add PHP_VERSION to TAG, if not the default PHP version
|
||||||
[ $PHP_VERSION != $DEFAULT_PHP_VERSION ] && TAG=$TAG-$PHP_VERSION
|
[ $PHP_VERSION != $DEFAULT_PHP_VERSION ] && TAG=$TAG-$PHP_VERSION
|
||||||
|
|
||||||
docker pull ubuntu:20.04
|
docker pull ubuntu:22.04
|
||||||
docker build --no-cache --build-arg "VERSION=$VERSION" --build-arg "PHP_VERSION=$PHP_VERSION" -t egroupware/egroupware:$TAG . && {
|
docker build --build-arg "VERSION=$VERSION" --build-arg "PHP_VERSION=$PHP_VERSION" -t egroupware/egroupware:$TAG . && {
|
||||||
docker push egroupware/egroupware:$TAG
|
docker push egroupware/egroupware:$TAG
|
||||||
# further tags are only for the default PHP version
|
# further tags are only for the default PHP version
|
||||||
[ $PHP_VERSION != $DEFAULT_PHP_VERSION ] && exit
|
[ $PHP_VERSION != $DEFAULT_PHP_VERSION ] && exit
|
||||||
|
Loading…
Reference in New Issue
Block a user