1
0
Fork 0
mirror of https://codeberg.org/icewind/haze.git synced 2026-06-03 09:04:12 +02:00

unify dockerfiles

This commit is contained in:
Robin Appelman 2021-12-15 16:53:27 +01:00
commit 92d2ab4a82
9 changed files with 30 additions and 302 deletions

1
images/.gitignore vendored
View file

@ -1,4 +1,3 @@
*.tar.bz2
*.tar.bz2.asc
.vagrant/
Dockerfile

View file

@ -4,14 +4,12 @@ versions=("7.2" "7.3" "7.4" "8.0")
for version in "${versions[@]}"; do
echo "building haze-php-$version"
docker build --build-arg PHP_VERSION=$version -t "icewind1991/haze-php:$version" -f "php/Dockerfile.$version" php
docker build --build-arg PHP_VERSION=$version -t "icewind1991/haze-php:$version" -f "php/Dockerfile" php
done
for version in "${versions[@]}"; do
echo "building haze-$version"
cp haze/Dockerfile.tmpl haze/Dockerfile
sed -i "s/<version>/$version/" haze/Dockerfile
docker build -t "icewind1991/haze:$version" -f "haze/Dockerfile" haze
docker build --build-arg PHP_VERSION=$version -t "icewind1991/haze:$version" -f "haze/Dockerfile" haze
done
docker build -t "icewind1991/haze-ldap" -f "ldap/Dockerfile" ldap

View file

@ -1,8 +1,5 @@
FROM icewind1991/haze-php:<version>
MAINTAINER Robin Appelman <robin@icewind.nl>
# MAINTAINER Robin Schneider <ypid@riseup.net>
# MAINTAINER silvio <silvio@port1024.net>
# MAINTAINER Josh Chaney <josh@chaney.io>
ARG PHP_VERSION
FROM icewind1991/haze-php:$PHP_VERSION
RUN DEBIAN_FRONTEND=noninteractive ;\
echo 'deb http://http.debian.net/debian buster-backports main' >> /etc/apt/sources.list && \

3
images/ldap/Dockerfile Normal file
View file

@ -0,0 +1,3 @@
FROM osixia/openldap
COPY bootstrap /container/service/slapd/assets/config/bootstrap/ldif/custom/

View file

@ -12,6 +12,8 @@ RUN DEBIAN_FRONTEND=noninteractive ;\
unzip \
&& rm -rf /var/lib/apt/lists/*
ADD configure_gd.sh /
# php exceptions
RUN apt-get update \
&& apt-get install -y \
@ -30,10 +32,7 @@ RUN apt-get update \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
&& docker-php-ext-configure gd \
--enable-gd \
--with-jpeg \
--with-freetype \
&& /configure_gd.sh \
&& docker-php-ext-install gd \
&& docker-php-ext-install iconv zip pdo pdo_pgsql pdo_sqlite pgsql pdo_mysql intl curl mbstring pcntl ldap \
&& pecl install inotify \
@ -71,7 +70,6 @@ RUN pecl install apcu \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.mode=debug,trace,profile" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.start_with_request=trigger" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.client_port=9000" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.discover_client_host=true" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.client_host=hazehost" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.log_level=0" >> $PHP_INI_DIR/conf.d/xdebug.ini \

View file

@ -1,96 +0,0 @@
ARG PHP_VERSION
FROM php:${PHP_VERSION}-fpm
MAINTAINER Robin Appelman <robin@icewind.nl>
RUN DEBIAN_FRONTEND=noninteractive ;\
apt-get update && \
apt-get install --assume-yes \
bzip2 \
nginx \
libaio-dev \
wget \
unzip \
&& rm -rf /var/lib/apt/lists/*
# php exceptions
RUN apt-get update \
&& apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq5 \
libpq-dev \
libsqlite3-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
libmagickwand-dev \
libmagickcore-dev \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
&& docker-php-ext-configure gd \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
&& docker-php-ext-install gd \
&& docker-php-ext-install iconv zip pdo pdo_pgsql pdo_sqlite pgsql pdo_mysql intl curl mbstring pcntl ldap \
&& pecl install inotify \
&& pecl install smbclient \
&& pecl install imagick \
&& apt-get remove -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq-dev \
libsqlite3-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
libmagick-dev \
libmagickwand-dev \
libmagickcore-dev \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
&& rm -rf /var/lib/apt/lists/*
RUN pecl install apcu \
&& pecl install xdebug \
&& pecl install redis \
&& export VERSION=`php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"` \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/${VERSION} \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
&& mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so \
&& echo "extension=imagick.so" > $PHP_INI_DIR/conf.d/imagick.ini \
&& echo "extension=smbclient.so" > $PHP_INI_DIR/conf.d/smbclient.ini \
&& echo "extension=inotify.so" > $PHP_INI_DIR/conf.d/inotify.ini \
&& echo "extension=blackfire.so\nblackfire.agent_socket=\${BLACKFIRE_PORT}" > $PHP_INI_DIR/conf.d/blackfire.ini \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.mode=debug,trace,profile" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.start_with_request=trigger" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.remote_port=9000" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.discover_client_host=true" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.client_host=hazehost" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.log_level=0" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "memory_limit = 512M" > $PHP_INI_DIR/conf.d/memory_limit.ini
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
ADD apcu.ini opcache.ini redis.ini $PHP_INI_DIR/conf.d/
ADD nginx.conf nginx-app.conf /etc/nginx/
ADD php-fpm.conf /usr/local/etc/
ADD index.php /var/www/html/
ADD bootstrap-nginx.sh /usr/local/bin/
EXPOSE 80
ENTRYPOINT ["bootstrap-nginx.sh"]

View file

@ -1,96 +0,0 @@
ARG PHP_VERSION
FROM php:${PHP_VERSION}-fpm
MAINTAINER Robin Appelman <robin@icewind.nl>
RUN DEBIAN_FRONTEND=noninteractive ;\
apt-get update && \
apt-get install --assume-yes \
bzip2 \
nginx \
libaio-dev \
wget \
unzip \
&& rm -rf /var/lib/apt/lists/*
# php exceptions
RUN apt-get update \
&& apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq5 \
libpq-dev \
libsqlite3-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
libmagickwand-dev \
libmagickcore-dev \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
&& docker-php-ext-configure gd \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir \
&& docker-php-ext-install gd \
&& docker-php-ext-install iconv zip pdo pdo_pgsql pdo_sqlite pgsql pdo_mysql intl curl mbstring pcntl ldap \
&& pecl install inotify \
&& pecl install smbclient \
&& pecl install imagick \
&& apt-get remove -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq-dev \
libsqlite3-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
libmagick-dev \
libmagickwand-dev \
libmagickcore-dev \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
&& rm -rf /var/lib/apt/lists/*
RUN pecl install apcu \
&& pecl install xdebug \
&& pecl install redis \
&& export VERSION=`php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"` \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/${VERSION} \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
&& mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so \
&& echo "extension=imagick.so" > $PHP_INI_DIR/conf.d/imagick.ini \
&& echo "extension=smbclient.so" > $PHP_INI_DIR/conf.d/smbclient.ini \
&& echo "extension=inotify.so" > $PHP_INI_DIR/conf.d/inotify.ini \
&& echo "extension=blackfire.so\nblackfire.agent_socket=\${BLACKFIRE_PORT}" > $PHP_INI_DIR/conf.d/blackfire.ini \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.mode=debug,trace,profile" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.start_with_request=trigger" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.remote_port=9000" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.discover_client_host=true" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.client_host=hazehost" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.log_level=0" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "memory_limit = 512M" > $PHP_INI_DIR/conf.d/memory_limit.ini
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
ADD apcu.ini opcache.ini redis.ini $PHP_INI_DIR/conf.d/
ADD nginx.conf nginx-app.conf /etc/nginx/
ADD php-fpm.conf /usr/local/etc/
ADD index.php /var/www/html/
ADD bootstrap-nginx.sh /usr/local/bin/
EXPOSE 80
ENTRYPOINT ["bootstrap-nginx.sh"]

View file

@ -1,94 +0,0 @@
ARG PHP_VERSION
FROM php:${PHP_VERSION}-fpm
MAINTAINER Robin Appelman <robin@icewind.nl>
RUN DEBIAN_FRONTEND=noninteractive ;\
apt-get update && \
apt-get install --assume-yes \
bzip2 \
nginx \
libaio-dev \
wget \
unzip \
&& rm -rf /var/lib/apt/lists/*
# php exceptions
RUN apt-get update \
&& apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq5 \
libpq-dev \
libsqlite3-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
libmagickwand-dev \
libmagickcore-dev \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
&& docker-php-ext-configure gd \
--enable-gd \
--with-jpeg \
--with-freetype \
&& docker-php-ext-install gd \
&& docker-php-ext-install iconv zip pdo pdo_pgsql pdo_sqlite pgsql pdo_mysql intl curl mbstring pcntl ldap \
&& pecl install inotify \
&& pecl install smbclient \
&& pecl install imagick \
&& apt-get remove -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libmcrypt-dev \
libpng-dev \
libpq-dev \
libsqlite3-dev \
libcurl4-openssl-dev \
libicu-dev \
libzip-dev \
libmagick-dev \
libmagickwand-dev \
libmagickcore-dev \
libonig-dev \
libldap2-dev \
libsmbclient-dev \
&& rm -rf /var/lib/apt/lists/*
RUN pecl install apcu \
&& pecl install xdebug \
&& pecl install redis \
&& export VERSION=`php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;"` \
&& curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/${VERSION} \
&& tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp \
&& mv /tmp/blackfire-*.so `php -r "echo ini_get('extension_dir');"`/blackfire.so \
&& echo "extension=imagick.so" > $PHP_INI_DIR/conf.d/imagick.ini \
&& echo "extension=smbclient.so" > $PHP_INI_DIR/conf.d/smbclient.ini \
&& echo "extension=inotify.so" > $PHP_INI_DIR/conf.d/inotify.ini \
&& echo "extension=blackfire.so\nblackfire.agent_socket=\${BLACKFIRE_PORT}" > $PHP_INI_DIR/conf.d/blackfire.ini \
&& echo "zend_extension=$(find /usr/local/lib/php/extensions/ -name xdebug.so)" > $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.mode=debug,trace,profile" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.start_with_request=trigger" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.remote_port=9000" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.discover_client_host=true" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.client_host=hazehost" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "xdebug.log_level=0" >> $PHP_INI_DIR/conf.d/xdebug.ini \
&& echo "memory_limit = 512M" > $PHP_INI_DIR/conf.d/memory_limit.ini
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
ADD apcu.ini opcache.ini redis.ini $PHP_INI_DIR/conf.d/
ADD nginx.conf nginx-app.conf /etc/nginx/
ADD php-fpm.conf /usr/local/etc/
ADD index.php /var/www/html/
ADD bootstrap-nginx.sh /usr/local/bin/
EXPOSE 80
ENTRYPOINT ["bootstrap-nginx.sh"]

19
images/php/configure_gd.sh Executable file
View file

@ -0,0 +1,19 @@
#!/bin/sh
PHP=$(echo "$PHP_VERSION" | cut -c -3)
echo "php $PHP"
if [ "$PHP" = "7.2" ] || [ "$PHP" = "7.3" ]; then
docker-php-ext-configure gd \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-freetype-dir
else
docker-php-ext-configure gd \
--enable-gd \
--with-jpeg \
--with-freetype
fi