Updated almalinux and alpine base image, testing at php 8.4 images
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 latest:true os:almalinux os_version:9.5 php_major:true php_release:8 php_version:8.4]) (push) Successful in 3m10s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.21 php_release:8 php_short_version:84 php_version:8.4]) (push) Successful in 55s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 latest:true os:almalinux os_version:9.5 php_major:true php_release:8 php_version:8.4]) (push) Successful in 3m10s
Details
Build and push PHP container images / Build php cli with composer (map[composer_version:2.8.9 os:alpine os_label:true os_version:3.21 php_release:8 php_short_version:84 php_version:8.4]) (push) Successful in 55s
Details
This commit is contained in:
parent
e9269a86ad
commit
e6e1d3029f
|
@ -0,0 +1,141 @@
|
|||
name: Build and push PHP container images
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
base:
|
||||
name: Build php cli with composer
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
params:
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
os_label: "true"
|
||||
php_version: "8.4"
|
||||
php_short_version: "84"
|
||||
php_release: "8"
|
||||
composer_version: "2.8.9"
|
||||
# - os: "almalinux"
|
||||
# os_version: "8.10"
|
||||
# php_version: "7.2"
|
||||
# php_release: "7"
|
||||
# composer_version: "2.8.9"
|
||||
# - os: "almalinux"
|
||||
# os_version: "8.10"
|
||||
# php_version: "7.3"
|
||||
# php_release: "7"
|
||||
# composer_version: "2.8.9"
|
||||
# - os: "almalinux"
|
||||
# os_version: "8.10"
|
||||
# php_version: "7.4"
|
||||
# php_release: "7"
|
||||
# composer_version: "2.8.9"
|
||||
# - os: "almalinux"
|
||||
# os_version: "9.5"
|
||||
# php_version: "8.0"
|
||||
# php_release: "8"
|
||||
# composer_version: "2.8.9"
|
||||
# - os: "almalinux"
|
||||
# os_version: "9.5"
|
||||
# php_version: "8.1"
|
||||
# php_release: "8"
|
||||
# composer_version: "2.8.9"
|
||||
# - os: "almalinux"
|
||||
# os_version: "9.5"
|
||||
# php_version: "8.2"
|
||||
# php_release: "8"
|
||||
# composer_version: "2.8.9"
|
||||
# - os: "almalinux"
|
||||
# os_version: "9.5"
|
||||
# php_version: "8.3"
|
||||
# php_release: "8"
|
||||
# composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.4"
|
||||
php_release: "8"
|
||||
php_major: 'true'
|
||||
composer_version: "2.8.9"
|
||||
latest: 'true'
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- if: ${{ matrix.params.os_label != 'true' }}
|
||||
name: Build and push php release
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: ${{ matrix.params.php_release }}/Dockerfile.${{ matrix.params.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.params.os_version }}
|
||||
PHP_VERSION=${{ matrix.params.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
- if: ${{ matrix.params.os_label == 'true' }}
|
||||
name: Build and push php release
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: ${{ matrix.params.php_release }}/Dockerfile.${{ matrix.params.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.params.os_version }}
|
||||
PHP_VERSION=${{ matrix.params.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.params.php_version }}-${{ matrix.params.os }}
|
||||
# - if: ${{ matrix.params.latest != 'true' && matrix.params.php_major != 'true' && matrix.params.os_label == 'true' }}
|
||||
# name: Build and push php release
|
||||
# uses: docker/build-push-action@v5
|
||||
# with:
|
||||
# push: true
|
||||
# context: .
|
||||
# file: ${{ matrix.params.php_release }}/Dockerfile.${{ matrix.params.os }}
|
||||
# build-args: |
|
||||
# OS_VERSION=${{ matrix.params.os_version }}
|
||||
# PHP_VERSION=${{ matrix.params.php_version }}
|
||||
# COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
# tags: |
|
||||
# quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
# - if: ${{ matrix.params.php_major == 'true' }}
|
||||
# name: Build and push php major release
|
||||
# uses: docker/build-push-action@v5
|
||||
# with:
|
||||
# push: true
|
||||
# context: .
|
||||
# file: 8/Dockerfile.${{ matrix.params.os }}
|
||||
# build-args: |
|
||||
# OS_VERSION=${{ matrix.params.os_version }}
|
||||
# PHP_VERSION=${{ matrix.params.php_version }}
|
||||
# COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
# tags: |
|
||||
# quay.io/teras/php:${{ matrix.params.php_release }}
|
||||
# - if: ${{ matrix.params.latest == 'true' && matrix.params.os_label != 'true' }}
|
||||
# name: Build and push php latest release
|
||||
# uses: docker/build-push-action@v5
|
||||
# with:
|
||||
# push: true
|
||||
# context: .
|
||||
# file: 8/Dockerfile.${{ matrix.params.os }}
|
||||
# build-args: |
|
||||
# OS_VERSION=${{ matrix.params.os_version }}
|
||||
# PHP_VERSION=${{ matrix.params.php_version }}
|
||||
# COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
# tags: |
|
||||
# quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
# quay.io/teras/php:latest
|
|
@ -1,100 +0,0 @@
|
|||
name: Build and push PHP based on almalinux
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php-almalinux
|
||||
|
||||
jobs:
|
||||
base:
|
||||
name: Build php8-almalinux
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
params:
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "7.2"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "7.3"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "7.4"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.0"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.1"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.2"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.3"
|
||||
composer_version: "2.8.9"
|
||||
- os: "almalinux"
|
||||
os_version: "9.5"
|
||||
php_version: "8.4"
|
||||
composer_version: "2.8.9"
|
||||
latest: 'true'
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- if: ${{ matrix.params.latest != 'true' && startsWith(matrix.params.php_version, '8') }}
|
||||
name: Build and push php 8
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.params.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.params.os_version }}
|
||||
PHP_VERSION=${{ matrix.params.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
- if: ${{ matrix.params.latest != 'true' && startsWith(matrix.params.php_version, '7') }}
|
||||
name: Build and push php 7
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.params.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.params.os_version }}
|
||||
PHP_VERSION=${{ matrix.params.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
- if: ${{ matrix.params.latest == 'true' }}
|
||||
name: Build and push php 8 latest
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.params.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.params.os_version }}
|
||||
PHP_VERSION=${{ matrix.params.php_version }}
|
||||
COMPOSER_VERSION=${{ matrix.params.composer_version }}
|
||||
tags: |
|
||||
quay.io/teras/php:${{ matrix.params.php_version }}
|
||||
quay.io/teras/php:8
|
||||
quay.io/teras/php:latest
|
|
@ -1,125 +0,0 @@
|
|||
name: Build and push PHP 5 container images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php5-almalinux
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build PHP 5 container images
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "56"
|
||||
mode: cli
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "56"
|
||||
mode: full
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "almalinux"
|
||||
os_version: "8.10"
|
||||
php_version: "5.6"
|
||||
php_ver_short: "56"
|
||||
mode: debug
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
# - name: Set up QEMU
|
||||
# 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
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 5/Dockerfile.${{ matrix.flavors.mode }}-${{ 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 }}
|
||||
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 }}
|
||||
# build-latest:
|
||||
# name: Build latest nginx alpine based container images
|
||||
# runs-on: ubuntu-latest
|
||||
# needs:
|
||||
# - build
|
||||
# container:
|
||||
# image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
# steps:
|
||||
# - name: Check out repository code
|
||||
# uses: actions/checkout@v4
|
||||
# - name: Login to quay.io
|
||||
# uses: docker/login-action@v3
|
||||
# with:
|
||||
# registry: quay.io
|
||||
# username: ${{ vars.QUAY_USERNAME }}
|
||||
# password: ${{ secrets.QUAY_SECRET }}
|
||||
# # - name: Set up QEMU
|
||||
# # uses: docker/setup-qemu-action@v3
|
||||
# - name: Setup Docker buildx
|
||||
# uses: docker/setup-buildx-action@v3
|
||||
# - name: Build and push latest nginx
|
||||
# uses: docker/build-push-action@v5
|
||||
# with:
|
||||
# # platforms: linux/amd64,linux/arm64
|
||||
# push: true
|
||||
# context: .
|
||||
# file: Dockerfile.alpine
|
||||
# tags: |
|
||||
# quay.io/sindigilive/nginx:alpine
|
||||
# quay.io/sindigilive/nginx:latest
|
|
@ -1,167 +0,0 @@
|
|||
name: Build and push PHP 5 container images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php5-alpine
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build PHP 5 container images
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "alpine"
|
||||
os_version: "3.6"
|
||||
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
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
# - name: Set up QEMU
|
||||
# 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
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 5/Dockerfile.${{ 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 }}
|
||||
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 }}
|
||||
# build-latest:
|
||||
# name: Build latest nginx alpine based container images
|
||||
# runs-on: ubuntu-latest
|
||||
# needs:
|
||||
# - build
|
||||
# container:
|
||||
# image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
# steps:
|
||||
# - name: Check out repository code
|
||||
# uses: actions/checkout@v4
|
||||
# - name: Login to quay.io
|
||||
# uses: docker/login-action@v3
|
||||
# with:
|
||||
# registry: quay.io
|
||||
# username: ${{ vars.QUAY_USERNAME }}
|
||||
# password: ${{ secrets.QUAY_SECRET }}
|
||||
# # - name: Set up QEMU
|
||||
# # uses: docker/setup-qemu-action@v3
|
||||
# - name: Setup Docker buildx
|
||||
# uses: docker/setup-buildx-action@v3
|
||||
# - name: Build and push latest nginx
|
||||
# uses: docker/build-push-action@v5
|
||||
# with:
|
||||
# # platforms: linux/amd64,linux/arm64
|
||||
# push: true
|
||||
# context: .
|
||||
# file: Dockerfile.alpine
|
||||
# tags: |
|
||||
# quay.io/sindigilive/nginx:alpine
|
||||
# quay.io/sindigilive/nginx:latest
|
|
@ -1,194 +0,0 @@
|
|||
name: Build and push PHP 7 container images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php7-alpine
|
||||
|
||||
jobs:
|
||||
builder:
|
||||
name: Build PHP 7 builder container images
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
# - name: Set up QEMU
|
||||
# uses: docker/setup-qemu-action@v3
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Build and push php7 builder
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.flavors.os }}-builder
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-builder-${{ matrix.flavors.os }}
|
||||
flavors:
|
||||
name: Build PHP 7 container images
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- builder
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.9"
|
||||
php_version: "7.2"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.12"
|
||||
php_version: "7.3"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.15"
|
||||
php_version: "7.4"
|
||||
php_ver_short: "7"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
# - name: Set up QEMU
|
||||
# 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 php7
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.flavors.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.os }}
|
||||
- if: ${{ matrix.flavors.with_server != 'false' && matrix.flavors.with_database == 'false' }}
|
||||
name: Build and push php7 with webserver
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.flavors.os }}-${{ matrix.flavors.with_server }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
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.with_server }}-${{ matrix.flavors.os }}
|
||||
- if: ${{ matrix.flavors.with_server != 'false' && matrix.flavors.with_database != 'false' }}
|
||||
name: Build and push php7 with webserver and database connector library
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 7/Dockerfile.${{ matrix.flavors.os }}-${{ matrix.flavors.with_server }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
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.with_server }}-${{ matrix.flavors.with_database }}-${{ matrix.flavors.os }}
|
|
@ -1,223 +0,0 @@
|
|||
name: Build and push PHP 8 container images
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- php8-alpine
|
||||
|
||||
jobs:
|
||||
builder:
|
||||
name: Build PHP 8 builder container images
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "alpine"
|
||||
os_version: "3.16"
|
||||
php_version: "8.0"
|
||||
php_ver_short: "8"
|
||||
- os: "alpine"
|
||||
os_version: "3.19"
|
||||
php_version: "8.1"
|
||||
php_ver_short: "81"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.2"
|
||||
php_ver_short: "83"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.3"
|
||||
php_ver_short: "83"
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
# - name: Set up QEMU
|
||||
# uses: docker/setup-qemu-action@v3
|
||||
- name: Setup Docker buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Build and push php8 builder
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.flavors.os }}-builder
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-builder-${{ matrix.flavors.os }}
|
||||
|
||||
flavors:
|
||||
name: Build PHP 8 container images
|
||||
runs-on: ubuntu-latest
|
||||
needs:
|
||||
- builder
|
||||
container:
|
||||
image: ghcr.io/catthehacker/ubuntu:act-latest
|
||||
strategy:
|
||||
matrix:
|
||||
flavors:
|
||||
- os: "alpine"
|
||||
os_version: "3.16"
|
||||
php_version: "8.0"
|
||||
php_ver_short: "8"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.19"
|
||||
php_version: "8.1"
|
||||
php_ver_short: "81"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.2"
|
||||
php_ver_short: "82"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.3"
|
||||
php_ver_short: "83"
|
||||
with_server: "false"
|
||||
with_database: "false"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.16"
|
||||
php_version: "8.0"
|
||||
php_ver_short: "8"
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.19"
|
||||
php_version: "8.1"
|
||||
php_ver_short: "81"
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.2"
|
||||
php_ver_short: "82"
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.3"
|
||||
php_ver_short: "83"
|
||||
with_server: "apache"
|
||||
with_database: "false"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.16"
|
||||
php_version: "8.0"
|
||||
php_ver_short: "8"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.19"
|
||||
php_version: "8.1"
|
||||
php_ver_short: "81"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.2"
|
||||
php_ver_short: "82"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.3"
|
||||
php_ver_short: "83"
|
||||
with_server: "apache"
|
||||
with_database: "mysql"
|
||||
|
||||
- os: "alpine"
|
||||
os_version: "3.16"
|
||||
php_version: "8.0"
|
||||
php_ver_short: "8"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.19"
|
||||
php_version: "8.1"
|
||||
php_ver_short: "81"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.2"
|
||||
php_ver_short: "82"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
- os: "alpine"
|
||||
os_version: "3.21"
|
||||
php_version: "8.3"
|
||||
php_ver_short: "83"
|
||||
with_server: "apache"
|
||||
with_database: "postgresql"
|
||||
|
||||
steps:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v4
|
||||
- name: Login to quay.io
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: quay.io
|
||||
username: ${{ vars.QUAY_USERNAME }}
|
||||
password: ${{ secrets.QUAY_SECRET }}
|
||||
# - name: Set up QEMU
|
||||
# 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 php8
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.flavors.os }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
PHP_VERSION=${{ matrix.flavors.php_version }}
|
||||
PHP_VER_SHORT=${{ matrix.flavors.php_ver_short }}
|
||||
tags: |
|
||||
quay.io/sindigilive/php:${{ matrix.flavors.php_version }}-${{ matrix.flavors.os }}
|
||||
- if: ${{ matrix.flavors.with_server != 'false' && matrix.flavors.with_database == 'false' }}
|
||||
name: Build and push php8 with webserver
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.flavors.os }}-${{ matrix.flavors.with_server }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
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.with_server }}-${{ matrix.flavors.os }}
|
||||
- if: ${{ matrix.flavors.with_server != 'false' && matrix.flavors.with_database != 'false' }}
|
||||
name: Build and push php8 with webserver and database connector library
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
push: true
|
||||
context: .
|
||||
file: 8/Dockerfile.${{ matrix.flavors.os }}-${{ matrix.flavors.with_server }}
|
||||
build-args: |
|
||||
OS_VERSION=${{ matrix.flavors.os_version }}
|
||||
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.with_server }}-${{ matrix.flavors.with_database }}-${{ matrix.flavors.os }}
|
|
@ -9,10 +9,20 @@ ENV PHP_VERSION=${PHP_VERSION}
|
|||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
RUN /bin/mkdir -p ${SERVER_ROOT}; \
|
||||
/sbin/groupadd -g 10000 php; \
|
||||
/sbin/useradd -u 10000 -g 10000 -s /bin/sh -M -d ${SERVER_ROOT} php; \
|
||||
/bin/chown -R php:php ${SERVER_ROOT}; \
|
||||
ENV COMPOSER_HOME=${SERVER_ROOT}/.composer
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=0
|
||||
ENV COMPOSER_NO_INTERACTION=1
|
||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
||||
ENV COMPOSER_VENDOR_DIR=${COMPOSER_HOME}/vendor
|
||||
ENV COMPOSER_BIN_DIR=${COMPOSER_HOME}/bin
|
||||
|
||||
USER root
|
||||
WORKDIR ${SERVER_ROOT}
|
||||
|
||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
||||
|
||||
RUN /bin/mkdir -p ${COMPOSER_CACHE_DIR} ${COMPOSER_VENDOR_DIR} ${COMPOSER_BIN_DIR}; \
|
||||
/bin/chown -R appuser:appuser ${COMPOSER_HOME}; \
|
||||
/bin/microdnf -y --nodocs install epel-release; \
|
||||
/bin/microdnf -y upgrade; \
|
||||
/bin/rpm -Uvh --replacepkgs --replacefiles \
|
||||
|
@ -21,11 +31,8 @@ RUN /bin/mkdir -p ${SERVER_ROOT}; \
|
|||
/bin/microdnf -y module enable php:remi-${PHP_VERSION}; \
|
||||
/bin/microdnf -y --nodocs install \
|
||||
php php-cli php-common php-phar \
|
||||
php-iconv php-mbstring php-json;
|
||||
|
||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
||||
|
||||
RUN /bin/chmod +rx /usr/local/bin/composer; \
|
||||
php-iconv php-mbstring php-json; \
|
||||
/bin/chmod +rx /usr/local/bin/composer; \
|
||||
/bin/microdnf clean all; \
|
||||
/bin/rm -rf /var/cache/yum/*; \
|
||||
/bin/rm -rf /var/lib/yum/history/*; \
|
||||
|
@ -40,10 +47,20 @@ FROM scratch
|
|||
ARG PHP_VERSION=8.4
|
||||
ARG COMPOSER_VERSION=2.8.9
|
||||
|
||||
# Environment variables for user root
|
||||
ENV LANG=en_US.UTF-8
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
ENV COMPOSER_HOME=${SERVER_ROOT}/.composer
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=0
|
||||
ENV COMPOSER_NO_INTERACTION=1
|
||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
||||
ENV COMPOSER_VENDOR_DIR=${COMPOSER_HOME}/vendor
|
||||
ENV COMPOSER_BIN_DIR=${COMPOSER_HOME}/bin
|
||||
|
||||
LABEL maintainer="Muhamad Aditya Prima <aditya@teraslink.id>"
|
||||
LABEL name="php"
|
||||
LABEL version="${PHP_VERSION}"
|
||||
|
@ -57,9 +74,11 @@ LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
|||
|
||||
COPY --from=builder / /
|
||||
|
||||
ENV PATH="${PATH}:${COMPOSER_BIN_DIR}:${COMPOSER_VENDOR_DIR}/bin"
|
||||
|
||||
WORKDIR ${SERVER_ROOT}
|
||||
|
||||
USER php
|
||||
USER appuser
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
ARG OS_VERSION=9.5
|
||||
|
||||
FROM quay.io/teras/almalinux:${OS_VERSION}-minimal
|
||||
|
||||
ARG PHP_VERSION=8.4
|
||||
ARG PHP_LONG_VERSION=8.4.7
|
||||
ARG COMPOSER_VERSION=2.8.9
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
ENV PHP_DEPS \
|
||||
tar gzip \
|
||||
gcc gcc-c++ make autoconf bison make
|
||||
|
||||
ENV PHP_INI_DIR=/etc/php
|
||||
|
||||
WORKDIR /tmp
|
||||
|
||||
ADD https://www.php.net/distributions/php-${PHP_LONG_VERSION}.tar.gz /tmp/php-src.tar.gz
|
||||
|
||||
RUN /sbin/groupadd -g 10000 php; \
|
||||
/sbin/useradd -u 10000 -g 10000 -s /bin/sh -d ${SERVER_ROOT} php; \
|
||||
/bin/microdnf -y --nodocs install ${PHP_DEPS}; \
|
||||
/bin/tar -xzf /tmp/php-src.tar.gz -C /usr/src;
|
||||
|
||||
# /bin/mkdir -p ${SERVER_ROOT}; \
|
||||
# /sbin/groupadd -g 10000 php; \
|
||||
# /sbin/useradd -u 10000 -g 10000 -s /bin/sh -d ${SERVER_ROOT} php; \
|
||||
# /bin/chown -R php:php ${SERVER_ROOT}; \
|
||||
# /bin/microdnf -y --nodocs install epel-release; \
|
||||
# /bin/microdnf -y upgrade; \
|
||||
# /bin/rpm -Uvh --replacepkgs --replacefiles \
|
||||
# https://rpms.remirepo.net/enterprise/remi-release-9.rpm; \
|
||||
# /bin/microdnf -y module reset php; \
|
||||
# /bin/microdnf -y module enable php:remi-${PHP_VERSION}; \
|
||||
# /bin/microdnf -y --nodocs install \
|
||||
# php php-cli php-common php-phar \
|
||||
# php-iconv php-mbstring php-json;
|
||||
|
||||
# ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
||||
|
||||
# RUN /bin/chown php:php /usr/local/bin/composer; \
|
||||
# /bin/chmod +rx /usr/local/bin/composer; \
|
||||
# /bin/microdnf clean all; \
|
||||
# /bin/rm -rf /var/cache/yum/*; \
|
||||
# /bin/rm -rf /var/lib/yum/history/*; \
|
||||
# /bin/rm -rf /var/lib/yum/yumdb/*; \
|
||||
# /bin/rm -rf /var/lib/dnf/*;
|
||||
|
||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
||||
# RUN ln -ns /usr/bin/php${PHP_VERSION} /usr/bin/php; exit 0
|
||||
|
||||
# WORKDIR ${SERVER_ROOT}
|
||||
# USER php
|
||||
|
||||
# CMD ["/usr/bin/php", "-v"]
|
||||
CMD ["/bin/sh"]
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
|
@ -2,47 +2,89 @@
|
|||
# PHP 8.1 == 3.19
|
||||
# PHP 8.2 == 3.21
|
||||
# PHP 8.3 == 3.21
|
||||
# PHP 8.4 == 3.21
|
||||
ARG OS_VERSION=3.21
|
||||
ARG PHP_VERSION=8.3
|
||||
|
||||
FROM quay.io/sindigilive/php:${PHP_VERSION}-builder-alpine AS builder
|
||||
FROM quay.io/teras/alpine:${OS_VERSION} AS builder
|
||||
|
||||
ARG WITH_APACHE=false
|
||||
ARG WITH_DATABASE=false
|
||||
ARG PHP_VERSION=8.4
|
||||
ARG PHP_SHORT_VERSION=84
|
||||
ARG COMPOSER_VERSION=2.8.9
|
||||
|
||||
ENV WITH_APACHE=${WITH_APACHE}
|
||||
ENV WITH_DATABASE=${WITH_DATABASE}
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_SHORT_VERSION=${PHP_SHORT_VERSION}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
ENV COMPOSER_HOME=${SERVER_ROOT}/.composer
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=0
|
||||
ENV COMPOSER_NO_INTERACTION=1
|
||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
||||
ENV COMPOSER_VENDOR_DIR=${COMPOSER_HOME}/vendor
|
||||
ENV COMPOSER_BIN_DIR=${COMPOSER_HOME}/bin
|
||||
|
||||
USER root
|
||||
WORKDIR ${SERVER_ROOT}
|
||||
|
||||
ADD https://github.com/composer/composer/releases/download/${COMPOSER_VERSION}/composer.phar /usr/local/bin/composer
|
||||
|
||||
# Create directory, and install required php app
|
||||
RUN /bin/sh /tmp/setup.sh; \
|
||||
/bin/rm -f /tmp/*.sh; \
|
||||
rm -vrf /var/cache/apk/*
|
||||
RUN /bin/mkdir -p ${COMPOSER_CACHE_DIR} ${COMPOSER_VENDOR_DIR} ${COMPOSER_BIN_DIR}; \
|
||||
/bin/chown -R appuser:appuser ${COMPOSER_HOME}; \
|
||||
/sbin/apk add --update --no-cache \
|
||||
php${PHP_SHORT_VERSION} php${PHP_SHORT_VERSION}-common \
|
||||
php${PHP_SHORT_VERSION}-cli php${PHP_SHORT_VERSION}-phar \
|
||||
php${PHP_SHORT_VERSION}-iconv php${PHP_SHORT_VERSION}-mbstring \
|
||||
php${PHP_SHORT_VERSION}-json php${PHP_SHORT_VERSION}-openssl ; \
|
||||
/bin/chmod +rx /usr/local/bin/composer ;
|
||||
|
||||
# Create symlinks to /usr/bin/php in case it doesn't exists
|
||||
RUN ln -ns /usr/bin/php${PHP_SHORT_VERSION} /usr/bin/php ; exit 0
|
||||
|
||||
# CLEAN APK CACHES
|
||||
RUN rm -vrf /var/cache/apk/*
|
||||
|
||||
FROM scratch
|
||||
|
||||
ARG PHP_VERSION=8.3
|
||||
ARG PHP_VER_SHORT=8
|
||||
ARG PHP_VERSION=8.4
|
||||
ARG COMPOSER_VERSION=2.8.9
|
||||
|
||||
# Environment variables for user root
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_VER_SHORT=${PHP_VER_SHORT}
|
||||
ENV COMPOSER_VERSION=${COMPOSER_VERSION}
|
||||
ENV SERVER_ROOT=/app
|
||||
|
||||
LABEL maintainer="Muhamad Aditya Prima <map@sindigilive.com>"
|
||||
ENV COMPOSER_HOME=${SERVER_ROOT}/.composer
|
||||
ENV COMPOSER_ALLOW_SUPERUSER=0
|
||||
ENV COMPOSER_NO_INTERACTION=1
|
||||
ENV COMPOSER_CACHE_DIR=${COMPOSER_HOME}/cache
|
||||
ENV COMPOSER_VENDOR_DIR=${COMPOSER_HOME}/vendor
|
||||
ENV COMPOSER_BIN_DIR=${COMPOSER_HOME}/bin
|
||||
ENV LANG=en_US.UTF-8
|
||||
|
||||
LABEL maintainer="Muhamad Aditya Prima <aditya@teraslink.id>"
|
||||
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 summary="PHP ${PHP_VERSION} on alpine linux container image"
|
||||
LABEL description="Provide php on alpine linux container base image"
|
||||
LABEL io.k8s.description="PHP with composer"
|
||||
LABEL io.k8s.display-name="PHP ${PHP_VERSION}"
|
||||
|
||||
COPY --from=builder / /
|
||||
|
||||
WORKDIR /app
|
||||
WORKDIR ${SERVER_ROOT}
|
||||
|
||||
USER php
|
||||
USER appuser
|
||||
|
||||
ENV PATH=${PATH}:${COMPOSER_BIN_DIR}:${COMPOSER_VENDOR_DIR}/bin
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
||||
CMD ["/usr/bin/php", "-v"]
|
||||
CMD ["/usr/bin/php", "-v"]
|
|
@ -0,0 +1,48 @@
|
|||
# PHP 8.0 == 3.16
|
||||
# PHP 8.1 == 3.19
|
||||
# PHP 8.2 == 3.21
|
||||
# PHP 8.3 == 3.21
|
||||
ARG OS_VERSION=3.21
|
||||
ARG PHP_VERSION=8.4
|
||||
|
||||
FROM quay.io/sindigilive/php:${PHP_VERSION}-builder-alpine AS builder
|
||||
|
||||
ARG WITH_APACHE=false
|
||||
ARG WITH_DATABASE=false
|
||||
|
||||
ENV WITH_APACHE=${WITH_APACHE}
|
||||
ENV WITH_DATABASE=${WITH_DATABASE}
|
||||
|
||||
# Create directory, and install required php app
|
||||
RUN /bin/sh /tmp/setup.sh; \
|
||||
/bin/rm -f /tmp/*.sh; \
|
||||
rm -vrf /var/cache/apk/*
|
||||
|
||||
FROM scratch
|
||||
|
||||
ARG PHP_VERSION=8.4
|
||||
ARG PHP_SHORT_VERSION=84
|
||||
|
||||
ENV PHP_VERSION=${PHP_VERSION}
|
||||
ENV PHP_SHORT_VERSION=${PHP_SHORT_VERSION}
|
||||
|
||||
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 / /
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
USER php
|
||||
|
||||
STOPSIGNAL SIGQUIT
|
||||
|
||||
CMD ["/usr/bin/php", "-v"]
|
Loading…
Reference in New Issue