Compare commits
No commits in common. "a5c22a433252b25b6c1d669f32422945e7c8f6b1" and "ff0054eb4df289bdc3c316bfa0dd639d468ab019" have entirely different histories.
a5c22a4332
...
ff0054eb4d
|
@ -13,70 +13,12 @@ jobs:
|
|||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
flavors: ["cli", "full", "debug"]
|
||||
version:
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
os_version: "3.5"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: cli
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: full
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: debug
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: full
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: full
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: full
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: debug
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: debug
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "5"
|
||||
mode: debug
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
|
@ -90,51 +32,18 @@ jobs:
|
|||
# uses: docker/setup-qemu-action@v3
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- if: ${{ matrix.flavors.with_server == 'false' && matrix.flavors.with_database == 'false' }}
|
||||
name: Build and push php5
|
||||
- name: Build and push php on alpine base
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 5/Dockerfile.${{ matrix.flavors.os }}
|
||||
file: 5/Dockerfile.${{ matrix.version.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
FLAVOR=${{ matrix.flavors.mode }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
OS_VERSION=${{ matrix.version.os_version }}
|
||||
PHP_VERSION=${{ matrix.version.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.version.php_ver_short }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.mode }}-${{ matrix.flavors.os }}
|
||||
- if: ${{ matrix.flavors.with_server != 'false' && matrix.flavors.with_database == 'false' }}
|
||||
name: Build and push php5 with webserver
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 5/Dockerfile.${{ matrix.flavors.with_server }}-${{ matrix.flavors.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
FLAVOR=${{ matrix.flavors.mode }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
WITH_APACHE=true
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.mode }}-${{ matrix.flavors.with_server }}-${{ matrix.flavors.os }}
|
||||
- if: ${{ matrix.flavors.with_server != 'false' && matrix.flavors.with_database != 'false' }}
|
||||
name: Build and push php5 with apache2 and database connector library
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 5/Dockerfile.${{ matrix.flavors.with_server }}-${{ matrix.flavors.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
FLAVOR=${{ matrix.flavors.mode }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
WITH_APACHE=true
|
||||
WITH_DATABASE=${{ matrix.flavors.with_database }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.mode }}-${{ matrix.flavors.with_server }}-${{ matrix.flavors.with_database }}-${{ matrix.flavors.os }}
|
||||
quay.io/sindigilive/php:${{ matrix.version.php_version }}-${{ matrix.flavors }}-${{ matrix.version.os }}
|
||||
# build-latest:
|
||||
# name: Build latest nginx alpine based container images
|
||||
# runs-on: ubuntu-latest
|
||||
|
|
|
@ -1,16 +1,14 @@
|
|||
# PHP 5.6 == 3.6
|
||||
ARG OS_VERSION=3.6
|
||||
# PHP 5.6 == 3.5
|
||||
ARG OS_VERSION=3.5
|
||||
|
||||
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
|
||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
||||
|
||||
ARG FLAVOR=cli
|
||||
ARG WITH_APACHE=false
|
||||
ARG PHP_VERSION=5.6
|
||||
ARG PHP_VER_SHORT=5
|
||||
|
||||
ENV FLAVOR=${FLAVOR}
|
||||
ENV WITH_APACHE=${WITH_APACHE}
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
|
||||
|
|
|
@ -1,74 +0,0 @@
|
|||
# PHP 5.6 == 3.6
|
||||
ARG OS_VERSION=3.6
|
||||
|
||||
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
|
||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
||||
|
||||
ARG FLAVOR=cli
|
||||
ARG WITH_APACHE=false
|
||||
ARG PHP_VERSION=5.6
|
||||
ARG PHP_VER_SHORT=5
|
||||
|
||||
ENV FLAVOR=${FLAVOR}
|
||||
ENV WITH_APACHE=${WITH_APACHE}
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
ADD 5/scripts/alpine-setup.sh /tmp/setup.sh
|
||||
ADD scripts/entrypoint.sh /usr/local/bin/
|
||||
|
||||
# Create directory, and install required php app
|
||||
RUN /bin/mkdir -p /app ; \
|
||||
/sbin/apk add --update --no-cache \
|
||||
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
|
||||
php${PHP_VER_SHORT}-cli ; \
|
||||
/bin/chmod +x /tmp/setup.sh /usr/local/bin/entrypoint.sh ; \
|
||||
/bin/sh /tmp/setup.sh; \
|
||||
/bin/rm -f /tmp/*.sh;
|
||||
|
||||
ADD htdocs ${SERVER_ROOT}/htdocs
|
||||
|
||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
||||
RUN ln -ns /usr/bin/php${PHP_VER_SHORT} /usr/bin/php ; exit 0
|
||||
|
||||
# CLEAN APK CACHES
|
||||
RUN sed -i "s|#version#|${PHP_VERSION}|" /app/htdocs/index.html ; \
|
||||
sed -i "s|#os#|alpine|" /app/htdocs/index.html ; \
|
||||
sed -i "s|#flavor#|${FLAVOR}|" /app/htdocs/index.html ; \
|
||||
mkdir -p ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
||||
ln -s /usr/lib/apache2 ${SERVER_ROOT}/modules ; \
|
||||
chmod -R 755 ${SERVER_ROOT}/logs ${SERVER_ROOT/run} ; \
|
||||
chown -R apache:apache ${SERVER_ROOT}/htdocs ${SERVER_ROOT}/logs ${SERVER_ROOT}/run /run/apache2 ; \
|
||||
rm -vrf /var/cache/apk/*
|
||||
|
||||
FROM scratch
|
||||
|
||||
ARG PHP_VERSION=5.6
|
||||
ARG PHP_VER_SHORT=5
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
|
||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
||||
LABEL name="php"
|
||||
LABEL version="${PHP_VERSION}"
|
||||
LABEL distribution-scope="public"
|
||||
|
||||
#labels for container catalog
|
||||
LABEL summary="PHP ${PHP_VERSION} on alpine based container image"
|
||||
LABEL description="Provide php on alpine based container base image"
|
||||
LABEL io.k8s.description="Very small alpine linux container image"
|
||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
||||
|
||||
COPY --from=builder / /
|
||||
|
||||
USER apache
|
||||
|
||||
WORKDIR /app/htdocs
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
||||
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
|
|
@ -1,75 +0,0 @@
|
|||
# PHP 5.6 == 3.6
|
||||
ARG OS_VERSION=3.6
|
||||
|
||||
FROM quay.io/sindigilive/alpine:${OS_VERSION} AS builder
|
||||
LABEL maintainer="<Muhamad Aditya Prima> map@sindigilive.com"
|
||||
|
||||
ARG PHP_VERSION=5.6
|
||||
ARG PHP_VER_SHORT=5
|
||||
ARG COMPOSER_VERSION=2.2.25
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
|
||||
# Set composer home
|
||||
ENV COMPOSER_HOME=/app
|
||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
||||
|
||||
WORKDIR /root
|
||||
|
||||
ADD 5/scripts/alpine-composer-setup.sh /tmp/setup.sh
|
||||
|
||||
# Create directory, and install required php app
|
||||
RUN /bin/mkdir -p ${COMPOSER_HOME}/build ${COMPOSER_CACHE_DIR}/files \
|
||||
${COMPOSER_CACHE_DIR}/repo ${COMPOSER_CACHE_DIR}/vcs ; \
|
||||
/usr/sbin/addgroup -g 10001 composer ; \
|
||||
/usr/sbin/adduser -D -u 10001 -G composer -s /sbin/nologin -h ${COMPOSER_HOME}/build composer ; \
|
||||
/sbin/apk add --update --no-cache \
|
||||
php${PHP_VER_SHORT} php${PHP_VER_SHORT}-common \
|
||||
php${PHP_VER_SHORT}-cli ; \
|
||||
/bin/chown -R composer:composer /app ${COMPOSER_CACHE_DIR} ; \
|
||||
/bin/chmod +x /tmp/setup.sh; \
|
||||
/bin/sh /tmp/setup.sh; \
|
||||
/bin/rm -f /tmp/*.sh;
|
||||
|
||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
||||
RUN ln -ns /usr/bin/php${PHP_VER_SHORT} /usr/bin/php ; exit 0
|
||||
|
||||
# CLEAN APK CACHES
|
||||
RUN rm -vrf /var/cache/apk/*
|
||||
|
||||
FROM scratch
|
||||
|
||||
ARG PHP_VERSION=5.6
|
||||
ARG PHP_VER_SHORT=5
|
||||
ARG COMPOSER_VERSION=2.2.25
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
|
||||
# Set composer home
|
||||
ENV COMPOSER_HOME=/app
|
||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
||||
|
||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
||||
LABEL name="composer"
|
||||
LABEL version="${COMPOSER_VER_SHORT}"
|
||||
LABEL distribution-scope="public"
|
||||
|
||||
#labels for container catalog
|
||||
LABEL summary="Composer ${COMPOSER_VER_SHORT} with PHP ${PHP_VERSION} on alpine based container image"
|
||||
LABEL description="Provide php on alpine based container base image"
|
||||
LABEL io.k8s.description="Very small alpine linux container image"
|
||||
LABEL io.k8s.display-name="Composer ${COMPOSER_VER_SHORT}, PHP ${PHP_VERSION}"
|
||||
|
||||
COPY --from=builder / /
|
||||
|
||||
USER composer
|
||||
|
||||
WORKDIR ${COMPOSER_HOME}/build
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
||||
CMD ["/usr/bin/composer", "-V"]
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
PHP_LIST="bcmath,bz2,calendar,cgi,ctype,
|
||||
curl,dba,dev,doc,
|
||||
dom,embed,enchant,exif,ftp,
|
||||
gd,gettext,gmp,iconv,imap,
|
||||
intl,json,ldap,mailparse,mcrypt,
|
||||
memcache,opcache,openssl,pcntl,pdo,
|
||||
pear,pear-net_socket,phar,phpdbg,
|
||||
phpmailer,posix,pspell,shmop,
|
||||
snmp,soap,sockets,sysvmsg,sysvsem,
|
||||
sysvshm,wddx,xcache,xml,xmlreader,
|
||||
xmlrpc,xsl,zip,zlib"
|
||||
PHP_DEPS=""
|
||||
|
||||
# Setup php flavor
|
||||
for i in $(echo $PHP_LIST | tr "," "\n"); do
|
||||
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i ";
|
||||
done
|
||||
|
||||
/sbin/apk add --update --no-cache $PHP_DEPS;
|
|
@ -11,56 +11,19 @@ phpmailer,posix,pspell,shmop,
|
|||
snmp,soap,sockets,sysvmsg,sysvsem,
|
||||
sysvshm,wddx,xcache,xml,xmlreader,
|
||||
xmlrpc,xsl,zip,zlib"
|
||||
PHP_DEPS=""
|
||||
# apache2 configurations
|
||||
SERVER_ROOT="/app"
|
||||
APP_ROOT="$SERVER_ROOT/htdocs"
|
||||
LOG_LEVEL="info"
|
||||
|
||||
# Setup php flavor
|
||||
PHP_DEPS=""
|
||||
|
||||
echo $FLAVOR
|
||||
|
||||
if [[ "$FLAVOR" == "debug" ]]; then
|
||||
LOG_LEVEL="debug"
|
||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-dbg;
|
||||
fi
|
||||
|
||||
if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; then
|
||||
|
||||
for i in $(echo $PHP_LIST | tr "," "\n"); do
|
||||
PHP_DEPS="${PHP_DEPS} php$PHP_VER_SHORT-$i ";
|
||||
done
|
||||
|
||||
/sbin/apk add --update --no-cache $PHP_DEPS;
|
||||
fi
|
||||
|
||||
# Only setup apache with full flavor parameters
|
||||
if [ "$WITH_APACHE" == "true" ]; then
|
||||
if [ "$FLAVOR" == "full" ] || [ "$FLAVOR" == "debug" ]; then
|
||||
/usr/sbin/addgroup -g 10001 apache ;
|
||||
/usr/sbin/adduser -D -u 10001 -G apache -s /bin/sh -h $APP_ROOT apache ;
|
||||
/sbin/apk add --update --no-cache apache2 php$PHP_VER_SHORT-apache2 ;
|
||||
|
||||
sed -i "s|ServerRoot /var/www|ServerRoot ${SERVER_ROOT}|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|ServerAdmin you@example.com| ServerAdmin map@sindigilive.com|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|DocumentRoot \"/var/www/localhost/htdocs\"|DocumentRoot \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|Directory \"/var/www/localhost/htdocs\"|Directory \"${APP_ROOT}\"|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|AllowOverride None|AllowOverride All|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|ErrorLog .*|ErrorLog /dev/stderr \nTransferLog /dev/stdout|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|CustomLog .* combined|CustomLog /dev/stdout combined|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|LogLevel .*|LogLevel ${LOG_LEVEL}|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|#LoadModule rewrite_module|LoadModule rewrite_module|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|#LoadModule deflate_module|LoadModule deflate_module|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|#LoadModule expires_module|LoadModule expires_module|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|/var/www/localhost/cgi-bin/|/app/cgi-bin/|" /etc/apache2/httpd.conf ;
|
||||
sed -i "s|Require host .example.com|#Require host .example.com|" /etc/apache2/conf.d/info.conf ;
|
||||
sed -i "s|Require ip 127|Require all granted|" /etc/apache2/conf.d/info.conf ;
|
||||
sed -i "s|/run/apache2/httpd.pid|${SERVER_ROOT}/run/httpd.pid|" /etc/apache2/conf.d/mpm.conf ;
|
||||
fi
|
||||
fi
|
||||
|
||||
if ["$WITH_DATABASE" == "postgresql"]; then
|
||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_pgsql php$PHP_VER_SHORT-pgsql ;
|
||||
fi
|
||||
|
||||
if ["$WITH_DATABASE" == "mysql"]; then
|
||||
/sbin/apk add --update --no-cache php$PHP_VER_SHORT-pdo php$PHP_VER_SHORT-pdo_mysql php$PHP_VER_SHORT-mysql php$PHP_VER_SHORT-mysqli ;
|
||||
fi
|
||||
/sbin/apk add --update --no-cache $PHP_DEPS;
|
|
@ -12,15 +12,15 @@
|
|||
</head>
|
||||
<body>
|
||||
<h1>Welcome to httpd!</h1>
|
||||
<h2>The sindigilive/php:#version#-apache-#flavor#-#os# variant.</h2>
|
||||
<h2>The aprimediet/php:version-apache variant.</h2>
|
||||
<p>If you see this page, the nginx web server is successfully installed and
|
||||
working. Further configuration is required.</p>
|
||||
|
||||
<p>For online documentation and support please refer to
|
||||
<a href="https://httpd.apache.org/">httpd.apache.org</a>.</p>
|
||||
|
||||
<p>For online documentation specific to the sindigilive/php:#version#-apache-#flavor#-#os# variant,<br/>
|
||||
please refer to <a href="https://github.com/aprimediet/docker-php">sindigilive/php</a>.</p>
|
||||
<p>For online documentation specific to the aprimediet/php:version-apache,<br/>
|
||||
please refer to <a href="https://github.com/aprimediet/docker-php">aprimediet/php</a>.</p>
|
||||
|
||||
<p><em>Thank you for using httpd.</em></p>
|
||||
</body>
|
|
@ -1,9 +1,7 @@
|
|||
#!/bin/sh
|
||||
|
||||
/bin/echo "### PHP version :$PHP_VERSION ###";
|
||||
/bin/echo "### Maintainer: map@sindigilive.com ###";
|
||||
/bin/echo "";
|
||||
/bin/echo "### Starting HTTPD Server ###";
|
||||
/bin/echo "";
|
||||
echo "##########################"
|
||||
echo "# Apache2 is starting up #"
|
||||
echo "##########################"
|
||||
|
||||
httpd -D FOREGROUND
|
Loading…
Reference in New Issue