Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
6109b1c
Create build setup for App images
back-2-95 Aug 16, 2023
f2c0401
Add default value for PHP_SENDMAIL_PATH
back-2-95 Aug 16, 2023
36ef0e5
Revert back permissions test
back-2-95 Aug 16, 2023
6d8d266
New druidfi/app image, mostly working
back-2-95 Aug 16, 2023
b4e4b28
App image: use doas instead of sudo
back-2-95 Aug 17, 2023
640c28a
App image: add checksum for cert & combine copy lines
back-2-95 Aug 17, 2023
f124058
Move default value for sendmail_path to docker-php-ext-zzz-dynamic.in…
back-2-95 Aug 17, 2023
5af4519
Added openssh-client to app image
back-2-95 Aug 17, 2023
bbc9712
Move labels to docker-bake.hcl for Misc images
back-2-95 Aug 17, 2023
f0943bc
Move labels to docker-bake.hcl for Db images
back-2-95 Aug 17, 2023
2ba79e1
Move labels to docker-bake.hcl for Nginx images
back-2-95 Aug 17, 2023
2743b42
Move labels to docker-bake.hcl for PHP images
back-2-95 Aug 17, 2023
f29780f
Remove symfony image as not used anywhere
back-2-95 Aug 17, 2023
1b26940
Remove debug image as related to removed Symfony images
back-2-95 Aug 17, 2023
15fd2a3
Move doas.conf to file
back-2-95 Aug 17, 2023
2f10712
Remove removed makefile loads
back-2-95 Aug 17, 2023
e797c9b
app image: refactor a bit
back-2-95 Aug 18, 2023
4d0b0cd
Add chmods to ADD commands
back-2-95 Aug 18, 2023
ce5c070
Make envplate builder shorter
back-2-95 Aug 21, 2023
81b0450
App image: run nginx also as non-root
back-2-95 Aug 21, 2023
a3c013f
Cleanup build & test for php images
back-2-95 Sep 4, 2023
b895c79
SimpleSAMLphp 2.0.6
back-2-95 Sep 8, 2023
2634062
Alpine 3.18.4
back-2-95 Oct 2, 2023
39214f8
Merge branch 'main' of github.com:druidfi/docker-images into app-image
back-2-95 Oct 5, 2023
545e098
Merge branch 'main' of github.com:druidfi/docker-images into app-image
back-2-95 Oct 5, 2023
b7aefc2
Merge branch 'main' of github.com:druidfi/docker-images into app-image
back-2-95 Nov 24, 2023
bedb678
Update PHP 8.3 stuff
back-2-95 Nov 24, 2023
fef3593
Escape PHP_SENDMAIL_PATH default value
back-2-95 Nov 24, 2023
6d08fa5
Copy envplate from amazeeio/envplate:v1.0.3
back-2-95 Nov 24, 2023
1ef30ad
Revert escaping
back-2-95 Nov 24, 2023
c2698a4
Merge branch 'main' of github.com:druidfi/docker-images into app-image
back-2-95 Feb 9, 2024
f55f6f5
Prepare for Composer 2.7
back-2-95 Feb 9, 2024
9846c2e
Merge branch 'main' of github.com:druidfi/docker-images into app-image
back-2-95 May 11, 2024
0a77597
Merge branch 'main' of github.com:druidfi/docker-images into app-image
back-2-95 Nov 22, 2024
ca3b775
Update App image with latest PHP
back-2-95 Nov 22, 2024
06a9753
Merge branch 'main' of github.com:druidfi/docker-images into app-image
back-2-95 Nov 22, 2024
a188d3f
Merge branch 'main' of github.com:druidfi/docker-images into app-image
back-2-95 Mar 26, 2026
6c64cd5
App image: make build pass
back-2-95 Mar 26, 2026
583121f
App image: updates, tests, workflow, fastfetch, helper
back-2-95 Mar 26, 2026
8daa6ba
Update confs and entrypoint scripts
back-2-95 Mar 26, 2026
1c24d14
Fix ascii
back-2-95 Mar 26, 2026
b807844
Update PHP confs
back-2-95 Mar 26, 2026
75c083f
Make mariadb command work
back-2-95 Mar 26, 2026
f589e8f
Update Nginx conf
back-2-95 Mar 26, 2026
fd13269
Add unzip wrapper and make it executable
back-2-95 Mar 26, 2026
64b8823
Make build.mk similar to others
back-2-95 Mar 26, 2026
6560458
Add more packages + Add Composer keys
back-2-95 Mar 26, 2026
bba87c2
Update CLAUDE.md
back-2-95 Mar 27, 2026
53869a3
Remove msgpack mysqli extensions as we don't need them
back-2-95 Mar 27, 2026
540c735
Add igbinary to Drupal php images
back-2-95 Mar 27, 2026
59c0f80
Add gdpr-dump to app image
back-2-95 Mar 27, 2026
69fff29
Leave only Azure MySQL Flexible Server certificate
back-2-95 Mar 27, 2026
e7e46e4
CONFIGURATION.md
back-2-95 Mar 27, 2026
6a236be
Add test Docker Compose setup for app image
back-2-95 Mar 27, 2026
1ff342c
Remove the mariadb wrapper
back-2-95 Mar 27, 2026
3bc3d26
Remove the mariadb wrapper
back-2-95 Mar 27, 2026
71ab498
More
back-2-95 Mar 28, 2026
3832910
Add baseline drush.yml
back-2-95 Mar 28, 2026
7907bac
Fix file permissions
back-2-95 Mar 30, 2026
b3dc9c9
Add Drupal db development values
back-2-95 Mar 31, 2026
b899015
Add missing entrypoint
back-2-95 Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions .github/workflows/nightly-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,45 @@ jobs:
--set "*.cache-from=type=gha,scope=php" \
--set "*.cache-to=type=gha,scope=php,mode=max"

app:
name: App images
runs-on: ubuntu-24.04

steps:
- uses: actions/checkout@v6

- name: Set up QEMU
uses: docker/setup-qemu-action@v4
with:
platforms: amd64,arm64

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4

- name: Login to GHCR
uses: docker/login-action@v4
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Resolve PHP FPM minor versions
id: versions
run: |
echo "php83_minor=$(bin/helper php-fpm-minor 8.3)" >> "$GITHUB_OUTPUT"
echo "php84_minor=$(bin/helper php-fpm-minor 8.4)" >> "$GITHUB_OUTPUT"
echo "php85_minor=$(bin/helper php-fpm-minor 8.5)" >> "$GITHUB_OUTPUT"

- name: Build and push App images
env:
PHP83_MINOR: ${{ steps.versions.outputs.php83_minor }}
PHP84_MINOR: ${{ steps.versions.outputs.php84_minor }}
PHP85_MINOR: ${{ steps.versions.outputs.php85_minor }}
run: |
docker buildx bake -f app/docker-bake.hcl --pull --push \
--set "*.cache-from=type=gha,scope=app" \
--set "*.cache-to=type=gha,scope=app,mode=max"

nginx:
name: Nginx images
runs-on: ubuntu-24.04
Expand Down
2 changes: 2 additions & 0 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ make run-frankenphp-tests # Run FrankenPHP image tests

PHP 8.5 images exist but are not marked `latest` — PHP 8.5 is not yet considered ready for Drupal projects.

See [CONFIGURATION.md](CONFIGURATION.md) for PHP extensions, binaries, certificates, and PHP ini settings across all images.

### Helper & Sidecar Images

#### Nginx (`nginx/`)
Expand Down
126 changes: 126 additions & 0 deletions CONFIGURATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# PHP Image Configuration

Reference for PHP extensions, binaries, certificates, and PHP ini settings across all PHP images.

## PHP Settings

### Static Settings

Hardcoded in `php/rootfs/etc/php/conf.d/98_custom.ini` (`php/*` images) and `app/rootfs/usr/local/etc/php/conf.d/docker-php-ext-zzz-custom.ini` (`druidfi/app`).

| Setting | Value | Notes |
|---------|-------|-------|
| `expose_php` | `Off` | |
| `memory_limit` | `512M` | Overridable via env var |
| `date.timezone` | `Europe/Helsinki` | |
| `realpath_cache_size` | `8M` | Default: 4096K |
| `opcache.memory_consumption` | `512` | Default: 128 |
| `opcache.interned_strings_buffer` | `64` | Default: 8 |
| `opcache.max_accelerated_files` | `30000` | Default: 10000 |
| `opcache.enable_file_override` | `1` | Default: 0 |
| `opcache.validate_timestamps` | `1` (dev) / `0` (prod) | Disabled in prod via `99_production.ini` |
| `apc.shm_size` | `64M` | Default: 32M |

### Dynamic Settings (Environment Variables)

Set via env vars at container startup. Template files processed by `ep` (envplate).

| Env Var | Default | PHP Setting | `php/*` images | `druidfi/app` |
|---------|---------|-------------|:--------------:|:-------------:|
| `PHP_MEMORY_LIMIT` | `512M` | `memory_limit` | ✓ | ✓ |
| `PHP_POST_MAX_SIZE` | `32M` | `post_max_size` | ✓ | ✓ |
| `PHP_UPLOAD_MAX_FILESIZE` | `32M` | `upload_max_filesize` | ✓ | ✓ |
| `PHP_MAX_EXECUTION_TIME` | `180` | `max_execution_time` | — | ✓ |
| `PHP_MAX_INPUT_VARS` | `2000` | `max_input_vars` | — | ✓ |
| `PHP_DISPLAY_ERRORS` | `On` | `display_errors` | — | ✓ |
| `PHP_SENDMAIL_PATH` | `msmtp -t` / `sendmail -S host.docker.internal:1025 -t` | `sendmail_path` | ✓ | ✓ |

### Xdebug

Disabled by default. Set `XDEBUG_ENABLE=true` to enable at container startup.

| Setting | Value |
|---------|-------|
| `xdebug.mode` | `debug` |
| `xdebug.client_host` | `host.docker.internal` |
| `xdebug.idekey` | `PHPSTORM` |
| `xdebug.log` | `/tmp/xdebug.log` |

## PHP Extensions

Extensions accumulate across image layers (`php` → `php-fpm` → `drupal` → `drupal-web`). `druidfi/app` builds on the official `php:fpm-alpine` base and uses `mlocati/php-extension-installer`.

| Extension | Type | `druidfi/php` | `druidfi/php-fpm` | `druidfi/drupal` | `druidfi/drupal-web` | `druidfi/app` |
|-----------|------|:-------------:|:-----------------:|:----------------:|:--------------------:|:-------------:|
| curl | core | ✓ | ✓ | ✓ | ✓ | ✓ |
| fileinfo | core | ✓ | ✓ | ✓ | ✓ | ✓ |
| iconv | core (gnu-libiconv) | ✓ | ✓ | ✓ | ✓ | ✓ |
| mbstring | core | ✓ | ✓ | ✓ | ✓ | ✓ |
| opcache | core | ✓ | ✓ | ✓ | ✓ | ✓ |
| openssl | core | ✓ | ✓ | ✓ | ✓ | ✓ |
| phar | core | ✓ | ✓ | ✓ | ✓ | ✓ |
| session | core | ✓ | ✓ | ✓ | ✓ | ✓ |
| zip | core | ✓ | ✓ | ✓ | ✓ | ✓ |
| apcu | PECL | ✓ | ✓ | ✓ | ✓ | ✓ |
| imagick | PECL | ✓ | ✓ | ✓ | ✓ | ✓ |
| redis | PECL | ✓ | ✓ | ✓ | ✓ | ✓ |
| uploadprogress | PECL | ✓ | ✓ | ✓ | ✓ | ✓ |
| xdebug | PECL | ✓ | ✓ | ✓ | ✓ | ✓ |
| bcmath | core | — | — | ✓ | ✓ | ✓ |
| ctype | core | — | — | ✓ | ✓ | ✓ |
| dom | core | — | — | ✓ | ✓ | ✓ |
| exif | core | — | — | ✓ | ✓ | ✓ |
| gd | core | — | — | ✓ | ✓ | ✓ |
| intl | core | — | — | ✓ | ✓ | — |
| pdo | core | — | — | ✓ | ✓ | ✓ |
| pdo_mysql | core | — | — | ✓ | ✓ | ✓ |
| simplexml | core | — | — | ✓ | ✓ | ✓ |
| soap | core | — | — | ✓ | ✓ | — |
| sockets | core | — | — | ✓ | ✓ | ✓ |
| sodium | core | — | — | ✓ | ✓ | ✓ |
| tokenizer | core | — | — | ✓ | ✓ | ✓ |
| xml | core | — | — | ✓ | ✓ | ✓ |
| xmlreader | core | — | — | ✓ | ✓ | ✓ |
| xmlwriter | core | — | — | ✓ | ✓ | ✓ |
| igbinary | PECL | — | — | ✓ | ✓ | ✓ |

> PHP 8.5 omits `opcache` (not yet in Alpine edge/testing). `intl` and `soap` are absent in `druidfi/app` — not in the official `php:fpm-alpine` base and not explicitly installed. `igbinary` enables binary serialization for the Redis/Valkey phpredis extension (used with the Drupal redis module).

## Installed Binaries

| Binary | Source | `druidfi/php` | `druidfi/php-fpm` | `druidfi/drupal` | `druidfi/drupal-web` | `druidfi/app` |
|--------|--------|:-------------:|:-----------------:|:----------------:|:--------------------:|:-------------:|
| `php` | Alpine apk / official base | ✓ | ✓ | ✓ | ✓ | ✓ |
| `composer` | `composer/composer:2.9-bin` | ✓ | ✓ | ✓ | ✓ | ✓ |
| `ep` | `amazeeio/envplate:26.3.0` | ✓ | ✓ | ✓ | ✓ | ✓ |
| `entrypoint` | `rootfs/usr/local/bin/` | ✓ | ✓ | ✓ | ✓ | ✓ |
| `fix-permissions` | `rootfs/usr/local/bin/` | ✓ | ✓ | ✓ | ✓ | ✓ |
| `bash` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `curl` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `git` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `make` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `msmtp` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `ssmtp` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `nano` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `tar` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `tini` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `fastfetch` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `patch` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `unzip` | Alpine apk | ✓ | ✓ | ✓ | ✓ | ✓ |
| `sudo` | Alpine apk | ✓ | ✓ | ✓ | ✓ | — |
| `doas` | Alpine apk | — | — | — | — | ✓ |
| `php-fpm` | Alpine apk / official base | — | ✓ | ✓ | ✓ | ✓ |
| `openssh` / `openssh-client` | Alpine apk | — | — | ✓ | ✓ | ✓ |
| `rsync` | Alpine apk | — | — | ✓ | ✓ | ✓ |
| `mariadb-client` | Alpine apk | — | — | ✓ | ✓ | ✓ |
| `install-php-extensions` | `mlocati/php-extension-installer` | — | — | — | — | ✓ |
| `nginx` | Alpine apk | — | — | — | ✓ | ✓ |
| `gdpr-dump` | GitHub releases (Smile-SA) | — | — | — | ✓ | ✓ |

## Certificates

Installed to `/opt/ssl/` in all images (from `rootfs/opt/ssl/` in the repo).

| File | `druidfi/php` | `druidfi/php-fpm` | `druidfi/drupal` | `druidfi/drupal-web` | `druidfi/app` | Purpose |
|------|:-------------:|:-----------------:|:----------------:|:--------------------:|:-------------:|---------|
| `DigiCertGlobalRootCA.crt.pem` | ✓ | ✓ | ✓ | ✓ | ✓ | Azure MySQL Flexible Server |
6 changes: 6 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ else
CURRENT_ARCH := amd64
endif

PHP_VERSIONS := 8.3 8.4 8.5

include $(PROJECT_DIR)/make/*.mk

PHONY += help
Expand Down Expand Up @@ -39,6 +41,10 @@ define get_php_minor
$(shell bin/helper phpminor $1)
endef

define get_php_fpm_minor
$(shell bin/helper php-fpm-minor $1)
endef

define get_frankenphp_version
$(shell bin/helper frankenphpversion)
endef
Expand Down
61 changes: 61 additions & 0 deletions app/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# syntax=docker/dockerfile:1

#
# App image
#
FROM php-base

ENV KIND=druid-docker-image \
APP_PATH=/app \
DEFAULT_USER=druid \
DEFAULT_USER_UID=1000 \
APP_ENV=prod \
COMPOSER_HOME=/home/druid/.composer \
COMPOSER_AUDIT_ABANDONED=report \
COMPOSER_FUND=0 \
PATH="${PATH}:/home/druid/.composer/vendor/bin:/app/vendor/bin" \
DRUPAL_DB_NAME=drupal \
DRUPAL_DB_USER=drupal \
DRUPAL_DB_PASS=drupal \
DRUPAL_DB_HOST=db \
DRUPAL_DB_PORT=3306

WORKDIR ${APP_PATH}

COPY --link --from=composer/composer:2.9-bin /composer /usr/local/bin/
COPY --link --from=amazeeio/envplate:26.3.0 /usr/local/bin/ep /usr/local/bin/
COPY --link --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/

RUN apk --no-cache add \
bash curl doas fastfetch git make \
mariadb-client mariadb-connector-c \
msmtp nano nginx openssh-client patch rsync ssmtp tar tini unzip && \
install-php-extensions \
apcu bcmath exif gd igbinary imagick opcache pdo_mysql redis sockets uploadprogress xdebug zip && \
addgroup -S ${DEFAULT_USER} -g ${DEFAULT_USER_UID} && \
adduser -D -S -G ${DEFAULT_USER} -u ${DEFAULT_USER_UID} -s /bin/bash ${DEFAULT_USER} && \
adduser ${DEFAULT_USER} www-data && \
mkdir -p /home/${DEFAULT_USER}/.composer && \
curl -sSf https://composer.github.io/releases.pub -o /home/${DEFAULT_USER}/.composer/keys.tags.pub && \
curl -sSf https://composer.github.io/snapshots.pub -o /home/${DEFAULT_USER}/.composer/keys.dev.pub && \
chown -R ${DEFAULT_USER}:${DEFAULT_USER} /home/${DEFAULT_USER} ${APP_PATH} && \
chmod -R a+rwx /var/lib/nginx /var/log/nginx && \
curl -sSL https://github.com/Smile-SA/gdpr-dump/releases/latest/download/gdpr-dump.phar -o /usr/local/bin/gdpr-dump && \
chmod +x /usr/local/bin/gdpr-dump && \
gdpr-dump --version

COPY --chown=${DEFAULT_USER}:${DEFAULT_USER} rootfs/home/druid/ /home/druid
COPY rootfs/entrypoints/ /entrypoints/
COPY rootfs/etc/ /etc/
COPY rootfs/usr/local/ /usr/local/

# https://learn.microsoft.com/en-us/azure/mysql/flexible-server/how-to-connect-tls-ssl
RUN mkdir -p /opt/ssl
COPY --chmod=644 rootfs/opt/ssl/DigiCertGlobalRootCA.crt.pem /opt/ssl/

EXPOSE 8080/tcp

ENTRYPOINT ["/sbin/tini", "--"]
CMD ["entrypoint"]
USER ${DEFAULT_USER}
SHELL ["/bin/bash", "-c"]
28 changes: 28 additions & 0 deletions app/build.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
BAKE_FLAGS := --pull --no-cache --push

PHONY += --app-bake
--app-bake:
@PHP83_MINOR=$(call get_php_fpm_minor,8.3) PHP84_MINOR=$(call get_php_fpm_minor,8.4) PHP85_MINOR=$(call get_php_fpm_minor,8.5) \
docker buildx bake -f app/docker-bake.hcl $(BAKE_FLAGS)

PHONY += app-bake-all
app-bake-all: buildx-create --app-bake buildx-destroy ## Bake all APP images

PHONY += app-bake-print
app-bake-print: BAKE_FLAGS := --print
app-bake-print: --app-bake ## Print bake plan for App images

PHONY += app-bake-local
app-bake-local: BAKE_FLAGS := --pull --progress plain --no-cache --load --set *.platform=linux/$(CURRENT_ARCH)
app-bake-local: --app-bake run-app-tests ## Bake all App images locally

PHONY += app-bake-test
app-bake-test: BAKE_FLAGS := --pull --progress plain --no-cache
app-bake-test: --app-bake run-app-tests ## CI test for App images

PHONY += run-app-tests
run-app-tests:
@for v in $(PHP_VERSIONS); do \
printf "\n\e[0;33mRun tests in ghcr.io/druidfi/app:php-$$v\e[0m\n\n"; \
docker run --rm -t -v $(CURDIR)/tests/scripts:/app/scripts ghcr.io/druidfi/app:php-$$v /app/scripts/tests.sh || exit 1; \
done
92 changes: 92 additions & 0 deletions app/docker-bake.hcl
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
variable "REPO_BASE" {
default = "druidfi/app"
}

variable "PHP83_MINOR" {}
variable "PHP84_MINOR" {}
variable "PHP85_MINOR" {}

group "default" {
targets = ["php-83", "php-84", "php-85"]
}

target "common" {
platforms = ["linux/amd64", "linux/arm64"]
labels = {
"org.opencontainers.image.url" = "https://github.com/druidfi/docker-images"
"org.opencontainers.image.source" = "https://github.com/druidfi/docker-images"
"org.opencontainers.image.licenses" = "MIT"
"org.opencontainers.image.vendor" = "Druid Oy"
"org.opencontainers.image.created" = timestamp()
}
}

#
# PHP
#

target "php" {
context = "./app"
args = {
PHP_MAJOR_VERSION = 8
}
}

target "php-83" {
inherits = ["common", "php"]
args = {
PHP_VERSION = "8.3"
PHP_SHORT_VERSION = "83"
}
contexts = {
php-base = "docker-image://php:${PHP83_MINOR}-fpm-alpine"
}
labels = {
"org.opencontainers.image.title" = "Druid App image with PHP 8.3"
"org.opencontainers.image.description" = "Base PHP 8.3 image"
}
tags = [
"ghcr.io/${REPO_BASE}:php-8.3",
"ghcr.io/${REPO_BASE}:php-${PHP83_MINOR}",
]
}

target "php-84" {
inherits = ["common", "php"]
args = {
PHP_VERSION = "8.4"
PHP_SHORT_VERSION = "84"
}
contexts = {
php-base = "docker-image://php:${PHP84_MINOR}-fpm-alpine"
}
labels = {
"org.opencontainers.image.title" = "Druid App image with PHP 8.4"
"org.opencontainers.image.description" = "Base PHP 8.4 image"
}
tags = [
"ghcr.io/${REPO_BASE}:php-8",
"ghcr.io/${REPO_BASE}:php-8.4",
"ghcr.io/${REPO_BASE}:php-${PHP84_MINOR}",
"ghcr.io/${REPO_BASE}:latest",
]
}

target "php-85" {
inherits = ["common", "php"]
args = {
PHP_VERSION = "8.5"
PHP_SHORT_VERSION = "85"
}
contexts = {
php-base = "docker-image://php:${PHP85_MINOR}-fpm-alpine"
}
labels = {
"org.opencontainers.image.title" = "Druid App image with PHP 8.5"
"org.opencontainers.image.description" = "Base PHP 8.5 image"
}
tags = [
"ghcr.io/${REPO_BASE}:php-8.5",
"ghcr.io/${REPO_BASE}:php-${PHP85_MINOR}",
]
}
4 changes: 4 additions & 0 deletions app/rootfs/entrypoints/00-umask.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/bash

# Make sure that new files generated by Docker have group write permission
umask 002
Loading
Loading