attempt to bring inline with other containers
Build Container Image / build_amd64 (push) Failing after 4m48s Details
Build Container Image / build_arm64 (push) Failing after 50m17s Details
Build Container Image / build_manifest (push) Has been skipped Details

This commit is contained in:
Daniel Wolf 2024-03-09 09:59:02 -05:00
parent 33ba482a5f
commit 3221fc972e
Signed by: nephatrine
GPG Key ID: 59D70EC2E4AAB4D0
16 changed files with 131 additions and 86 deletions

View File

@ -1,6 +1,11 @@
# SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
.git
.gitea
.gitignore
.reuse
LICENSES
LICENSE.md
README.md
docker-compose.yml

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2023 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
name: Build Container Image
run-name: ${{ gitea.actor }} pushed to ${{ gitea.repository }}:${{ gitea.ref_name }}
on:
@ -10,27 +14,37 @@ jobs:
runs-on: nephnet-amd64
steps:
- name: Checkout Repository
uses: https://gitea.com/actions/checkout@v3
- name: Docker Build
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-master}
docker build --pull -t code.nephatrine.net/nephnet/nginx-php:${BRANCH}-cached --target builder ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/nginx-php:${BRANCH}-amd64 ${{ gitea.workspace }}
uses: https://gitea.com/actions/checkout@v4
- name: BuildX Setup
uses: https://github.com/docker/setup-buildx-action@v3
- name: Docker Login
uses: https://github.com/docker/login-action@v3
if: gitea.ref_name == 'master' || gitea.ref_name == ''
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
- name: Build & Push (Master)
uses: https://github.com/docker/build-push-action@v5
if: gitea.ref_name == 'master' || gitea.ref_name == ''
with:
context: .
platforms: linux/amd64
provenance: false
pull: true
push: true
tags: code.nephatrine.net/nephnet/nginx-php:latest-amd64
cache-from: type=registry,ref=code.nephatrine.net/nephnet/nginx-php-cache:latest-amd64
cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=code.nephatrine.net/nephnet/nginx-php-cache:latest-amd64,mode=max
- name: Build & Push (Branch)
if: gitea.ref_name != 'master' && gitea.ref_name != ''
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-master}
docker push code.nephatrine.net/nephnet/nginx-php:${BRANCH}-amd64
export BRANCH=${BRANCH:-unknown}
docker buildx build --pull -t code.nephatrine.net/nephnet/nginx-php:${BRANCH}-latest-amd64 --platform linux/amd64 ${{ gitea.workspace }}
- name: Notify Discord
uses: https://github.com/sarisia/actions-status-discord@v1
if: always()
if: failure() || gitea.event_name != 'schedule'
with:
title: "Container Build (X86_64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
@ -39,101 +53,66 @@ jobs:
runs-on: nephnet-arm64
steps:
- name: Checkout Repository
uses: https://gitea.com/actions/checkout@v3
- name: Docker Build
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-master}
docker build --pull -t code.nephatrine.net/nephnet/nginx-php:${BRANCH}-cached --target builder ${{ gitea.workspace }}
docker build --pull -t code.nephatrine.net/nephnet/nginx-php:${BRANCH}-arm64v8 ${{ gitea.workspace }}
uses: https://gitea.com/actions/checkout@v4
- name: BuildX Setup
uses: https://github.com/docker/setup-buildx-action@v3
- name: Docker Login
uses: https://github.com/docker/login-action@v3
if: gitea.ref_name == 'master' || gitea.ref_name == ''
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Push
- name: Build & Push (Master)
uses: https://github.com/docker/build-push-action@v5
if: gitea.ref_name == 'master' || gitea.ref_name == ''
with:
context: .
platforms: linux/arm64/v8
provenance: false
pull: true
push: true
tags: code.nephatrine.net/nephnet/nginx-php:latest-arm64
cache-from: type=registry,ref=code.nephatrine.net/nephnet/nginx-php-cache:latest-arm64
cache-to: type=registry,image-manifest=true,oci-mediatypes=true,ref=code.nephatrine.net/nephnet/nginx-php-cache:latest-arm64,mode=max
- name: Build & Push (Branch)
if: gitea.ref_name != 'master' && gitea.ref_name != ''
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-master}
docker push code.nephatrine.net/nephnet/nginx-php:${BRANCH}-arm64v8
export BRANCH=${BRANCH:-unknown}
docker buildx build --pull -t code.nephatrine.net/nephnet/nginx-php:${BRANCH}-latest-arm64 --platform linux/arm64/v8 ${{ gitea.workspace }}
- name: Notify Discord
uses: https://github.com/sarisia/actions-status-discord@v1
if: always()
if: failure() || gitea.event_name != 'schedule'
with:
title: "Container Build (AARCH64)"
webhook: ${{ secrets.DISCORD_WEBHOOK_BUILD }}
build_manifest:
if: gitea.ref_name == 'master' || gitea.ref_name == ''
needs: [build_amd64, build_arm64]
runs-on: nephnet
steps:
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Manifest
run: |
export BRANCH=${GITHUB_REF##*/}
export BRANCH=${BRANCH:-master}
docker manifest create code.nephatrine.net/nephnet/nginx-php:${BRANCH} --amend code.nephatrine.net/nephnet/nginx-php:${BRANCH}-amd64 --amend code.nephatrine.net/nephnet/nginx-php:${BRANCH}-arm64v8
docker manifest push --purge code.nephatrine.net/nephnet/nginx-php:${BRANCH}
publish_amd64:
if: gitea.ref_name == 'master' || gitea.ref_name == ''
needs: [build_amd64]
runs-on: nephnet-amd64
steps:
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Push
run: |
docker tag code.nephatrine.net/nephnet/nginx-php:master-amd64 nephatrine/nginx-php:latest-amd64
docker push nephatrine/nginx-php:latest-amd64
publish_arm64:
if: gitea.ref_name == 'master' || gitea.ref_name == ''
needs: [build_arm64]
runs-on: nephnet-arm64
steps:
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Push
run: |
docker tag code.nephatrine.net/nephnet/nginx-php:master-arm64v8 nephatrine/nginx-php:latest-arm64v8
docker push nephatrine/nginx-php:latest-arm64v8
publish_manifest:
needs: [publish_amd64, publish_arm64]
runs-on: nephnet
steps:
- name: Check Base Image
if: gitea.event_name == 'schedule'
uses: https://github.com/lucacome/docker-image-update-checker@v1
id: checkbase
with:
base-image: nephatrine/nginx-ssl:latest
base-image: nephatrine/alpine-s6:latest
image: nephatrine/nginx-php:latest
platforms: linux/amd64
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
registry: code.nephatrine.net
username: ${{ gitea.actor }}
password: ${{ secrets.PACKAGER_TOKEN }}
- name: Docker Login
uses: https://github.com/docker/login-action@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
- name: Docker Manifest
run: |
docker manifest create nephatrine/nginx-php:8.2.13 --amend nephatrine/nginx-php:latest-amd64 --amend nephatrine/nginx-php:latest-arm64v8
docker manifest create nephatrine/nginx-php:8.2 --amend nephatrine/nginx-php:latest-amd64 --amend nephatrine/nginx-php:latest-arm64v8
docker manifest create nephatrine/nginx-php:8 --amend nephatrine/nginx-php:latest-amd64 --amend nephatrine/nginx-php:latest-arm64v8
docker manifest create nephatrine/nginx-php:latest --amend nephatrine/nginx-php:latest-amd64 --amend nephatrine/nginx-php:latest-arm64v8
docker manifest push --purge nephatrine/nginx-php:8.2.13
docker manifest push --purge nephatrine/nginx-php:8.2
docker manifest push --purge nephatrine/nginx-php:8
docker manifest push --purge nephatrine/nginx-php:latest
run: docker buildx imagetools create -t code.nephatrine.net/nephnet/nginx-php:latest -t nephatrine/nginx-php:latest -t nephatrine/nginx-php:8.2.16 -t nephatrine/nginx-php:8.2 -t nephatrine/nginx-php:8 code.nephatrine.net/nephnet/nginx-php:latest-amd64 code.nephatrine.net/nephnet/nginx-php:latest-arm64
- name: Notify Discord
if: gitea.event_name != 'schedule' || steps.checkbase.outputs.needs-updating == 'true'
uses: https://github.com/sarisia/actions-status-discord@v1
@ -143,10 +122,16 @@ jobs:
nodetail: true
webhook: ${{ secrets.DISCORD_WEBHOOK_PACKAGE }}
- name: Checkout Repository
uses: https://gitea.com/actions/checkout@v3
uses: https://gitea.com/actions/checkout@v4
- name: Docker Describe
uses: https://github.com/peter-evans/dockerhub-description@v3
with:
username: ${{ secrets.DOCKER_USER }}
password: ${{ secrets.DOCKER_PASS }}
repository: nephatrine/nginx-php
- name: Notify Discord
uses: https://github.com/sarisia/actions-status-discord@v1
if: failure()
with:
title: "Container Publish"
webhook: ${{ secrets.DISCORD_WEBHOOK_PACKAGE }}

3
.gitignore vendored
View File

@ -1,3 +0,0 @@
sign-build.sh
test-build.sh
fix-perms.sh

8
.reuse/dep5 Normal file
View File

@ -0,0 +1,8 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: docker-nginx-php
Upstream-Contact: Daniel Wolf <nephatrine@gmail.com>
Source: https://code.nephatrine.net/NephNET/docker-nginx-php
Files: override/etc/s6-overlay/*
Copyright: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
License: ISC

View File

@ -1,4 +1,8 @@
FROM nephatrine/nxbuilder:alpine AS builder
# SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
FROM code.nephatrine.net/nephnet/nxb-alpine:latest AS builder
RUN echo "====== INSTALL LIBRARIES ======" \
&& apk add --no-cache \
@ -7,7 +11,7 @@ RUN echo "====== INSTALL LIBRARIES ======" \
libzip-dev mariadb-dev oniguruma-dev re2c readline-dev sqlite-dev \
tidyhtml-dev yaml-dev
ARG PHP_VERSION=PHP-8.2.13
ARG PHP_VERSION=PHP-8.2.16
RUN git -C /root clone -b "$PHP_VERSION" --single-branch --depth=1 https://github.com/php/php-src.git
RUN echo "====== COMPILE PHP ======" \
@ -75,7 +79,7 @@ RUN echo "====== UPDATE PEAR ======" \
&& pear update-channels && pear upgrade --force \
&& yes '' | pecl install yaml
FROM nephatrine/nginx-ssl:latest
FROM code.nephatrine.net/nephnet/nginx-ssl:latest
LABEL maintainer="Daniel Wolf <nephatrine@gmail.com>"
RUN echo "====== INSTALL PACKAGES ======" \

View File

@ -1,4 +1,4 @@
Copyright © 2023 Daniel Wolf <<nephatrine@gmail.com>>
Copyright © 2018 - 2024 Daniel Wolf <<nephatrine@gmail.com>>
**Permission to use, copy, modify, and distribute this software for any
purpose with or without fee is hereby granted, provided that the above

8
LICENSES/ISC.txt Normal file
View File

@ -0,0 +1,8 @@
ISC License:
Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
Copyright (c) 1995-2003 by Internet Software Consortium
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 Daniel Wolf <nephatrine@gmail.com>
SPDX-License-Identifier: ISC
-->
[Git](https://code.nephatrine.net/NephNET/docker-nginx-php/src/branch/master) |
[Docker](https://hub.docker.com/r/nephatrine/nginx-php/) |
[unRAID](https://code.nephatrine.net/NephNET/unraid-containers)
@ -7,7 +13,7 @@
This docker container manages the NGINX application with PHP support for web
development or application hosting.
The `latest` tag points to version `8.2.13` and this is the only image actively
The `latest` tag points to version `8.2.16` and this is the only image actively
being updated. There are tags for older versions, but these may no longer be
using the latest NGINX version or Alpine version and packages.

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2023 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
services:
php:
build: .

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
/mnt/config/log/php-error.log /mnt/config/log/php-mail.log {
missingok
notifempty

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
/mnt/config/log/php-fpm-access.log /mnt/config/log/php-fpm-error.log /mnt/config/log/php-fpm-slow.log {
missingok
notifempty

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
#
# SPDX-License-Identifier: ISC
server {
server_name _;
include /mnt/config/etc/nginx.d/_server_local.inc;

View File

@ -1,3 +1,7 @@
; SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
;
; SPDX-License-Identifier: ISC
;;;;;;;;;;;;;;;;;;
; Global Options ;
;;;;;;;;;;;;;;;;;;

View File

@ -1,3 +1,7 @@
; SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
;
; SPDX-License-Identifier: ISC
[www]
user = guardian
group = users

View File

@ -1,3 +1,7 @@
; SPDX-FileCopyrightText: 2018 - 2024 Daniel Wolf <nephatrine@gmail.com>
;
; SPDX-License-Identifier: ISC
[PHP]
error_log = /mnt/config/log/php-error.log
expose_php = Off