Feature/rebuild for better caching (#3)
* Rebuilding for better caching * Rebuilding for better caching. Squash this commit. * Paths to dockerfiles changed. * Rebuilding for better caching. Squash this commit. * Rebuilding for better caching. Squash this commit. * Refactoring * Refactoring * fixing the screaming about duplicates in apt sources. * Vanity tagging * Vanity tagging * Try vanity again. * re-enable all versions and variants
This commit is contained in:
parent
c292dd14e8
commit
49c06822ee
20 changed files with 452 additions and 842 deletions
.github/workflows
.gitignoreDockerfile.CoreDockerfile.FlavoursDockerfile.MarshallDockerfile.NodeMakefiledocker-compose.ymlmarshall/installers
238
.github/workflows/build.yml
vendored
238
.github/workflows/build.yml
vendored
|
@ -10,15 +10,24 @@ jobs:
|
|||
lint:
|
||||
name: Lint docker files
|
||||
runs-on: ubuntu-20.04
|
||||
if: "!contains(github.event.head_commit.message, 'ci skip')"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
dockerfile:
|
||||
- Dockerfile.Core
|
||||
- Dockerfile.Flavours
|
||||
- Dockerfile.Marshall
|
||||
- Dockerfile.Node
|
||||
steps:
|
||||
- uses: actions/checkout@master
|
||||
- uses: brpaz/hadolint-action@master
|
||||
with:
|
||||
dockerfile: ${{ matrix.dockerfile }}
|
||||
|
||||
build-marshall:
|
||||
needs: [lint]
|
||||
name: "Build Marshall"
|
||||
needs: [ lint ]
|
||||
runs-on: ubuntu-20.04
|
||||
if: "!contains(github.event.head_commit.message, 'ci skip')"
|
||||
steps:
|
||||
- uses: actions/checkout@v1
|
||||
- uses: docker/setup-qemu-action@v1
|
||||
|
@ -45,27 +54,26 @@ jobs:
|
|||
name: Build & Push
|
||||
with:
|
||||
context: .
|
||||
file: Dockerfile.Marshall
|
||||
target: marshall
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: benzine/marshall:latest
|
||||
tags: |
|
||||
benzine/marshall:latest
|
||||
|
||||
build-php-core:
|
||||
name: "Build PHP Core"
|
||||
needs: [ lint, build-marshall ]
|
||||
runs-on: ubuntu-20.04
|
||||
if: "!contains(github.event.head_commit.message, 'ci skip')"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
onbuild:
|
||||
- ''
|
||||
# - '-onbuild'
|
||||
version:
|
||||
#- "7.0"
|
||||
#- "7.1"
|
||||
#- "7.2"
|
||||
#- "7.3"
|
||||
#- "7.4"
|
||||
- "7.3"
|
||||
- "7.4"
|
||||
- "8.0"
|
||||
env:
|
||||
PHP_PACKAGES_70: git mariadb-client php7.0-apcu php7.0-bcmath php7.0-bz2 php7.0-cli php7.0-curl php7.0-gd php7.0-imap php7.0-imagick php7.0-intl php7.0-json php7.0-ldap php7.0-mbstring php7.0-mcrypt php7.0-memcache php7.0-memcached php7.0-mongodb php7.0-mysql php7.0-opcache php7.0-pgsql php7.0-phpdbg php7.0-pspell php7.0-redis php7.0-soap php7.0-sqlite php7.0-xdebug php7.0-xml php7.0-zip postgresql-client
|
||||
|
@ -90,7 +98,70 @@ jobs:
|
|||
id: build_args
|
||||
with:
|
||||
result-encoding: string
|
||||
script: return `PHP_PACKAGES=${{ steps.vars.outputs.php_packages }}\nPHP_VERSION=${{ matrix.version }}`
|
||||
script: return `PHP_PACKAGES=${{ steps.vars.outputs.php_packages }}\nPHP_VERSION=${{ matrix.version }}\nPHP_CORE_VERSION=benzine/php:core-${{ matrix.version }}`
|
||||
- uses: actions/checkout@v1
|
||||
- uses: docker/setup-qemu-action@v1
|
||||
name: Setup QEmu
|
||||
- uses: docker/setup-buildx-action@v1
|
||||
name: Setup Docker Buildx
|
||||
- uses: docker/login-action@v1
|
||||
name: Login to Docker Hub
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
- uses: docker/build-push-action@v2
|
||||
name: Build & Push
|
||||
with:
|
||||
context: .
|
||||
file: Dockerfile.Core
|
||||
target: php-core
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: |
|
||||
benzine/php:core-${{ matrix.version }}
|
||||
build-args: |
|
||||
${{ steps.build_args.outputs.result }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
|
||||
build-php-flavours:
|
||||
name: "Build PHP Flavours"
|
||||
needs: [ build-php-core ]
|
||||
runs-on: ubuntu-20.04
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
variant:
|
||||
- cli
|
||||
- nginx
|
||||
- apache
|
||||
onbuild:
|
||||
- ''
|
||||
# - '-onbuild'
|
||||
version:
|
||||
#- "7.0"
|
||||
#- "7.1"
|
||||
#- "7.2"
|
||||
- "7.3"
|
||||
- "7.4"
|
||||
- "8.0"
|
||||
steps:
|
||||
- name: Mangle Envs
|
||||
id: vars
|
||||
run: |
|
||||
VERSION=$(echo "${{ matrix.version }}" | tr -d '.')
|
||||
PACKAGE_LIST=PHP_PACKAGES_$VERSION
|
||||
echo ::set-output name=php_packages::${!PACKAGE_LIST}
|
||||
- name: Show mangled envs
|
||||
run: |
|
||||
echo "Packages to be installed:"
|
||||
echo ${{ steps.vars.outputs.php_packages }}
|
||||
- uses: actions/github-script@v3
|
||||
name: Build Args
|
||||
id: build_args
|
||||
with:
|
||||
result-encoding: string
|
||||
script: return `PHP_PACKAGES=${{ steps.vars.outputs.php_packages }}\nPHP_VERSION=${{ matrix.version }}\nPHP_CORE_VERSION=benzine/php:core-${{ matrix.version }}`
|
||||
- uses: actions/checkout@v1
|
||||
- uses: docker/setup-qemu-action@v1
|
||||
name: Setup QEmu
|
||||
|
@ -108,125 +179,48 @@ jobs:
|
|||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-buildx-
|
||||
- name: Setup Marshall
|
||||
run: |
|
||||
git rev-parse --short HEAD > marshall/marshall_version
|
||||
date '+%Y-%m-%d %H:%M:%S' > marshall/marshall_build_date
|
||||
hostname > marshall/marshall_build_host
|
||||
- uses: docker/build-push-action@v2
|
||||
name: Build & Push
|
||||
with:
|
||||
context: .
|
||||
target: php-core
|
||||
file: Dockerfile.Flavours
|
||||
target: php-${{ matrix.variant }}
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
tags: benzine/php:core-${{ matrix.version }}${{ matrix.onbuild }}
|
||||
tags: |
|
||||
benzine/php:${{ matrix.variant }}-${{ matrix.version }}${{ matrix.onbuild }}
|
||||
build-args: |
|
||||
${{ steps.build_args.outputs.result }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
|
||||
# build-php-flavours:
|
||||
# needs: [lint, build-marshall]
|
||||
# runs-on: ubuntu-20.04
|
||||
# if: "!contains(github.event.head_commit.message, 'ci skip')"
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# variant:
|
||||
# - cli
|
||||
# - nginx
|
||||
# - apache
|
||||
# onbuild:
|
||||
# - ''
|
||||
# # - '-onbuild'
|
||||
# version:
|
||||
# #- "7.0"
|
||||
# #- "7.1"
|
||||
# #- "7.2"
|
||||
# #- "7.3"
|
||||
# #- "7.4"
|
||||
# - "8.0"
|
||||
# env:
|
||||
# PHP_PACKAGES_70: git mariadb-client php7.0-apcu php7.0-bcmath php7.0-bz2 php7.0-cli php7.0-curl php7.0-gd php7.0-imap php7.0-imagick php7.0-intl php7.0-json php7.0-ldap php7.0-mbstring php7.0-mcrypt php7.0-memcache php7.0-memcached php7.0-mongodb php7.0-mysql php7.0-opcache php7.0-pgsql php7.0-phpdbg php7.0-pspell php7.0-redis php7.0-soap php7.0-sqlite php7.0-xdebug php7.0-xml php7.0-zip postgresql-client
|
||||
# PHP_PACKAGES_71: git mariadb-client php7.1-apcu php7.1-bcmath php7.1-bz2 php7.1-cli php7.1-curl php7.1-gd php7.1-imap php7.1-imagick php7.1-intl php7.1-json php7.1-ldap php7.1-mbstring php7.1-mcrypt php7.1-memcache php7.1-memcached php7.1-mongodb php7.1-mysql php7.1-opcache php7.1-pgsql php7.1-phpdbg php7.1-pspell php7.1-redis php7.1-soap php7.1-sqlite php7.1-xdebug php7.1-xml php7.1-zip postgresql-client
|
||||
# PHP_PACKAGES_72: git mariadb-client php7.2-apcu php7.2-bcmath php7.2-bz2 php7.2-cli php7.2-curl php7.2-gd php7.2-imap php7.2-imagick php7.2-intl php7.2-json php7.2-ldap php7.2-mbstring php7.2-memcache php7.2-memcached php7.2-mongodb php7.2-mysql php7.2-opcache php7.2-pgsql php7.2-phpdbg php7.2-pspell php7.2-redis php7.2-soap php7.2-sqlite php7.2-xdebug php7.2-xml php7.2-zip postgresql-client
|
||||
# PHP_PACKAGES_73: git mariadb-client php7.3-apcu php7.3-bcmath php7.3-bz2 php7.3-cli php7.3-curl php7.3-gd php7.3-imap php7.3-imagick php7.3-intl php7.3-json php7.3-ldap php7.3-mbstring php7.3-memcache php7.3-memcached php7.3-mongodb php7.3-mysql php7.3-opcache php7.3-pgsql php7.3-phpdbg php7.3-pspell php7.3-redis php7.3-soap php7.3-sqlite php7.3-xdebug php7.3-xml php7.3-zip postgresql-client
|
||||
# PHP_PACKAGES_74: git mariadb-client php7.4-apcu php7.4-bcmath php7.4-bz2 php7.4-cli php7.4-curl php7.4-gd php7.4-imap php7.4-imagick php7.4-intl php7.4-json php7.4-ldap php7.4-mbstring php7.4-memcache php7.4-mongodb php7.4-mysql php7.4-opcache php7.4-pgsql php7.4-phpdbg php7.4-pspell php7.4-redis php7.4-soap php7.4-sqlite php7.4-xdebug php7.4-xml php7.4-zip postgresql-client
|
||||
# PHP_PACKAGES_80: git mariadb-client php8.0-apcu php8.0-bcmath php8.0-bz2 php8.0-cli php8.0-curl php8.0-gd php8.0-imap php8.0-imagick php8.0-intl php8.0-ldap php8.0-mbstring php8.0-memcache php8.0-mysql php8.0-opcache php8.0-pgsql php8.0-phpdbg php8.0-pspell php8.0-redis php8.0-soap php8.0-sqlite php8.0-xdebug php8.0-xml php8.0-zip postgresql-client
|
||||
# steps:
|
||||
# - name: Mangle Envs
|
||||
# id: vars
|
||||
# run: |
|
||||
# VERSION=$(echo "${{ matrix.version }}" | tr -d '.')
|
||||
# PACKAGE_LIST=PHP_PACKAGES_$VERSION
|
||||
# echo ::set-output name=php_packages::${!PACKAGE_LIST}
|
||||
# - name: Show mangled envs
|
||||
# run: |
|
||||
# echo "Packages to be installed:"
|
||||
# echo ${{ steps.vars.outputs.php_packages }}
|
||||
# - uses: actions/github-script@v3
|
||||
# name: Build Args
|
||||
# id: build_args
|
||||
# with:
|
||||
# result-encoding: string
|
||||
# script: return `PHP_PACKAGES=${{ steps.vars.outputs.php_packages }}\nPHP_VERSION=${{ matrix.version }}`
|
||||
# - uses: actions/checkout@v1
|
||||
# - uses: docker/setup-qemu-action@v1
|
||||
# name: Setup QEmu
|
||||
# - uses: docker/setup-buildx-action@v1
|
||||
# name: Setup Docker Buildx
|
||||
# - uses: docker/login-action@v1
|
||||
# name: Login to Docker Hub
|
||||
# with:
|
||||
# username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
# password: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
# - name: Cache Docker layers
|
||||
# uses: actions/cache@v2
|
||||
# with:
|
||||
# path: /tmp/.buildx-cache
|
||||
# key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||
# restore-keys: |
|
||||
# ${{ runner.os }}-buildx-
|
||||
# - name: Setup Marshall
|
||||
# run: |
|
||||
# git rev-parse --short HEAD > marshall/marshall_version
|
||||
# date '+%Y-%m-%d %H:%M:%S' > marshall/marshall_build_date
|
||||
# hostname > marshall/marshall_build_host
|
||||
# - uses: docker/build-push-action@v2
|
||||
# name: Build & Push
|
||||
# with:
|
||||
# context: .
|
||||
# target: php-${{ matrix.variant }}
|
||||
# platforms: linux/amd64,linux/arm64
|
||||
# push: true
|
||||
# tags: benzine/php:${{ matrix.variant }}-${{ matrix.version }}${{ matrix.onbuild }}
|
||||
# build-args: |
|
||||
# ${{ steps.build_args.outputs.result }}
|
||||
# cache-from: type=local,src=/tmp/.buildx-cache
|
||||
# cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
#
|
||||
# vanity-tags:
|
||||
# needs: [ build-php ]
|
||||
# runs-on: ubuntu-20.04
|
||||
# env:
|
||||
# latest-stable-version: "7.4"
|
||||
# strategy:
|
||||
# fail-fast: false
|
||||
# matrix:
|
||||
# variant:
|
||||
# - cli
|
||||
# - nginx
|
||||
# - apache
|
||||
# steps:
|
||||
# - uses: docker/login-action@v1
|
||||
# name: Login to Docker Hub
|
||||
# with:
|
||||
# username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
# password: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
# - name: Retag benzine/php:${{ matrix.variant }}-${{ env.latest-stable-version }} to benzine/php:${{ matrix.variant }}
|
||||
# run: |
|
||||
# docker pull benzine/php:${{ matrix.variant }}-${{ env.latest-stable-version }}
|
||||
# docker tag benzine/php:${{ matrix.variant }}-${{ env.latest-stable-version }} benzine/php:${{ matrix.variant }}
|
||||
# docker push benzine/php:${{ matrix.variant }}
|
||||
#
|
||||
vanity-tags:
|
||||
name: Vanity Tags
|
||||
needs: [ build-php-flavours ]
|
||||
runs-on: ubuntu-20.04
|
||||
env:
|
||||
latest-stable-version: "7.4"
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
variant:
|
||||
- cli
|
||||
- nginx
|
||||
- apache
|
||||
steps:
|
||||
- uses: docker/login-action@v1
|
||||
name: Login to Docker Hub
|
||||
with:
|
||||
username: ${{ secrets.DOCKER_HUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKER_HUB_PASSWORD }}
|
||||
- name: Retag benzine/php:${{ matrix.variant }}-${{ env.latest-stable-version }} to benzine/php:${{ matrix.variant }}
|
||||
run: |
|
||||
docker pull benzine/php:${{ matrix.variant }}-${{ env.latest-stable-version }}
|
||||
docker tag benzine/php:${{ matrix.variant }}-${{ env.latest-stable-version }} benzine/php:${{ matrix.variant }}
|
||||
docker push benzine/php:${{ matrix.variant }}
|
||||
docker tag benzine/php:${{ matrix.variant }}-${{ env.latest-stable-version }} gone/php:${{ matrix.variant }}-${{ env.latest-stable-version }}
|
||||
docker push gone/php:${{ matrix.variant }}-${{ env.latest-stable-version }}
|
||||
docker tag benzine/php:${{ matrix.variant }}-${{ env.latest-stable-version }} gone/php:${{ matrix.variant }}
|
||||
docker push gone/php:${{ matrix.variant }}
|
||||
|
||||
|
||||
|
|
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,5 +1,4 @@
|
|||
.idea
|
||||
marshall/marshall_*
|
||||
Makefile.working
|
||||
Dockerfile.*
|
||||
qemu-*-static*
|
||||
qemu-*-static*
|
||||
|
|
57
Dockerfile.Core
Normal file
57
Dockerfile.Core
Normal file
|
@ -0,0 +1,57 @@
|
|||
# hadolint ignore=DL3007
|
||||
FROM benzine/marshall:latest AS php-core
|
||||
ARG PHP_PACKAGES
|
||||
COPY php-core/install-report.sh /usr/bin/install-report
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
RUN echo "APT::Acquire::Retries \"5\";" > /etc/apt/apt.conf.d/80-retries && \
|
||||
echo "Acquire::http::No-Cache=true;" > /etc/apt/apt.conf.d/80-no-cache && \
|
||||
echo "Acquire::http::Pipeline-Depth=0;" > /etc/apt/apt.conf.d/80-no-pipeline && \
|
||||
apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends \
|
||||
python3-software-properties \
|
||||
software-properties-common \
|
||||
&& \
|
||||
echo "PHP packages to install:" && echo $PHP_PACKAGES && \
|
||||
add-apt-repository -y ppa:ondrej/php && \
|
||||
apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends $PHP_PACKAGES &&\
|
||||
apt-get remove -yqq \
|
||||
software-properties-common \
|
||||
python-apt-common \
|
||||
python3-software-properties \
|
||||
python3.5 python3.5-minimal libpython3.5-minimal \
|
||||
&& \
|
||||
apt-get autoremove -yqq && \
|
||||
apt-get clean && \
|
||||
curl https://getcomposer.org/composer-stable.phar --output /usr/local/bin/composer && \
|
||||
chmod +x /usr/local/bin/composer /usr/bin/install-report && \
|
||||
/usr/local/bin/composer --version && \
|
||||
/usr/bin/install-report && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log && \
|
||||
rm -rf /usr/bin/mariabackup \
|
||||
/usr/bin/mysql_embedded \
|
||||
/usr/bin/mysql_find_rows \
|
||||
/usr/bin/mysql_fix_extensions \
|
||||
/usr/bin/mysql_waitpid \
|
||||
/usr/bin/mysqlaccess \
|
||||
/usr/bin/mysqlanalyze \
|
||||
/usr/bin/mysqlcheck \
|
||||
/usr/bin/mysqldump \
|
||||
/usr/bin/mysqldumpslow \
|
||||
/usr/bin/mysqlimport \
|
||||
/usr/bin/mysqloptimize \
|
||||
/usr/bin/mysqlrepair \
|
||||
/usr/bin/mysqlreport \
|
||||
/usr/bin/mysqlshow \
|
||||
/usr/bin/mysqlslap \
|
||||
/usr/bin/mytop
|
||||
|
||||
FROM php-core AS php-cli
|
||||
|
||||
# Install a funky cool repl.
|
||||
RUN composer global require -q psy/psysh:@stable && \
|
||||
ln -s /root/.composer/vendor/psy/psysh/bin/psysh /usr/local/bin/repl && \
|
||||
/usr/local/bin/repl -v && \
|
||||
composer clear-cache
|
||||
|
||||
COPY php+cli/psysh-config.php /root/.config/psysh/config.php
|
|
@ -1,77 +1,5 @@
|
|||
FROM ubuntu:bionic AS marshall
|
||||
|
||||
LABEL maintainer="Matthew Baggett <matthew@baggett.me>"
|
||||
|
||||
ENV DEBIAN_FRONTEND="teletype" \
|
||||
TERM=xterm-256color \
|
||||
COMPOSER_ALLOW_SUPERUSER=1 \
|
||||
COLOUR_FAIL='\e[31m' \
|
||||
COLOUR_SUCCESS='\e[32m' \
|
||||
COLOUR_NONE='\e[39m' \
|
||||
DEFAULT_TZ='Europe/London'
|
||||
|
||||
|
||||
CMD ["runsvdir", "-P", "/etc/service"]
|
||||
|
||||
WORKDIR /app
|
||||
ENV PATH="/app:/app/bin:/app/vendor/bin:${PATH}"
|
||||
|
||||
COPY ./marshall/ /
|
||||
|
||||
RUN chmod +x /installers/install && \
|
||||
mv /marshall_* /etc && \
|
||||
/installers/install && \
|
||||
rm -rf /installers
|
||||
|
||||
# hadolint ignore=DL3007
|
||||
FROM benzine/marshall:latest AS php-core
|
||||
ARG PHP_PACKAGES
|
||||
COPY php-core/install-report.sh /usr/bin/install-report
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
RUN echo "APT::Acquire::Retries \"5\";" > /etc/apt/apt.conf.d/80-retries && \
|
||||
echo "Acquire::http::No-Cache=true;" > /etc/apt/apt.conf.d/80-no-cache && \
|
||||
echo "Acquire::http::Pipeline-Depth=0;" > /etc/apt/apt.conf.d/80-no-pipeline && \
|
||||
apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends \
|
||||
python3-software-properties \
|
||||
software-properties-common \
|
||||
&& \
|
||||
echo "PHP packages to install:" && echo $PHP_PACKAGES && \
|
||||
add-apt-repository -y ppa:ondrej/php && \
|
||||
apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends $PHP_PACKAGES &&\
|
||||
apt-get remove -yqq \
|
||||
software-properties-common \
|
||||
python-apt-common \
|
||||
python3-software-properties \
|
||||
python3.5 python3.5-minimal libpython3.5-minimal \
|
||||
&& \
|
||||
apt-get autoremove -yqq && \
|
||||
apt-get clean && \
|
||||
curl https://getcomposer.org/composer-stable.phar --output /usr/local/bin/composer && \
|
||||
chmod +x /usr/local/bin/composer /usr/bin/install-report && \
|
||||
/usr/local/bin/composer --version && \
|
||||
/usr/bin/install-report && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log && \
|
||||
rm -rf /usr/bin/mariabackup \
|
||||
/usr/bin/mysql_embedded \
|
||||
/usr/bin/mysql_find_rows \
|
||||
/usr/bin/mysql_fix_extensions \
|
||||
/usr/bin/mysql_waitpid \
|
||||
/usr/bin/mysqlaccess \
|
||||
/usr/bin/mysqlanalyze \
|
||||
/usr/bin/mysqlcheck \
|
||||
/usr/bin/mysqldump \
|
||||
/usr/bin/mysqldumpslow \
|
||||
/usr/bin/mysqlimport \
|
||||
/usr/bin/mysqloptimize \
|
||||
/usr/bin/mysqlrepair \
|
||||
/usr/bin/mysqlreport \
|
||||
/usr/bin/mysqlshow \
|
||||
/usr/bin/mysqlslap \
|
||||
/usr/bin/mytop
|
||||
|
||||
FROM php-core AS php-cli
|
||||
ARG PHP_CORE_VERSION
|
||||
FROM ${PHP_CORE_VERSION} AS php-cli
|
||||
|
||||
# Install a funky cool repl.
|
||||
RUN composer global require -q psy/psysh:@stable && \
|
||||
|
@ -90,7 +18,8 @@ ONBUILD RUN (composer install; exit 0) && \
|
|||
(composer dumpautoload -o; exit 0) && \
|
||||
/usr/bin/install-report
|
||||
|
||||
FROM php-core AS php-nginx
|
||||
ARG PHP_CORE_VERSION
|
||||
FROM ${PHP_CORE_VERSION} AS php-nginx
|
||||
ARG PHP_VERSION
|
||||
ARG PHP_MEMORY_LIMIT=128M
|
||||
ARG PHP_DATA_MAX_SIZE=1024M
|
||||
|
@ -203,7 +132,8 @@ ONBUILD RUN (composer install; exit 0) && \
|
|||
(composer dumpautoload -o; exit 0) && \
|
||||
/usr/bin/install-report
|
||||
|
||||
FROM php-core AS php-apache
|
||||
ARG PHP_CORE_VERSION
|
||||
FROM ${PHP_CORE_VERSION} AS php-apache
|
||||
ARG PHP_VERSION
|
||||
RUN apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends \
|
||||
|
@ -251,96 +181,3 @@ ONBUILD COPY ./ /app
|
|||
ONBUILD RUN (composer install; exit 0) && \
|
||||
(composer dumpautoload -o; exit 0) && \
|
||||
/usr/bin/install-report
|
||||
|
||||
FROM marshall AS nodejs
|
||||
|
||||
ARG NODE_VERSION
|
||||
ARG YARN_VERSION
|
||||
ARG PATH="/app/node_modules/.bin:${PATH}"
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
RUN mkdir ~/.gnupg && \
|
||||
echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf && \
|
||||
apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends \
|
||||
lsb-core \
|
||||
gnupg \
|
||||
&& \
|
||||
\
|
||||
ARCH= && \
|
||||
dpkgArch="$(dpkg --print-architecture)" && \
|
||||
case "${dpkgArch##*-}" in \
|
||||
amd64) ARCH='x64';; \
|
||||
ppc64el) ARCH='ppc64le';; \
|
||||
s390x) ARCH='s390x';; \
|
||||
arm64) ARCH='arm64';; \
|
||||
armhf) ARCH='armv7l';; \
|
||||
i386) ARCH='x86';; \
|
||||
*) echo "unsupported architecture"; exit 1 ;; \
|
||||
esac \
|
||||
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
||||
&& set -ex \
|
||||
&& for key in \
|
||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
||||
FD3A5288F042B6850C66B31F09FE44734EB7990E \
|
||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
||||
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
|
||||
77984A986EBC2AA786BC0F66B01FBB92821C587A \
|
||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
||||
; do \
|
||||
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
|
||||
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
|
||||
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
|
||||
done \
|
||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
|
||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
||||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
||||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
|
||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
||||
&& set -ex \
|
||||
&& for key in \
|
||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
||||
; do \
|
||||
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
|
||||
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
|
||||
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
|
||||
done \
|
||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
||||
&& mkdir -p /opt \
|
||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
||||
\
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log
|
||||
|
||||
FROM nodejs AS nodejs-compiler
|
||||
|
||||
RUN apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends \
|
||||
python \
|
||||
build-essential \
|
||||
&& \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log
|
||||
|
||||
FROM nodejs AS nodejs-onbuild
|
||||
|
||||
ONBUILD COPY ./ /app
|
||||
|
||||
FROM nodejs-compiler AS nodejs-compiler-onbuild
|
||||
|
||||
ONBUILD COPY ./ /app
|
||||
|
24
Dockerfile.Marshall
Normal file
24
Dockerfile.Marshall
Normal file
|
@ -0,0 +1,24 @@
|
|||
FROM ubuntu:bionic AS marshall
|
||||
|
||||
LABEL maintainer="Matthew Baggett <matthew@baggett.me>"
|
||||
|
||||
ENV DEBIAN_FRONTEND="teletype" \
|
||||
TERM=xterm-256color \
|
||||
COMPOSER_ALLOW_SUPERUSER=1 \
|
||||
COLOUR_FAIL='\e[31m' \
|
||||
COLOUR_SUCCESS='\e[32m' \
|
||||
COLOUR_NONE='\e[39m' \
|
||||
DEFAULT_TZ='Europe/London'
|
||||
|
||||
|
||||
CMD ["runsvdir", "-P", "/etc/service"]
|
||||
|
||||
WORKDIR /app
|
||||
ENV PATH="/app:/app/bin:/app/vendor/bin:${PATH}"
|
||||
|
||||
COPY marshall/installers /installers
|
||||
COPY marshall/etc /etc
|
||||
COPY marshall/usr /usr
|
||||
|
||||
RUN /installers/install && \
|
||||
rm -rf /marshall /installers
|
92
Dockerfile.Node
Normal file
92
Dockerfile.Node
Normal file
|
@ -0,0 +1,92 @@
|
|||
FROM marshall AS nodejs
|
||||
|
||||
ARG NODE_VERSION
|
||||
ARG YARN_VERSION
|
||||
ARG PATH="/app/node_modules/.bin:${PATH}"
|
||||
|
||||
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
|
||||
RUN mkdir ~/.gnupg && \
|
||||
echo "disable-ipv6" >> ~/.gnupg/dirmngr.conf && \
|
||||
apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends \
|
||||
lsb-core \
|
||||
gnupg \
|
||||
&& \
|
||||
\
|
||||
ARCH= && \
|
||||
dpkgArch="$(dpkg --print-architecture)" && \
|
||||
case "${dpkgArch##*-}" in \
|
||||
amd64) ARCH='x64';; \
|
||||
ppc64el) ARCH='ppc64le';; \
|
||||
s390x) ARCH='s390x';; \
|
||||
arm64) ARCH='arm64';; \
|
||||
armhf) ARCH='armv7l';; \
|
||||
i386) ARCH='x86';; \
|
||||
*) echo "unsupported architecture"; exit 1 ;; \
|
||||
esac \
|
||||
# gpg keys listed at https://github.com/nodejs/node#release-keys
|
||||
&& set -ex \
|
||||
&& for key in \
|
||||
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
|
||||
FD3A5288F042B6850C66B31F09FE44734EB7990E \
|
||||
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
|
||||
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
|
||||
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
|
||||
B9AE9905FFD7803F25714661B63B535A4C206CA9 \
|
||||
77984A986EBC2AA786BC0F66B01FBB92821C587A \
|
||||
8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 \
|
||||
4ED778F539E3634C779C87C6D7062848A1AB005C \
|
||||
A48C2BEE680E841632CD4E44F07496B3EB3C1762 \
|
||||
B9E2F5981AA6E0CD28160D9FF13993A75599653C \
|
||||
; do \
|
||||
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
|
||||
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
|
||||
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
|
||||
done \
|
||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz" \
|
||||
&& curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc" \
|
||||
&& gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc \
|
||||
&& grep " node-v$NODE_VERSION-linux-$ARCH.tar.xz\$" SHASUMS256.txt | sha256sum -c - \
|
||||
&& tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner \
|
||||
&& rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt \
|
||||
&& ln -s /usr/local/bin/node /usr/local/bin/nodejs \
|
||||
&& set -ex \
|
||||
&& for key in \
|
||||
6A010C5166006599AA17F08146C2130DFD2497F5 \
|
||||
; do \
|
||||
gpg --batch --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys "$key" || \
|
||||
gpg --batch --keyserver hkp://ipv4.pool.sks-keyservers.net --recv-keys "$key" || \
|
||||
gpg --batch --keyserver hkp://pgp.mit.edu:80 --recv-keys "$key" ; \
|
||||
done \
|
||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" \
|
||||
&& curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" \
|
||||
&& gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
||||
&& mkdir -p /opt \
|
||||
&& tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ \
|
||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn \
|
||||
&& ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg \
|
||||
&& rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz \
|
||||
\
|
||||
&& apt-get autoremove -y \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log
|
||||
|
||||
FROM nodejs AS nodejs-compiler
|
||||
|
||||
RUN apt-get -qq update && \
|
||||
apt-get -yqq install --no-install-recommends \
|
||||
python \
|
||||
build-essential \
|
||||
&& \
|
||||
apt-get autoremove -y && \
|
||||
apt-get clean && \
|
||||
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log
|
||||
|
||||
FROM nodejs AS nodejs-onbuild
|
||||
|
||||
ONBUILD COPY ./ /app
|
||||
|
||||
FROM nodejs-compiler AS nodejs-compiler-onbuild
|
||||
|
||||
ONBUILD COPY ./ /app
|
||||
|
556
Makefile
556
Makefile
|
@ -1,529 +1,39 @@
|
|||
# ▄▄▄▄ ▓█████ ███▄ █ ▒███████▒ ██▓ ███▄ █ ▓█████
|
||||
# ▓█████▄ ▓█ ▀ ██ ▀█ █ ▒ ▒ ▒ ▄▀░▓██▒ ██ ▀█ █ ▓█ ▀
|
||||
# ▒██▒ ▄██▒███ ▓██ ▀█ ██▒░ ▒ ▄▀▒░ ▒██▒▓██ ▀█ ██▒▒███
|
||||
# ▒██░█▀ ▒▓█ ▄ ▓██▒ ▐▌██▒ ▄▀▒ ░░██░▓██▒ ▐▌██▒▒▓█ ▄
|
||||
# ░▓█ ▀█▓░▒████▒▒██░ ▓██░▒███████▒░██░▒██░ ▓██░░▒████▒
|
||||
# ░▒▓███▀▒░░ ▒░ ░░ ▒░ ▒ ▒ ░▒▒ ▓░▒░▒░▓ ░ ▒░ ▒ ▒ ░░ ▒░ ░
|
||||
# ▒░▒ ░ ░ ░ ░░ ░░ ░ ▒░░░▒ ▒ ░ ▒ ▒ ░░ ░░ ░ ▒░ ░ ░ ░
|
||||
# ░▄▄▄▄ ░ ░▄▄▄░ ▒░ ░ ░██████░▓█████ ░ ░ ██▓ ███▄░▄███▓ ▄▄▄ ▄████ ▓█████
|
||||
# ▓█████▄ ▒████▄░ ▒██ ▒░▓█ ▀ ░ ▓██▒▓██▒▀█▀ ██▒▒████▄ ██▒ ▀█▒▓█ ▀
|
||||
# ▒██▒ ▄██▒██ ▀█▄ ░ ▓██▄ ▒███ ▒██▒▓██ ▓██░▒██ ▀█▄ ▒██░▄▄▄░▒███
|
||||
# ▒██░█▀ ░██▄▄▄▄██ ▒ ██▒▒▓█ ▄ ░██░▒██ ▒██ ░██▄▄▄▄██ ░▓█ ██▓▒▓█ ▄
|
||||
# ░▓█ ▀█▓ ▓█ ▓██▒▒██████▒▒░▒████▒ ░██░▒██▒ ░██▒ ▓█ ▓██▒░▒▓███▀▒░▒████▒
|
||||
# ░▒▓███▀▒ ▒▒ ▓▒█░▒ ▒▓▒ ▒ ░░░ ▒░ ░ ░▓ ░ ▒░ ░ ░ ▒▒ ▓▒█░ ░▒ ▒ ░░ ▒░ ░
|
||||
# ▒░▒ ░ ▒ ▒▒ ░░ ░▒ ░ ░ ░ ░ ░ ▒ ░░ ░ ░ ▒ ▒▒ ░ ░ ░ ░ ░ ░
|
||||
# ░ ░ ░ ▒ ░ ░ ░ ░ ▒ ░░ ░ ░ ▒ ░ ░ ░ ░
|
||||
# ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
BUILD:=docker build
|
||||
|
||||
# Prettyprinting: http://patorjk.com/software/taag/#p=display&c=bash&f=Bloody&t=Example
|
||||
CMD_BUILD=docker buildx build --platform linux/arm64,linux/amd64
|
||||
BUILDX_OUTPUT=--push
|
||||
PHP_PACKAGES_70=mariadb-client \
|
||||
php7.0-apcu \
|
||||
php7.0-bcmath \
|
||||
php7.0-bz2 \
|
||||
php7.0-cli \
|
||||
php7.0-curl \
|
||||
php7.0-gd \
|
||||
php7.0-imap \
|
||||
php7.0-imagick \
|
||||
php7.0-intl \
|
||||
php7.0-json \
|
||||
php7.0-ldap \
|
||||
php7.0-mbstring \
|
||||
php7.0-mcrypt \
|
||||
php7.0-memcache \
|
||||
php7.0-memcached \
|
||||
php7.0-mongodb \
|
||||
php7.0-mysql \
|
||||
php7.0-opcache \
|
||||
php7.0-pgsql \
|
||||
php7.0-pspell \
|
||||
php7.0-redis \
|
||||
php7.0-soap \
|
||||
php7.0-sqlite \
|
||||
php7.0-xdebug \
|
||||
php7.0-xml \
|
||||
php7.0-zip \
|
||||
postgresql-client
|
||||
docker-marshall:
|
||||
$(BUILD) \
|
||||
--tag benzine/marshall:latest \
|
||||
--target marshall \
|
||||
--file Dockerfile.Marshall \
|
||||
.
|
||||
|
||||
PHP_PACKAGES_71=mariadb-client \
|
||||
php7.1-apcu \
|
||||
php7.1-bcmath \
|
||||
php7.1-bz2 \
|
||||
php7.1-cli \
|
||||
php7.1-curl \
|
||||
php7.1-gd \
|
||||
php7.1-imap \
|
||||
php7.1-imagick \
|
||||
php7.1-intl \
|
||||
php7.1-json \
|
||||
php7.1-ldap \
|
||||
php7.1-mbstring \
|
||||
php7.1-mcrypt \
|
||||
php7.1-memcache \
|
||||
php7.1-memcached \
|
||||
php7.1-mongodb \
|
||||
php7.1-mysql \
|
||||
php7.1-opcache \
|
||||
php7.1-pgsql \
|
||||
php7.1-pspell \
|
||||
php7.1-redis \
|
||||
php7.1-soap \
|
||||
php7.1-sqlite \
|
||||
php7.1-xdebug \
|
||||
php7.1-xml \
|
||||
php7.1-zip \
|
||||
postgresql-client
|
||||
docker-php-core:
|
||||
$(BUILD) \
|
||||
--build-arg PHP_PACKAGES="git mariadb-client php${PHP_VERSION}-apcu php${PHP_VERSION}-bcmath php${PHP_VERSION}-bz2 php${PHP_VERSION}-cli php${PHP_VERSION}-curl php${PHP_VERSION}-gd php${PHP_VERSION}-imap php${PHP_VERSION}-imagick php${PHP_VERSION}-intl php${PHP_VERSION}-ldap php${PHP_VERSION}-mbstring php${PHP_VERSION}-memcache php${PHP_VERSION}-mysql php${PHP_VERSION}-opcache php${PHP_VERSION}-pgsql php${PHP_VERSION}-phpdbg php${PHP_VERSION}-pspell php${PHP_VERSION}-redis php${PHP_VERSION}-soap php${PHP_VERSION}-sqlite php${PHP_VERSION}-xdebug php${PHP_VERSION}-xml php${PHP_VERSION}-zip postgresql-client" \
|
||||
--build-arg PHP_VERSION=${PHP_VERSION} \
|
||||
--tag benzine/php:core-${PHP_VERSION} \
|
||||
--target php-core \
|
||||
--file Dockerfile.Core \
|
||||
.
|
||||
|
||||
PHP_PACKAGES_72=mariadb-client \
|
||||
php7.2-apcu \
|
||||
php7.2-bcmath \
|
||||
php7.2-bz2 \
|
||||
php7.2-cli \
|
||||
php7.2-curl \
|
||||
php7.2-gd \
|
||||
php7.2-imap \
|
||||
php7.2-imagick \
|
||||
php7.2-intl \
|
||||
php7.2-json \
|
||||
php7.2-ldap \
|
||||
php7.2-mbstring \
|
||||
php7.2-memcache \
|
||||
php7.2-memcached \
|
||||
php7.2-mongodb \
|
||||
php7.2-mysql \
|
||||
php7.2-opcache \
|
||||
php7.2-pgsql \
|
||||
php7.2-pspell \
|
||||
php7.2-redis \
|
||||
php7.2-soap \
|
||||
php7.2-sqlite \
|
||||
php7.2-xdebug \
|
||||
php7.2-xml \
|
||||
php7.2-zip \
|
||||
postgresql-client
|
||||
docker-php-flavour:
|
||||
$(BUILD) \
|
||||
--build-arg PHP_CORE_VERSION=benzine/php:core-${PHP_VERSION} \
|
||||
--build-arg PHP_VERSION=${PHP_VERSION} \
|
||||
--tag benzine/php:${FLAVOUR}-${PHP_VERSION} \
|
||||
--target php-${FLAVOUR} \
|
||||
--file Dockerfile.Flavours \
|
||||
.
|
||||
|
||||
PHP_PACKAGES_73=mariadb-client \
|
||||
php7.3-apcu \
|
||||
php7.3-bcmath \
|
||||
php7.3-bz2 \
|
||||
php7.3-cli \
|
||||
php7.3-curl \
|
||||
php7.3-gd \
|
||||
php7.3-imap \
|
||||
php7.3-imagick \
|
||||
php7.3-intl \
|
||||
php7.3-json \
|
||||
php7.3-ldap \
|
||||
php7.3-mbstring \
|
||||
php7.3-memcache \
|
||||
php7.3-memcached \
|
||||
php7.3-mongodb \
|
||||
php7.3-mysql \
|
||||
php7.3-opcache \
|
||||
php7.3-pgsql \
|
||||
php7.3-pspell \
|
||||
php7.3-redis \
|
||||
php7.3-soap \
|
||||
php7.3-sqlite \
|
||||
php7.3-xdebug \
|
||||
php7.3-xml \
|
||||
php7.3-zip \
|
||||
postgresql-client
|
||||
|
||||
PHP_PACKAGES_74=mariadb-client \
|
||||
php7.4-apcu \
|
||||
php7.4-bcmath \
|
||||
php7.4-bz2 \
|
||||
php7.4-cli \
|
||||
php7.4-curl \
|
||||
php7.4-gd \
|
||||
php7.4-imap \
|
||||
php7.4-imagick \
|
||||
php7.4-intl \
|
||||
php7.4-json \
|
||||
php7.4-ldap \
|
||||
php7.4-mbstring \
|
||||
php7.4-memcache \
|
||||
php7.4-memcached \
|
||||
php7.4-mongodb \
|
||||
php7.4-mysql \
|
||||
php7.4-opcache \
|
||||
php7.4-pgsql \
|
||||
php7.4-pspell \
|
||||
php7.4-redis \
|
||||
php7.4-soap \
|
||||
php7.4-sqlite \
|
||||
php7.4-xdebug \
|
||||
php7.4-xml \
|
||||
php7.4-zip \
|
||||
postgresql-client
|
||||
bake-flavours:
|
||||
$(MAKE) docker-php-flavour FLAVOUR=cli
|
||||
$(MAKE) docker-php-flavour FLAVOUR=nginx
|
||||
$(MAKE) docker-php-flavour FLAVOUR=apache
|
||||
|
||||
PHP_PACKAGES_80=mariadb-client \
|
||||
php8.0-apcu \
|
||||
php8.0-bcmath \
|
||||
php8.0-bz2 \
|
||||
php8.0-cli \
|
||||
php8.0-curl \
|
||||
php8.0-gd \
|
||||
php8.0-imap \
|
||||
php8.0-imagick \
|
||||
php8.0-intl \
|
||||
php8.0-ldap \
|
||||
php8.0-mbstring \
|
||||
php8.0-memcache \
|
||||
php8.0-memcached \
|
||||
php8.0-mysql \
|
||||
php8.0-opcache \
|
||||
php8.0-pgsql \
|
||||
php8.0-pspell \
|
||||
php8.0-redis \
|
||||
php8.0-soap \
|
||||
php8.0-sqlite \
|
||||
php8.0-xdebug \
|
||||
php8.0-xml \
|
||||
php8.0-zip \
|
||||
postgresql-client
|
||||
bake:
|
||||
$(MAKE) docker-marshall
|
||||
$(MAKE) docker-php-core bake-flavours PHP_VERSION=7.3
|
||||
$(MAKE) docker-php-core bake-flavours PHP_VERSION=7.4
|
||||
$(MAKE) docker-php-core bake-flavours PHP_VERSION=8.0
|
||||
|
||||
# ██████ ▓█████▄▄▄█████▓ █ ██ ██▓███
|
||||
# ▒██ ▒ ▓█ ▀▓ ██▒ ▓▒ ██ ▓██▒▓██░ ██▒
|
||||
# ░ ▓██▄ ▒███ ▒ ▓██░ ▒░▓██ ▒██░▓██░ ██▓▒
|
||||
# ▒ ██▒▒▓█ ▄░ ▓██▓ ░ ▓▓█ ░██░▒██▄█▓▒ ▒
|
||||
# ▒██████▒▒░▒████▒ ▒██▒ ░ ▒▒█████▓ ▒██▒ ░ ░
|
||||
# ▒ ▒▓▒ ▒ ░░░ ▒░ ░ ▒ ░░ ░▒▓▒ ▒ ▒ ▒▓▒░ ░ ░
|
||||
# ░ ░▒ ░ ░ ░ ░ ░ ░ ░░▒░ ░ ░ ░▒ ░
|
||||
# ░ ░ ░ ░ ░ ░░░ ░ ░ ░░
|
||||
# ░ ░ ░ ░
|
||||
|
||||
buildx:
|
||||
export DOCKER_CLI_EXPERIMENTAL=enabled
|
||||
-docker buildx create --name benzinebuilder
|
||||
docker buildx use benzinebuilder
|
||||
docker buildx inspect --bootstrap
|
||||
|
||||
setup: buildx
|
||||
git rev-parse --short HEAD > marshall/marshall_version
|
||||
date +%Y-%m-%d\ %H:%M:%S > marshall/marshall_build_date
|
||||
hostname > marshall/marshall_build_host
|
||||
|
||||
# ███▄ ▄███▓ ▄▄▄ ██▀███ ██████ ██░ ██ ▄▄▄ ██▓ ██▓
|
||||
# ▓██▒▀█▀ ██▒▒████▄ ▓██ ▒ ██▒▒██ ▒ ▓██░ ██▒▒████▄ ▓██▒ ▓██▒
|
||||
# ▓██ ▓██░▒██ ▀█▄ ▓██ ░▄█ ▒░ ▓██▄ ▒██▀▀██░▒██ ▀█▄ ▒██░ ▒██░
|
||||
# ▒██ ▒██ ░██▄▄▄▄██ ▒██▀▀█▄ ▒ ██▒░▓█ ░██ ░██▄▄▄▄██ ▒██░ ▒██░
|
||||
# ▒██▒ ░██▒ ▓█ ▓██▒░██▓ ▒██▒▒██████▒▒░▓█▒░██▓ ▓█ ▓██▒░██████▒░██████▒
|
||||
# ░ ▒░ ░ ░ ▒▒ ▓▒█░░ ▒▓ ░▒▓░▒ ▒▓▒ ▒ ░ ▒ ░░▒░▒ ▒▒ ▓▒█░░ ▒░▓ ░░ ▒░▓ ░
|
||||
# ░ ░ ░ ▒ ▒▒ ░ ░▒ ░ ▒░░ ░▒ ░ ░ ▒ ░▒░ ░ ▒ ▒▒ ░░ ░ ▒ ░░ ░ ▒ ░
|
||||
# ░ ░ ░ ▒ ░░ ░ ░ ░ ░ ░ ░░ ░ ░ ▒ ░ ░ ░ ░
|
||||
# ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
benzine/marshall: setup
|
||||
$(CMD_BUILD) -t benzine/marshall:latest --target=marshall . $(BUILDX_OUTPUT)
|
||||
|
||||
# ██▓███ ██░ ██ ██▓███ ▄████▄ ▒█████ ██▀███ ▓█████
|
||||
# ▓██░ ██▒▓██░ ██▒▓██░ ██▒ ▒██▀ ▀█ ▒██▒ ██▒▓██ ▒ ██▒▓█ ▀
|
||||
# ▓██░ ██▓▒▒██▀▀██░▓██░ ██▓▒ ▒▓█ ▄ ▒██░ ██▒▓██ ░▄█ ▒▒███
|
||||
# ▒██▄█▓▒ ▒░▓█ ░██ ▒██▄█▓▒ ▒ ▒▓▓▄ ▄██▒▒██ ██░▒██▀▀█▄ ▒▓█ ▄
|
||||
# ▒██▒ ░ ░░▓█▒░██▓▒██▒ ░ ░ ▒ ▓███▀ ░░ ████▓▒░░██▓ ▒██▒░▒████▒
|
||||
# ▒▓▒░ ░ ░ ▒ ░░▒░▒▒▓▒░ ░ ░ ░ ░▒ ▒ ░░ ▒░▒░▒░ ░ ▒▓ ░▒▓░░░ ▒░ ░
|
||||
# ░▒ ░ ▒ ░▒░ ░░▒ ░ ░ ▒ ░ ▒ ▒░ ░▒ ░ ▒░ ░ ░ ░
|
||||
# ░░ ░ ░░ ░░░ ░ ░ ░ ░ ▒ ░░ ░ ░
|
||||
# ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
|
||||
benzine/php\:core-7.0: setup
|
||||
$(CMD_BUILD) -t benzine/php:core-7.0 --target=php-core --build-arg "PHP_VERSION=7.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_70)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:core-7.1: setup
|
||||
$(CMD_BUILD) -t benzine/php:core-7.1 --target=php-core --build-arg "PHP_VERSION=7.1" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_71)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:core-7.2: setup
|
||||
$(CMD_BUILD) -t benzine/php:core-7.2 --target=php-core --build-arg "PHP_VERSION=7.2" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_72)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:core-7.3: setup
|
||||
$(CMD_BUILD) -t benzine/php:core-7.3 --target=php-core --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:core-7.4: setup
|
||||
$(CMD_BUILD) -t benzine/php:core-7.4 --target=php-core --build-arg "PHP_VERSION=7.4" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:core-8.0: setup
|
||||
$(CMD_BUILD) -t benzine/php:core-7.4 --target=php-core --build-arg "PHP_VERSION=8.4" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_80)" . $(BUILDX_OUTPUT)
|
||||
|
||||
core:
|
||||
$(MAKE) benzine/php\:core-7.0
|
||||
$(MAKE) benzine/php\:core-7.1
|
||||
$(MAKE) benzine/php\:core-7.2
|
||||
$(MAKE) benzine/php\:core-7.3
|
||||
$(MAKE) benzine/php\:core-7.4
|
||||
|
||||
# ██▓███ ██░ ██ ██▓███ ▄████▄ ██▓ ██▓
|
||||
# ▓██░ ██▒▓██░ ██▒▓██░ ██▒ ▒██▀ ▀█ ▓██▒ ▓██▒
|
||||
# ▓██░ ██▓▒▒██▀▀██░▓██░ ██▓▒ ▒▓█ ▄ ▒██░ ▒██▒
|
||||
# ▒██▄█▓▒ ▒░▓█ ░██ ▒██▄█▓▒ ▒ ▒▓▓▄ ▄██▒▒██░ ░██░
|
||||
# ▒██▒ ░ ░░▓█▒░██▓▒██▒ ░ ░ ▒ ▓███▀ ░░██████▒░██░
|
||||
# ▒▓▒░ ░ ░ ▒ ░░▒░▒▒▓▒░ ░ ░ ░ ░▒ ▒ ░░ ▒░▓ ░░▓
|
||||
# ░▒ ░ ▒ ░▒░ ░░▒ ░ ░ ▒ ░ ░ ▒ ░ ▒ ░
|
||||
# ░░ ░ ░░ ░░░ ░ ░ ░ ▒ ░
|
||||
# ░ ░ ░ ░ ░ ░ ░ ░
|
||||
|
||||
benzine/php\:cli-7.0: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.0 --target=php-cli --build-arg "PHP_VERSION=7.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_70)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.0-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.0-onbuild --target=php-cli-onbuild --build-arg "PHP_VERSION=7.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_70)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.1: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.1 --target=php-cli --build-arg "PHP_VERSION=7.1" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_71)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.1-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.1-onbuild --target=php-cli-onbuild --build-arg "PHP_VERSION=7.1" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_71)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.2: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.2 --target=php-cli --build-arg "PHP_VERSION=7.2" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_72)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.2-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.2-onbuild --target=php-cli-onbuild --build-arg "PHP_VERSION=7.2" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_72)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.3: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.3 --target=php-cli --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.3-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.3-onbuild --target=php-cli-onbuild --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.4: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.4 --target=php-cli --build-arg "PHP_VERSION=7.4" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-7.4-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-7.4-onbuild --target=php-cli-onbuild --build-arg "PHP_VERSION=7.4" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-8.0: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-8.0 --target=php-cli --build-arg "PHP_VERSION=8.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_80)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-8.0-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-8.0-onbuild --target=php-cli-onbuild --build-arg "PHP_VERSION=8.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_80)" . $(BUILDX_OUTPUT)
|
||||
|
||||
php-cli:
|
||||
$(MAKE) benzine/php\:cli-7.0
|
||||
$(MAKE) benzine/php\:cli-7.0-onbuild
|
||||
$(MAKE) benzine/php\:cli-7.1
|
||||
$(MAKE) benzine/php\:cli-7.1-onbuild
|
||||
$(MAKE) benzine/php\:cli-7.2
|
||||
$(MAKE) benzine/php\:cli-7.2-onbuild
|
||||
$(MAKE) benzine/php\:cli-7.3
|
||||
$(MAKE) benzine/php\:cli-7.3-onbuild
|
||||
$(MAKE) benzine/php\:cli-7.4
|
||||
$(MAKE) benzine/php\:cli-7.4-onbuild
|
||||
$(MAKE) benzine/php\:cli-8.0
|
||||
$(MAKE) benzine/php\:cli-8.0-onbuild
|
||||
|
||||
# ██▓███ ██░ ██ ██▓███ ███▄ █ ▄████ ██▓ ███▄ █ ▒██ ██▒
|
||||
# ▓██░ ██▒▓██░ ██▒▓██░ ██▒ ██ ▀█ █ ██▒ ▀█▒▓██▒ ██ ▀█ █ ▒▒ █ █ ▒░
|
||||
# ▓██░ ██▓▒▒██▀▀██░▓██░ ██▓▒ ▓██ ▀█ ██▒▒██░▄▄▄░▒██▒▓██ ▀█ ██▒░░ █ ░
|
||||
# ▒██▄█▓▒ ▒░▓█ ░██ ▒██▄█▓▒ ▒ ▓██▒ ▐▌██▒░▓█ ██▓░██░▓██▒ ▐▌██▒ ░ █ █ ▒
|
||||
# ▒██▒ ░ ░░▓█▒░██▓▒██▒ ░ ░ ▒██░ ▓██░░▒▓███▀▒░██░▒██░ ▓██░▒██▒ ▒██▒
|
||||
# ▒▓▒░ ░ ░ ▒ ░░▒░▒▒▓▒░ ░ ░ ░ ▒░ ▒ ▒ ░▒ ▒ ░▓ ░ ▒░ ▒ ▒ ▒▒ ░ ░▓ ░
|
||||
# ░▒ ░ ▒ ░▒░ ░░▒ ░ ░ ░░ ░ ▒░ ░ ░ ▒ ░░ ░░ ░ ▒░░░ ░▒ ░
|
||||
# ░░ ░ ░░ ░░░ ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░
|
||||
# ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
|
||||
benzine/php\:nginx-7.0: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.0 --target=php-nginx --build-arg "PHP_VERSION=7.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_70)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.0-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.0-onbuild --target=php-nginx-onbuild --build-arg "PHP_VERSION=7.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_70)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.1: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.1 --target=php-nginx --build-arg "PHP_VERSION=7.1" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_71)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.1-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.1-onbuild --target=php-nginx-onbuild --build-arg "PHP_VERSION=7.1" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_71)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.2: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.2 --target=php-nginx --build-arg "PHP_VERSION=7.2" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_72)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.2-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.2-onbuild --target=php-nginx-onbuild --build-arg "PHP_VERSION=7.2" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_72)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.3: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.3 --target=php-nginx --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.3-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.3-onbuild --target=php-nginx-onbuild --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.4: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.4 --target=php-nginx --build-arg "PHP_VERSION=7.4" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-7.4-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-7.4-onbuild --target=php-nginx-onbuild --build-arg "PHP_VERSION=7.4" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-8.0: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-8.0 --target=php-nginx --build-arg "PHP_VERSION=8.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_80)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-8.0-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-8.0-onbuild --target=php-nginx-onbuild --build-arg "PHP_VERSION=8.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_80)" . $(BUILDX_OUTPUT)
|
||||
|
||||
php-nginx:
|
||||
$(MAKE) benzine/php\:nginx-7.0
|
||||
$(MAKE) benzine/php\:nginx-7.0-onbuild
|
||||
$(MAKE) benzine/php\:nginx-7.1
|
||||
$(MAKE) benzine/php\:nginx-7.1-onbuild
|
||||
$(MAKE) benzine/php\:nginx-7.2
|
||||
$(MAKE) benzine/php\:nginx-7.2-onbuild
|
||||
$(MAKE) benzine/php\:nginx-7.3
|
||||
$(MAKE) benzine/php\:nginx-7.3-onbuild
|
||||
$(MAKE) benzine/php\:nginx-7.4
|
||||
$(MAKE) benzine/php\:nginx-7.4-onbuild
|
||||
$(MAKE) benzine/php\:nginx-8.0
|
||||
$(MAKE) benzine/php\:nginx-8.0-onbuild
|
||||
|
||||
# ██▓███ ██░ ██ ██▓███ ▄▄▄ ██▓███ ▄▄▄ ▄████▄ ██░ ██ ▓█████
|
||||
# ▓██░ ██▒▓██░ ██▒▓██░ ██▒ ▒████▄ ▓██░ ██▒▒████▄ ▒██▀ ▀█ ▓██░ ██▒▓█ ▀
|
||||
# ▓██░ ██▓▒▒██▀▀██░▓██░ ██▓▒ ▒██ ▀█▄ ▓██░ ██▓▒▒██ ▀█▄ ▒▓█ ▄ ▒██▀▀██░▒███
|
||||
# ▒██▄█▓▒ ▒░▓█ ░██ ▒██▄█▓▒ ▒ ░██▄▄▄▄██ ▒██▄█▓▒ ▒░██▄▄▄▄██ ▒▓▓▄ ▄██▒░▓█ ░██ ▒▓█ ▄
|
||||
# ▒██▒ ░ ░░▓█▒░██▓▒██▒ ░ ░ ▓█ ▓██▒▒██▒ ░ ░ ▓█ ▓██▒▒ ▓███▀ ░░▓█▒░██▓░▒████▒
|
||||
# ▒▓▒░ ░ ░ ▒ ░░▒░▒▒▓▒░ ░ ░ ▒▒ ▓▒█░▒▓▒░ ░ ░ ▒▒ ▓▒█░░ ░▒ ▒ ░ ▒ ░░▒░▒░░ ▒░ ░
|
||||
# ░▒ ░ ▒ ░▒░ ░░▒ ░ ▒ ▒▒ ░░▒ ░ ▒ ▒▒ ░ ░ ▒ ▒ ░▒░ ░ ░ ░ ░
|
||||
# ░░ ░ ░░ ░░░ ░ ▒ ░░ ░ ▒ ░ ░ ░░ ░ ░
|
||||
# ░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░ ░ ░
|
||||
|
||||
benzine/php\:apache-7.0: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.0 --target=php-apache --build-arg "PHP_VERSION=7.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_70)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.0-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.0-onbuild --target=php-apache-onbuild --build-arg "PHP_VERSION=7.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_70)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.1: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.1 --target=php-apache --build-arg "PHP_VERSION=7.1" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_71)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.1-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.1-onbuild --target=php-apache-onbuild --build-arg "PHP_VERSION=7.1" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_71)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.2: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.2 --target=php-apache --build-arg "PHP_VERSION=7.2" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_72)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.2-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.2-onbuild --target=php-apache-onbuild --build-arg "PHP_VERSION=7.2" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_72)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.3: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.3 --target=php-apache --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.3-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.3-onbuild --target=php-apache-onbuild --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.4: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.4 --target=php-apache --build-arg "PHP_VERSION=7.4" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-7.4-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-7.4-onbuild --target=php-apache-onbuild --build-arg "PHP_VERSION=7.4" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-8.0: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-8.0 --target=php-apache --build-arg "PHP_VERSION=8.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-8.0-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-8.0-onbuild --target=php-apache-onbuild --build-arg "PHP_VERSION=8.0" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_74)" . $(BUILDX_OUTPUT)
|
||||
|
||||
php-apache:
|
||||
$(MAKE) benzine/php\:apache-7.0
|
||||
$(MAKE) benzine/php\:apache-7.0-onbuild
|
||||
$(MAKE) benzine/php\:apache-7.1
|
||||
$(MAKE) benzine/php\:apache-7.1-onbuild
|
||||
$(MAKE) benzine/php\:apache-7.2
|
||||
$(MAKE) benzine/php\:apache-7.2-onbuild
|
||||
$(MAKE) benzine/php\:apache-7.3
|
||||
$(MAKE) benzine/php\:apache-7.3-onbuild
|
||||
$(MAKE) benzine/php\:apache-7.4
|
||||
$(MAKE) benzine/php\:apache-7.4-onbuild
|
||||
$(MAKE) benzine/php\:apache-8.0
|
||||
$(MAKE) benzine/php\:apache-8.0-onbuild
|
||||
|
||||
# ███▄ █ ▒█████ ▓█████▄ ▓█████ ▄▄▄██▀▀▀██████
|
||||
# ██ ▀█ █ ▒██▒ ██▒▒██▀ ██▌▓█ ▀ ▒██ ▒██ ▒
|
||||
#▓██ ▀█ ██▒▒██░ ██▒░██ █▌▒███ ░██ ░ ▓██▄
|
||||
#▓██▒ ▐▌██▒▒██ ██░░▓█▄ ▌▒▓█ ▄ ▓██▄██▓ ▒ ██▒
|
||||
#▒██░ ▓██░░ ████▓▒░░▒████▓ ░▒████▒ ▓███▒ ▒██████▒▒
|
||||
#░ ▒░ ▒ ▒ ░ ▒░▒░▒░ ▒▒▓ ▒ ░░ ▒░ ░ ▒▓▒▒░ ▒ ▒▓▒ ▒ ░
|
||||
#░ ░░ ░ ▒░ ░ ▒ ▒░ ░ ▒ ▒ ░ ░ ░ ▒ ░▒░ ░ ░▒ ░ ░
|
||||
# ░ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
# ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
|
||||
benzine/node\:8: setup
|
||||
$(CMD_BUILD) -t benzine/node:8 --target=nodejs --build-arg NODE_VERSION=8.16.0 --build-arg YARN_VERSION=1.15.2 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:8-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node:8-onbuild --target=nodejs-onbuild --build-arg NODE_VERSION=8.16.0 --build-arg YARN_VERSION=1.15.2 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:8-compiler: setup
|
||||
$(CMD_BUILD) -t benzine/node:8-compiler --target=nodejs-compiler --build-arg NODE_VERSION=8.16.0 --build-arg YARN_VERSION=1.15.2 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:8-compiler-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node:8-compiler-onbuild --target=nodejs-compiler-onbuild --build-arg NODE_VERSION=8.16.0 --build-arg YARN_VERSION=1.15.2 . $(BUILDX_OUTPUT)
|
||||
|
||||
benzine/node\:10: setup
|
||||
$(CMD_BUILD) -t benzine/node:10 --target=nodejs --build-arg NODE_VERSION=10.16.0 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:10-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node:10-onbuild --target=nodejs-onbuild --build-arg NODE_VERSION=10.16.0 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:10-compiler: setup
|
||||
$(CMD_BUILD) -t benzine/node:10-compiler --target=nodejs-compiler --build-arg NODE_VERSION=10.16.0 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:10-compiler-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node:10-compiler-onbuild --target=nodejs-compiler-onbuild --build-arg NODE_VERSION=10.16.0 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
|
||||
benzine/node\:11: setup
|
||||
$(CMD_BUILD) -t benzine/node:11 --target=nodejs --build-arg NODE_VERSION=11.15.0 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:11-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node:11-onbuild --target=nodejs-onbuild --build-arg NODE_VERSION=11.15.0 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:11-compiler: setup
|
||||
$(CMD_BUILD) -t benzine/node:11-compiler --target=nodejs-compiler --build-arg NODE_VERSION=11.15.0 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:11-compiler-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node:11-compiler-onbuild --target=nodejs-compiler-onbuild --build-arg NODE_VERSION=11.15.0 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
|
||||
benzine/node\:12: setup
|
||||
$(CMD_BUILD) -t benzine/node:12 --target=nodejs --build-arg NODE_VERSION=12.3.1 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:12-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node:12-onbuild --target=nodejs-onbuild --build-arg NODE_VERSION=12.3.1 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:12-compiler: setup
|
||||
$(CMD_BUILD) -t benzine/node:12-compiler --target=nodejs-compiler --build-arg NODE_VERSION=12.3.1 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:12-compiler-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node:12-compiler-onbuild --target=nodejs-compiler-onbuild --build-arg NODE_VERSION=12.3.1 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
|
||||
node:
|
||||
$(MAKE) benzine/node\:8
|
||||
$(MAKE) benzine/node\:8-onbuild
|
||||
$(MAKE) benzine/node\:8-compiler
|
||||
$(MAKE) benzine/node\:8-compiler-onbuild
|
||||
$(MAKE) benzine/node\:10
|
||||
$(MAKE) benzine/node\:10-onbuild
|
||||
$(MAKE) benzine/node\:10-compiler
|
||||
$(MAKE) benzine/node\:10-compiler-onbuild
|
||||
$(MAKE) benzine/node\:11
|
||||
$(MAKE) benzine/node\:11-onbuild
|
||||
$(MAKE) benzine/node\:11-compiler
|
||||
$(MAKE) benzine/node\:11-compiler-onbuild
|
||||
$(MAKE) benzine/node\:12
|
||||
$(MAKE) benzine/node\:12-onbuild
|
||||
$(MAKE) benzine/node\:12-compiler
|
||||
$(MAKE) benzine/node\:12-compiler-onbuild
|
||||
|
||||
# ██▓ ▄▄▄ ▄▄▄█████▓▓█████ ██████ ▄▄▄█████▓ ▄▄▄▄ █ ██ ██▓ ██▓ ▓█████▄ ██████
|
||||
# ▓██▒ ▒████▄ ▓ ██▒ ▓▒▓█ ▀ ▒██ ▒ ▓ ██▒ ▓▒ ▓█████▄ ██ ▓██▒▓██▒▓██▒ ▒██▀ ██▌▒██ ▒
|
||||
# ▒██░ ▒██ ▀█▄ ▒ ▓██░ ▒░▒███ ░ ▓██▄ ▒ ▓██░ ▒░ ▒██▒ ▄██▓██ ▒██░▒██▒▒██░ ░██ █▌░ ▓██▄
|
||||
# ▒██░ ░██▄▄▄▄██░ ▓██▓ ░ ▒▓█ ▄ ▒ ██▒░ ▓██▓ ░ ▒██░█▀ ▓▓█ ░██░░██░▒██░ ░▓█▄ ▌ ▒ ██▒
|
||||
# ░██████▒▓█ ▓██▒ ▒██▒ ░ ░▒████▒▒██████▒▒ ▒██▒ ░ ░▓█ ▀█▓▒▒█████▓ ░██░░██████▒░▒████▓ ▒██████▒▒
|
||||
# ░ ▒░▓ ░▒▒ ▓▒█░ ▒ ░░ ░░ ▒░ ░▒ ▒▓▒ ▒ ░ ▒ ░░ ░▒▓███▀▒░▒▓▒ ▒ ▒ ░▓ ░ ▒░▓ ░ ▒▒▓ ▒ ▒ ▒▓▒ ▒ ░
|
||||
# ░ ░ ▒ ░ ▒ ▒▒ ░ ░ ░ ░ ░░ ░▒ ░ ░ ░ ▒░▒ ░ ░░▒░ ░ ░ ▒ ░░ ░ ▒ ░ ░ ▒ ▒ ░ ░▒ ░ ░
|
||||
# ░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░░░ ░ ░ ▒ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
# ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
|
||||
benzine/php\:cli: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli --target=php-cli --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:cli-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:cli-onbuild --target=php-cli-onbuild --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache --target=php-apache --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:apache-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:apache-onbuild --target=php-apache-onbuild --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx --target=php-nginx --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/php\:nginx-onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/php:nginx-onbuild --target=php-nginx-onbuild --build-arg "PHP_VERSION=7.3" --build-arg "PHP_PACKAGES=$(PHP_PACKAGES_73)" . $(BUILDX_OUTPUT)
|
||||
benzine/node: setup
|
||||
$(CMD_BUILD) -t benzine/node --target=nodejs --build-arg NODE_VERSION=12.3.1 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
benzine/node\:onbuild: setup
|
||||
$(CMD_BUILD) -t benzine/node-onbuild --target=nodejs-onbuild --build-arg NODE_VERSION=12.3.1 --build-arg YARN_VERSION=1.16.0 . $(BUILDX_OUTPUT)
|
||||
|
||||
latest:
|
||||
$(MAKE) benzine/php\:cli
|
||||
$(MAKE) benzine/php\:cli-onbuild
|
||||
$(MAKE) benzine/php\:apache
|
||||
$(MAKE) benzine/php\:apache-onbuild
|
||||
$(MAKE) benzine/php\:nginx
|
||||
$(MAKE) benzine/php\:nginx-onbuild
|
||||
$(MAKE) benzine/node
|
||||
$(MAKE) benzine/node:onbuild
|
||||
|
||||
all:
|
||||
$(MAKE) benzine/marshall
|
||||
#$(MAKE) php-core # Nobody actually uses the core as-is, everything is baked off of cli & nginx honestly.
|
||||
$(MAKE) php-cli
|
||||
$(MAKE) php-nginx
|
||||
$(MAKE) php-apache
|
||||
$(MAKE) latest
|
||||
|
||||
# ▓█████▄ ▒█████ ▄████▄ ██████
|
||||
# ▒██▀ ██▌▒██▒ ██▒▒██▀ ▀█ ▒██ ▒
|
||||
# ░██ █▌▒██░ ██▒▒▓█ ▄ ░ ▓██▄
|
||||
# ░▓█▄ ▌▒██ ██░▒▓▓▄ ▄██▒ ▒ ██▒
|
||||
# ░▒████▓ ░ ████▓▒░▒ ▓███▀ ░▒██████▒▒
|
||||
# ▒▒▓ ▒ ░ ▒░▒░▒░ ░ ░▒ ▒ ░▒ ▒▓▒ ▒ ░
|
||||
# ░ ▒ ▒ ░ ▒ ▒░ ░ ▒ ░ ░▒ ░ ░
|
||||
# ░▄████ ▓█████▒ ███▄ █ ▓█████░ ██▀███ ▄▄▄ ▄▄▄█████▓ ▒█████ ██▀███
|
||||
# ██▒ ▀█▒▓█ ▀░ ██ ▀█ █ ▓█ ▀░▓██ ▒ ██▒▒████▄ ▓ ██▒ ▓▒▒██▒ ██▒▓██ ▒ ██▒
|
||||
# ▒██░▄▄▄░▒███ ▓██ ▀█ ██▒▒███ ▓██ ░▄█ ▒▒██ ▀█▄ ▒ ▓██░ ▒░▒██░ ██▒▓██ ░▄█ ▒
|
||||
# ░▓█ ██▓▒▓█ ▄ ▓██▒ ▐▌██▒▒▓█ ▄ ▒██▀▀█▄ ░██▄▄▄▄██░ ▓██▓ ░ ▒██ ██░▒██▀▀█▄
|
||||
# ░▒▓███▀▒░▒████▒▒██░ ▓██░░▒████▒░██▓ ▒██▒ ▓█ ▓██▒ ▒██▒ ░ ░ ████▓▒░░██▓ ▒██▒
|
||||
# ░▒ ▒ ░░ ▒░ ░░ ▒░ ▒ ▒ ░░ ▒░ ░░ ▒▓ ░▒▓░ ▒▒ ▓▒█░ ▒ ░░ ░ ▒░▒░▒░ ░ ▒▓ ░▒▓░
|
||||
# ░ ░ ░ ░ ░░ ░░ ░ ▒░ ░ ░ ░ ░▒ ░ ▒░ ▒ ▒▒ ░ ░ ░ ▒ ▒░ ░▒ ░ ▒░
|
||||
# ░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ ░ ▒ ░ ░ ░ ░ ▒ ░░ ░
|
||||
.PHONY: docs
|
||||
docs:
|
||||
composer install -d doc/ --ignore-platform-reqs
|
||||
./doc/gen
|
||||
|
||||
gen-transmute:
|
||||
cat .github/workflows/build-x86_64-php.yml | sed 's|x86_64|arm64v8|g' > .github/workflows/build-arm64v8-php.yml
|
||||
all: bake
|
|
@ -1,20 +1,113 @@
|
|||
version: "2.3"
|
||||
version: "3.4"
|
||||
|
||||
services:
|
||||
test-nginx-7.3:
|
||||
marshall:
|
||||
image: benzine/marshall:latest
|
||||
build:
|
||||
target: marshall
|
||||
dockerfile: Dockerfile.Marshall
|
||||
context: .
|
||||
|
||||
php-core-7.3:
|
||||
image: benzine/php:core-7.3
|
||||
build:
|
||||
target: php-core
|
||||
dockerfile: Dockerfile.Core
|
||||
context: .
|
||||
args:
|
||||
PHP_VERSION: 7.3
|
||||
PHP_PACKAGES: git mariadb-client php7.3-apcu php7.3-bcmath php7.3-bz2 php7.3-cli php7.3-curl php7.3-gd php7.3-imap php7.3-imagick php7.3-intl php7.3-ldap php7.3-mbstring php7.3-memcache php7.3-mysql php7.3-opcache php7.3-pgsql php7.3-phpdbg php7.3-pspell php7.3-redis php7.3-soap php7.3-sqlite php7.3-xdebug php7.3-xml php7.3-zip postgresql-client
|
||||
php-core-7.4:
|
||||
image: benzine/php:core-7.4
|
||||
build:
|
||||
target: php-core
|
||||
dockerfile: Dockerfile.Core
|
||||
context: .
|
||||
args:
|
||||
PHP_VERSION: 7.4
|
||||
PHP_PACKAGES: git mariadb-client php7.4-apcu php7.4-bcmath php7.4-bz2 php7.4-cli php7.4-curl php7.4-gd php7.4-imap php7.4-imagick php7.4-intl php7.4-ldap php7.4-mbstring php7.4-memcache php7.4-mysql php7.4-opcache php7.4-pgsql php7.4-phpdbg php7.4-pspell php7.4-redis php7.4-soap php7.4-sqlite php7.4-xdebug php7.4-xml php7.4-zip postgresql-client
|
||||
php-core-8.0:
|
||||
image: benzine/php:core-8.0
|
||||
build:
|
||||
target: php-core
|
||||
dockerfile: Dockerfile.Core
|
||||
context: .
|
||||
args:
|
||||
PHP_VERSION: 8.0
|
||||
PHP_PACKAGES: git mariadb-client php8.0-apcu php8.0-bcmath php8.0-bz2 php8.0-cli php8.0-curl php8.0-gd php8.0-imap php8.0-imagick php8.0-intl php8.0-ldap php8.0-mbstring php8.0-memcache php8.0-mysql php8.0-opcache php8.0-pgsql php8.0-phpdbg php8.0-pspell php8.0-redis php8.0-soap php8.0-sqlite php8.0-xdebug php8.0-xml php8.0-zip postgresql-client
|
||||
|
||||
php-cli-7.3:
|
||||
image: benzine/php:cli-7.3
|
||||
build:
|
||||
target: php-cli
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-7.3
|
||||
php-cli-7.4:
|
||||
image: benzine/php:cli-7.4
|
||||
build:
|
||||
target: php-cli
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-7.4
|
||||
php-cli-8.0:
|
||||
image: benzine/php:cli-8.0
|
||||
build:
|
||||
target: php-cli
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-8.0
|
||||
|
||||
php-nginx-7.3:
|
||||
image: benzine/php:nginx-7.3
|
||||
volumes:
|
||||
- ./test-webapp/php:/app/public
|
||||
ports:
|
||||
- 127.0.0.73:80:80
|
||||
- 127.0.0.73:443:443
|
||||
test-nginx-7.4:
|
||||
build:
|
||||
target: php-nginx
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-7.3
|
||||
php-nginx-7.4:
|
||||
image: benzine/php:nginx-7.4
|
||||
volumes:
|
||||
- ./test-webapp/php:/app/public
|
||||
ports:
|
||||
- 127.0.0.74:80:80
|
||||
- 127.0.0.74:443:443
|
||||
environment:
|
||||
DEBUG_MODE: "on"
|
||||
XDEBUG_CONFIG: "client_host=172.17.0.1 log=/tmp/xdebug.log"
|
||||
build:
|
||||
target: php-nginx
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-7.4
|
||||
php-nginx-8.0:
|
||||
image: benzine/php:nginx-8.0
|
||||
build:
|
||||
target: php-nginx
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-8.0
|
||||
|
||||
php-apache-7.3:
|
||||
image: benzine/php:apache-7.3
|
||||
build:
|
||||
target: php-apache
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-7.3
|
||||
php-apache-7.4:
|
||||
image: benzine/php:apache-7.4
|
||||
build:
|
||||
target: php-apache
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-7.4
|
||||
php-apache-8.0:
|
||||
image: benzine/php:apache-8.0
|
||||
build:
|
||||
target: php-apache
|
||||
dockerfile: Dockerfile.Flavours
|
||||
context: .
|
||||
args:
|
||||
PHP_CORE_VERSION: benzine/php:core-8.0
|
||||
|
18
marshall/installers/000_apt.sh
Normal file → Executable file
18
marshall/installers/000_apt.sh
Normal file → Executable file
|
@ -2,12 +2,18 @@
|
|||
source /installers/config
|
||||
echo "force-unsafe-io" > /etc/dpkg/dpkg.cfg.d/force-unsafe-io
|
||||
|
||||
# We're gonna move the sources to .d/ubuntu-upstream.list, then copy it, then manipulate it for a mirror list.
|
||||
mv /etc/apt/sources.list /etc/apt/sources.list.d/ubuntu-upstream.list
|
||||
cp /etc/apt/sources.list.d/ubuntu-upstream.list /etc/apt/sources.list.d/ubuntu-mirrors.list
|
||||
touch /etc/apt/sources.list
|
||||
sed -i 's/http\:\/\/archive\.ubuntu\.com\/ubuntu\//mirror\:\/\/mirrors.ubuntu.com\/mirrors.txt/g' /etc/apt/sources.list.d/ubuntu-mirrors.list
|
||||
sed -i "s|deb http://security.ubuntu.com|# deb http://security.ubuntu.com|g" /etc/apt/sources.list.d/ubuntu-mirrors.list
|
||||
# We're gonna move the sources to .d/ubuntu.list, then copy it, then manipulate it for a mirror list.
|
||||
(
|
||||
cat /etc/apt/sources.list;
|
||||
cat /etc/apt/sources.list \
|
||||
| sed 's/http\:\/\/archive\.ubuntu\.com\/ubuntu\//mirror\:\/\/mirrors.ubuntu.com\/mirrors.txt/g' \
|
||||
| sed "s|deb http://security.ubuntu.com|# deb http://security.ubuntu.com|g"
|
||||
) \
|
||||
| sed '/^#/d' \
|
||||
| sed '/^$/d' \
|
||||
| uniq \
|
||||
> /etc/apt/sources.list.d/ubuntu.list
|
||||
rm /etc/apt/sources.list; touch /etc/apt/sources.list;
|
||||
|
||||
# Update apt repos
|
||||
apt-get -qq update
|
||||
|
|
0
marshall/installers/001_bash.sh
Normal file → Executable file
0
marshall/installers/001_bash.sh
Normal file → Executable file
0
marshall/installers/002_timezone.sh
Normal file → Executable file
0
marshall/installers/002_timezone.sh
Normal file → Executable file
0
marshall/installers/003_dos2unix.sh
Normal file → Executable file
0
marshall/installers/003_dos2unix.sh
Normal file → Executable file
0
marshall/installers/050_runit.sh
Normal file → Executable file
0
marshall/installers/050_runit.sh
Normal file → Executable file
0
marshall/installers/100_cron.sh
Normal file → Executable file
0
marshall/installers/100_cron.sh
Normal file → Executable file
0
marshall/installers/101_rsyslog.sh
Normal file → Executable file
0
marshall/installers/101_rsyslog.sh
Normal file → Executable file
0
marshall/installers/102_logrotate.sh
Normal file → Executable file
0
marshall/installers/102_logrotate.sh
Normal file → Executable file
0
marshall/installers/900_utils.sh
Normal file → Executable file
0
marshall/installers/900_utils.sh
Normal file → Executable file
0
marshall/installers/901_package_report.sh
Normal file → Executable file
0
marshall/installers/901_package_report.sh
Normal file → Executable file
0
marshall/installers/999_cleanup.sh
Normal file → Executable file
0
marshall/installers/999_cleanup.sh
Normal file → Executable file
6
marshall/installers/install
Normal file → Executable file
6
marshall/installers/install
Normal file → Executable file
|
@ -1,9 +1,7 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
cd "$(dirname "$0")"
|
||||
|
||||
for file in /installers/*.sh
|
||||
do
|
||||
|
||||
for file in *.sh; do
|
||||
/bin/bash $file
|
||||
done
|
Loading…
Reference in a new issue