Compare commits

...

24 Commits

Author SHA1 Message Date
Deon George
923b4e72ca Update php to 8.1 2022-07-30 11:05:38 +10:00
Deon George
7652408e48 Add build-essentials to Dockerfile.test 2022-02-06 18:04:49 +11:00
Deon George
6ab3e69d83 Updated with /sbin/init hack 2022-01-20 16:16:14 +11:00
Deon George
20d1800ca1 Update some libraries since the base image is based on bullseye 2021-12-16 21:24:01 +11:00
Deon George
c03dd2aaa0 Fix base image for test image 2021-07-16 17:17:57 +10:00
Deon George
d2518f710c Fix for missing libfontconfig library 2021-07-07 23:13:41 +10:00
Deon George
03f83bc304 PHP with graphic libraries 2021-07-06 16:18:54 +10:00
Deon George
972a4aeaf8 Trigger build of ext 2021-06-30 16:13:46 +10:00
Deon George
6cd2f36bbc Fixes for ImageMagick 2021-03-04 09:26:34 +11:00
Deon George
7869fc6f50 Update to PHP 8.0 2021-03-03 13:57:40 +11:00
Deon George
88c1064ebd Change configure for gd 2020-08-04 17:30:12 +10:00
Deon George
ab12261b81 Update to PHP 7.4 2020-08-04 16:32:44 +10:00
Deon George
ec8accdf4a Added zip to plus image 2020-05-15 12:53:33 +10:00
Deon George
8f38abdaa5 Dont remove everything in /usr/src 2020-04-02 16:56:31 +11:00
Deon George
99dbe0d13d Remove double docker pull during build 2020-04-02 16:20:00 +11:00
Deon George
a20a865d55 Remove redundant debs 2020-01-23 00:10:38 +11:00
Deon George
34d0a7416c Updated imagick for HEIC photos 2020-01-02 08:23:08 +11:00
Deon George
bc3a465c0f Update to php 7.3 2019-05-03 21:08:22 +10:00
Deon George
cd409b2002 gettext moved to parent image 2019-05-03 12:29:03 +10:00
Deon George
b29603092e Added x86_64 tags, changed docker:dind service again 2019-01-22 11:54:15 +11:00
Deon George
68c1281162 Added x86_64 tags, changed docker:dind service 2019-01-22 11:51:38 +11:00
Deon George
921575772f Changed to use 7.2-fpm-mp as a starting base 2018-05-05 00:08:58 +10:00
Deon George
5bf33b84ee Reworked ssmtp integration, need to use fastcgi_param PHP_ADMIN_VALUE "sendmail_path=/usr/sbin/sendmail -i -t"; in nginx config, and hostname: for php container 2018-02-27 19:55:11 +11:00
Deon George
99791da0ec Refined plus build to use mysql build as a base 2018-01-29 15:30:27 +11:00
5 changed files with 93 additions and 66 deletions

View File

@ -1,42 +1,46 @@
image: docker:latest image: docker:latest
stages: stages:
- test
- build - build
- build-test
variables: variables:
BRANCH: plus BRANCH: image
VERSION: 7.1-fpm-${BRANCH} VERSION: 8.1-fpm-${BRANCH}
CACHETAG: build-${BRANCH} CACHETAG: build-${BRANCH}
DOCKER_REGISTRY: registry.leenooks.net DOCKER_HOST: tcp://docker:2375
DOCKER_HOST: tcp://${DOCKER_REGISTRY}-leenooks-ci-docker:2375
services: services:
- ${DOCKER_REGISTRY}/leenooks/ci-docker:dind - docker:dind
before_script: before_script:
- docker info - docker info
- docker version - docker version
- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN ${DOCKER_REGISTRY} - echo "$CI_JOB_TOKEN" | docker login -u "$CI_REGISTRY_USER" "$CI_REGISTRY" --password-stdin
test: x86_64:build:
stage: test
script:
- cat /etc/hosts
- env|sort
- docker build -t ${CI_REGISTRY_IMAGE}:${VERSION} .
- docker images
only:
- debug
build:
stage: build stage: build
script: script:
- docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG} || true - if [ -f init ]; then chmod 500 init; fi
- ([ -z "$REFRESH" ] && docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG}) || true
- docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} . - docker build --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION} -t ${CI_REGISTRY_IMAGE}:${CACHETAG} .
- docker push ${CI_REGISTRY_IMAGE}:${VERSION} - docker push ${CI_REGISTRY_IMAGE}:${VERSION}
- docker push ${CI_REGISTRY_IMAGE}:${CACHETAG} - docker push ${CI_REGISTRY_IMAGE}:${CACHETAG}
tags: tags:
- docker - docker
- x86_64
only: only:
- plus - image
x86_64:build-test:
stage: build-test
script:
- if [ -f init ]; then chmod 500 init; fi
- ([ -z "$REFRESH" ] && docker pull ${CI_REGISTRY_IMAGE}:${CACHETAG}) || true
- docker build --file Dockerfile.phptest --cache-from ${CI_REGISTRY_IMAGE}:${CACHETAG} -t ${CI_REGISTRY_IMAGE}:${VERSION}-test .
- docker push ${CI_REGISTRY_IMAGE}:${VERSION}-test
tags:
- docker
- x86_64
only:
- image

View File

@ -1,23 +1,56 @@
# NAME leenooks/php # NAME leenooks/php
# VERSION 7.1-fpm-plus # VERSION 8.1-fpm-image
FROM php:7.1-fpm FROM registry.leenooks.net/leenooks/php:8.1-fpm-latest
RUN echo "deb http://deb.debian.org/debian jessie non-free" >> /etc/apt/sources.list.d/non-free.list && apt-get update \
&& apt-get install -y pkg-config libbz2-dev libgmp-dev libpng-dev libjpeg-dev libfreetype6-dev libsnmp-dev snmp-mibs-downloader libmagickwand-dev --no-install-recommends \
&& download-mibs \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/freetype2 --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) pdo_mysql bz2 gettext sockets gmp gd pcntl snmp exif \
&& pecl install imagick && docker-php-ext-enable imagick \
&& rm -rf /var/lib/apt/lists/* /tmp/*
RUN apt-get update && apt-get install -y openssh-server && rm -rf /var/lib/apt/lists/* \ RUN mv /sbin/init /sbin/init.tmp \
&& useradd -c "Hosting Admin User" -u 1000 -g users -G www-data -d /var/www/html -M lamp && apt-get update \
&& apt-get install -yqq wkhtmltopdf \
&& apt purge -yqq systemd-sysv dconf-service \
&& apt autoremove -yqq \
&& rm -rf /var/lib/apt/lists/* /tmp/* \
&& mv /sbin/init.tmp /sbin/init
EXPOSE 9000/tcp 22/tcp RUN cd /usr/local/bin && curl -OsL https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions && chmod +x install-php-extensions
COPY sshd_config.patch /tmp RUN mv /sbin/init /sbin/init.tmp \
RUN (cd / && patch -p0 ) < /tmp/sshd_config.patch && rm /tmp/sshd_config.patch && sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list \
&& cat /etc/apt/sources.list|grep ^deb | sed -E 's/^deb/deb-src/' >> /etc/apt/sources.list \
COPY start /usr/local/sbin && apt-get -y update \
ENTRYPOINT [ "/usr/local/sbin/start" ] && apt-get -y install wget build-essential libtool git-core libwmf0.2-7 libreadline8 \
CMD ["php-fpm"] libpangocairo-1.0-0 libxt6 libjbig0 liblcms2-2 libtiff5 liblqr-1-0 libdjvulibre21 libfftw3-double3 libx265-192 \
libwebpmux3 libwebpdemux2 libopenexr25 libilmbase25 libopenjp2-7 \
&& apt-get -y build-dep imagemagick libmagickcore-dev libde265 libheif libfontconfig1 \
&& cd /usr/src/ \
&& git clone https://github.com/strukturag/libde265.git \
&& git clone https://github.com/strukturag/libheif.git \
&& cd libde265/ \
&& ./autogen.sh \
&& ./configure \
&& make \
&& make install \
&& cd /usr/src/libheif/ \
&& ./autogen.sh \
&& ./configure \
&& make \
&& make install \
&& mkdir /usr/src/ImageMagick \
&& git clone https://github.com/ImageMagick/ImageMagick.git ImageMagick-7.0.11 \
&& cd ImageMagick-7.0.11 \
&& ./configure --with-heic=yes --with-modules \
&& make install \
&& ldconfig \
&& apt-get install -y libbz2-dev libgmp-dev libpng-dev libjpeg-dev libfreetype6-dev --no-install-recommends \
&& docker-php-ext-install -j$(nproc) gmp exif \
&& install-php-extensions imagick \
&& apt-get purge -y build-essential libtool wget *-dev \
hicolor-icon-theme texlive-base texlive-binaries automake bsdmainutils doxygen \
fonts-lmodern ghostscript graphviz gsfonts icu-devtools jdupes groff-base chrpath dbus \
man-db python3 xsltproc \
tex-common mime-support poppler-data preview-latex-style libgdk-pixbuf2.0-0 libgl1-mesa-dri libpaper1 libpulse0 \
libqt5core5a libqt5gui5 libsensors-config libvdpau1 shared-mime-info libglib2.0-data libxml2-utils ttf-bitstream-vera libgvc6 \
imagemagick-6-common \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* /tmp/* \
&& rm -rf /usr/src/libde265 /usr/src/libheif /usr/src/ImageMagick \
&& mv /sbin/init.tmp /sbin/init

18
Dockerfile.phptest Normal file
View File

@ -0,0 +1,18 @@
# NAME leenooks/php
# VERSION 8.1-fpm-image-test
FROM registry.leenooks.net/leenooks/php:8.1-fpm-image
RUN apt-get update && apt-get -y install wget build-essential \
&& pecl install xdebug \
&& docker-php-ext-enable xdebug \
&& apt-get -y autoremove \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
RUN mv /sbin/init /sbin/init.orig \
&& apt-get update && apt-get install -y npm \
&& apt-get -y autoremove \
&& apt-get clean \
&& mv /sbin/init.orig /sbin/init \
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

View File

@ -1,20 +0,0 @@
--- /etc/ssh/sshd_config.orig 2017-12-13 10:12:21.098005827 +0000
+++ /etc/ssh/sshd_config 2017-12-13 10:14:11.461687661 +0000
@@ -25,7 +25,7 @@
# Authentication:
LoginGraceTime 120
-PermitRootLogin without-password
+PermitRootLogin no
StrictModes yes
RSAAuthentication yes
@@ -49,7 +49,7 @@
ChallengeResponseAuthentication no
# Change to no to disable tunnelled clear text passwords
-#PasswordAuthentication yes
+PasswordAuthentication no
# Kerberos options
#KerberosAuthentication no

8
start
View File

@ -1,8 +0,0 @@
#!/bin/sh
if [ -x /usr/sbin/sshd -a "${SSH_START}" = "TRUE" ]; then
[ ! -d /var/run/sshd ] && mkdir /var/run/sshd
start-stop-daemon --start --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd -- -p 22
fi
exec /usr/local/bin/docker-php-entrypoint "$@"