From 030c93fcfded9380220bdef61e9e1f4bfe7ea06f Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:32 +0100 Subject: [PATCH 001/283] armhf pushed ./deployment/images/httpd --- docker-compose.template | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.template b/docker-compose.template index 9fc9575a2..73494b322 100644 --- a/docker-compose.template +++ b/docker-compose.template @@ -1,4 +1,4 @@ -version: "3.9" +version: "2.4" services: db: @@ -129,4 +129,4 @@ volumes: db-backup: networks: cake: - external: false \ No newline at end of file + external: false From f8781f10d78ddec788a50b8bc0fc171d0f48bf43 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:32 +0100 Subject: [PATCH 002/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/Dockerfile.armhf.sed | 2 ++ deployment/images/mysqldb/Dockerfile.template.sed | 2 ++ 2 files changed, 4 insertions(+) diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 4a63a94cc..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -2,6 +2,8 @@ s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g s/(Dockerfile\.)[^\.]*/\1armhf/g s/%%BALENA_ARCH%%/armhf/g s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g From bf16afb77de68a3d053c28029238a202e539e011 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:32 +0100 Subject: [PATCH 003/283] armhf pushed ./balena-storage --- Dockerfile.armhf | 2 +- balena-storage/Dockerfile.armhf.sed | 2 ++ balena-storage/Dockerfile.template.sed | 2 ++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index fb04f5df1..8d391bd94 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -6,7 +6,7 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn +COPY .yarn yarn RUN apk update \ && apk add --no-cache yarn \ && yarn install --immutable \ diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 4a63a94cc..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -2,6 +2,8 @@ s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g s/(Dockerfile\.)[^\.]*/\1armhf/g s/%%BALENA_ARCH%%/armhf/g s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g From b6664df27f4005ead07e53741f0dacdcd3da7e1b Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:43 +0100 Subject: [PATCH 004/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.armhf | 4 ++-- docker-compose.yml | 26 +++++++++++++------------- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/docker-compose.armhf b/docker-compose.armhf index 4d8953c07..52c1def73 100644 --- a/docker-compose.armhf +++ b/docker-compose.armhf @@ -1,4 +1,4 @@ -version: "3.9" +version: "2.4" services: db: @@ -129,4 +129,4 @@ volumes: db-backup: networks: cake: - external: false \ No newline at end of file + external: false diff --git a/docker-compose.yml b/docker-compose.yml index 8fbfe8d2e..52c1def73 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,16 @@ -version: "3.9" +version: "2.4" services: db: build: x-bake: platforms: - - linux/arm64 + - linux/arm/v7 tags: - ${DOCKER_ORG}/mysqldb:latest - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -29,19 +29,19 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: x-bake: platforms: - - linux/arm64 + - linux/arm/v7 tags: - ${DOCKER_ORG}/php-fpm:latest - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -51,7 +51,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -69,12 +69,12 @@ services: build: x-bake: platforms: - - linux/arm64 + - linux/arm/v7 tags: - ${DOCKER_ORG}/httpd:latest - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -82,7 +82,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -96,17 +96,17 @@ services: build: x-bake: platforms: - - linux/arm64 + - linux/arm/v7 tags: - ${DOCKER_ORG}/balena-storage:latest - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # healthcheck: From 45ccdb238e922df50b9db5f530e76f40e5bc3d76 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:43 +0100 Subject: [PATCH 005/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 80c29c53c7d2d35ab3c5a94e306a5fc190f9b741 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:44 +0100 Subject: [PATCH 006/283] x86_64 pushed ./balena-storage --- Dockerfile.x86_64 | 2 +- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Dockerfile.x86_64 b/Dockerfile.x86_64 index c031f8f6d..d81ca321a 100644 --- a/Dockerfile.x86_64 +++ b/Dockerfile.x86_64 @@ -6,7 +6,7 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn +COPY .yarn yarn RUN apk update \ && apk add --no-cache yarn \ && yarn install --immutable \ diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 9f39dd2b985eb78f3e485102a0994ad068a505d5 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:46 +0100 Subject: [PATCH 007/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.x86_64 | 4 ++-- docker-compose.yml | 24 ++++++++++++------------ 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/docker-compose.x86_64 b/docker-compose.x86_64 index 9659fb516..4f2954632 100644 --- a/docker-compose.x86_64 +++ b/docker-compose.x86_64 @@ -1,4 +1,4 @@ -version: "3.9" +version: "2.4" services: db: @@ -129,4 +129,4 @@ volumes: db-backup: networks: cake: - external: false \ No newline at end of file + external: false diff --git a/docker-compose.yml b/docker-compose.yml index 52c1def73..4f2954632 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,12 +5,12 @@ services: build: x-bake: platforms: - - linux/arm/v7 + - linux/amd64 tags: - ${DOCKER_ORG}/mysqldb:latest - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -29,19 +29,19 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: x-bake: platforms: - - linux/arm/v7 + - linux/amd64 tags: - ${DOCKER_ORG}/php-fpm:latest - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -51,7 +51,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -69,12 +69,12 @@ services: build: x-bake: platforms: - - linux/arm/v7 + - linux/amd64 tags: - ${DOCKER_ORG}/httpd:latest - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -82,7 +82,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -96,17 +96,17 @@ services: build: x-bake: platforms: - - linux/arm/v7 + - linux/amd64 tags: - ${DOCKER_ORG}/balena-storage:latest - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # healthcheck: From 6dd716bbe9019156b9ee258f327334cd616dacbb Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:46 +0100 Subject: [PATCH 008/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 54ed42e064980d2b484f44e434a7b104c73c8533 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:46 +0100 Subject: [PATCH 009/283] aarch64 pushed ./balena-storage --- Dockerfile.aarch64 | 2 +- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 8018c5616..44b99802c 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -6,7 +6,7 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn +COPY .yarn yarn RUN apk update \ && apk add --no-cache yarn \ && yarn install --immutable \ diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 515f6eda3128480452176048a4bdc116e04d0ddf Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:41:48 +0100 Subject: [PATCH 010/283] Updated Templates --- docker-compose.yml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 4f2954632..f20bd97ee 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,12 +5,12 @@ services: build: x-bake: platforms: - - linux/amd64 + - linux/arm64 tags: - ${DOCKER_ORG}/mysqldb:latest - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -29,19 +29,19 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: x-bake: platforms: - - linux/amd64 + - linux/arm64 tags: - ${DOCKER_ORG}/php-fpm:latest - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -51,7 +51,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -69,12 +69,12 @@ services: build: x-bake: platforms: - - linux/amd64 + - linux/arm64 tags: - ${DOCKER_ORG}/httpd:latest - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -82,7 +82,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -96,17 +96,17 @@ services: build: x-bake: platforms: - - linux/amd64 + - linux/arm64 tags: - ${DOCKER_ORG}/balena-storage:latest - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # healthcheck: From 2544df567c230d3bbb068308e033813d5ff4280d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:49:53 +0100 Subject: [PATCH 011/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- BUILD.md | 70 +++++++++++++++++++++++++++++++++ deployment/images/httpd/.env | 2 +- docker-bake.hcl | 75 ++++++++++++++++++++++++++++++++++++ docker-compose.aarch64 | 2 +- docker-compose.template | 26 +------------ 6 files changed, 149 insertions(+), 28 deletions(-) create mode 100644 BUILD.md create mode 100644 docker-bake.hcl diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/BUILD.md b/BUILD.md new file mode 100644 index 000000000..2420cd7d4 --- /dev/null +++ b/BUILD.md @@ -0,0 +1,70 @@ +# Docker Bake Configuration + +The x-bake configuration has been extracted from `docker-compose.yml` to `docker-bake.hcl`. + +## Usage + +### Building with Docker Buildx Bake + +To build all images: +```bash +docker buildx bake -f docker-bake.hcl +``` + +To build a specific service: +```bash +docker buildx bake -f docker-bake.hcl db +docker buildx bake -f docker-bake.hcl php-fpm +docker buildx bake -f docker-bake.hcl httpd +docker buildx bake -f docker-bake.hcl balena-storage +``` + +### Setting Variables + +You can override variables using environment variables or command-line flags: + +```bash +# Using environment variables +export DOCKER_ORG=myorg +export BAKE_TAG=v1.0.0 +export PLATFORM=linux/arm64 +export BALENA_ARCH=aarch64 +docker buildx bake -f docker-bake.hcl + +# Using command-line +docker buildx bake -f docker-bake.hcl \ + --set "*.platform=linux/arm64" \ + --set "db.tags=myorg/mysqldb:v1.0.0" +``` + +### Multi-platform Builds + +To build for multiple platforms: +```bash +docker buildx bake -f docker-bake.hcl \ + --set "*.platform=linux/amd64,linux/arm64" +``` + +### Push to Registry + +To build and push to a registry: +```bash +docker buildx bake -f docker-bake.hcl --push +``` + +## Variables + +- `DOCKER_ORG`: Docker organization/username (default: `betothreeprod`) +- `BAKE_TAG`: Tag for the images (default: `latest`) +- `PLATFORM`: Target platform (default: `linux/amd64`) +- `BALENA_ARCH`: Balena architecture (default: `amd64`) + +## Docker Compose + +The `docker-compose.yml` file has been cleaned up and no longer contains x-bake configuration. You can still use it for local development: + +```bash +docker-compose up -d +``` + +Note: You'll need to use update_templates command line to filter out %%PLATFORM%% and %%BALENA_ARCH%% tags in docker-compose.template to docker-compose.yml. diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/docker-bake.hcl b/docker-bake.hcl new file mode 100644 index 000000000..eadb62c4e --- /dev/null +++ b/docker-bake.hcl @@ -0,0 +1,75 @@ +variable "DOCKER_ORG" { + default = "betothreeprod" +} + +variable "BAKE_TAG" { + default = "latest" +} + +variable "PLATFORM" { + default = "linux/amd64" +} + +variable "BALENA_ARCH" { + default = "amd64" +} + +group "default" { + targets = ["db", "php-fpm", "httpd", "balena-storage"] +} + +target "db" { + context = "deployment/images/mysqldb" + dockerfile = "Dockerfile.${BALENA_ARCH}" + platforms = ["${PLATFORM}"] + tags = [ + "${DOCKER_ORG}/mysqldb:latest", + "${DOCKER_ORG}/mysqldb:${BAKE_TAG}" + ] + args = { + PUID = "1000" + PGID = "1000" + } +} + +target "php-fpm" { + context = "." + dockerfile = "Dockerfile.${BALENA_ARCH}" + platforms = ["${PLATFORM}"] + tags = [ + "${DOCKER_ORG}/php-fpm:latest", + "${DOCKER_ORG}/php-fpm:${BAKE_TAG}" + ] + args = { + PUID = "1000" + PGID = "1000" + MYPHPCMS_DIR = "app/webroot/php-cms" + MYPHPCMS_LOG = "app/tmp/logs" + HTDOCS = "/var/www/html" + } +} + +target "httpd" { + context = "deployment/images/httpd" + dockerfile = "Dockerfile.${BALENA_ARCH}" + platforms = ["${PLATFORM}"] + tags = [ + "${DOCKER_ORG}/httpd:latest", + "${DOCKER_ORG}/httpd:${BAKE_TAG}" + ] + args = { + PUID = "1000" + PGID = "1000" + HTDOCS = "/var/www/html" + } +} + +target "balena-storage" { + context = "balena-storage" + dockerfile = "Dockerfile.${BALENA_ARCH}" + platforms = ["${PLATFORM}"] + tags = [ + "${DOCKER_ORG}/balena-storage:latest", + "${DOCKER_ORG}/balena-storage:${BAKE_TAG}" + ] +} diff --git a/docker-compose.aarch64 b/docker-compose.aarch64 index 8fbfe8d2e..f20bd97ee 100644 --- a/docker-compose.aarch64 +++ b/docker-compose.aarch64 @@ -1,4 +1,4 @@ -version: "3.9" +version: "2.4" services: db: diff --git a/docker-compose.template b/docker-compose.template index 73494b322..93c7cd2ec 100644 --- a/docker-compose.template +++ b/docker-compose.template @@ -1,14 +1,7 @@ version: "2.4" - services: db: build: - x-bake: - platforms: - - %%PLATFORM%% - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb dockerfile: Dockerfile.%%BALENA_ARCH%% args: @@ -34,12 +27,6 @@ services: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - %%PLATFORM%% - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . dockerfile: Dockerfile.%%BALENA_ARCH%% args: @@ -67,12 +54,6 @@ services: - cake httpd: build: - x-bake: - platforms: - - %%PLATFORM%% - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd dockerfile: Dockerfile.%%BALENA_ARCH%% args: @@ -94,12 +75,6 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - %%PLATFORM%% - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage dockerfile: Dockerfile.%%BALENA_ARCH%% image: betothreeprod/balena-storage:latest @@ -109,6 +84,7 @@ services: - %%BALENA_ARCH%%.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h From ac9d8b7d86ae194f80fe0bd6be9278079646a1c9 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:49:54 +0100 Subject: [PATCH 012/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From dec778e6dcea9acb18f4370484c5fdbf02d9b42d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:49:54 +0100 Subject: [PATCH 013/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From f4be7f3b86e076cdea61206484f60383af6724ee Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:50:03 +0100 Subject: [PATCH 014/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.armhf | 26 +--------------------- docker-compose.yml | 42 ++++++++---------------------------- 4 files changed, 12 insertions(+), 60 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/docker-compose.armhf b/docker-compose.armhf index 52c1def73..aa7ca8ea0 100644 --- a/docker-compose.armhf +++ b/docker-compose.armhf @@ -1,14 +1,7 @@ version: "2.4" - services: db: build: - x-bake: - platforms: - - linux/arm/v7 - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb dockerfile: Dockerfile.armhf args: @@ -34,12 +27,6 @@ services: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - linux/arm/v7 - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . dockerfile: Dockerfile.armhf args: @@ -67,12 +54,6 @@ services: - cake httpd: build: - x-bake: - platforms: - - linux/arm/v7 - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd dockerfile: Dockerfile.armhf args: @@ -94,12 +75,6 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - linux/arm/v7 - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest @@ -109,6 +84,7 @@ services: - armhf.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h diff --git a/docker-compose.yml b/docker-compose.yml index f20bd97ee..aa7ca8ea0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,9 @@ version: "2.4" - services: db: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -29,19 +22,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -51,7 +38,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -67,14 +54,8 @@ services: - cake httpd: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -82,7 +63,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -94,21 +75,16 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h From eb7f0c110831320752af4142c07e78f4187b2749 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:50:03 +0100 Subject: [PATCH 015/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 1e5191e07e8276e82eae26dbb4a0ede050ccdc90 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:50:03 +0100 Subject: [PATCH 016/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 622a998a9da60941b5cdfacaa343de31aab7b41a Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:50:06 +0100 Subject: [PATCH 017/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.x86_64 | 26 +------------------------- docker-compose.yml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 35 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/docker-compose.x86_64 b/docker-compose.x86_64 index 4f2954632..0c6214fd0 100644 --- a/docker-compose.x86_64 +++ b/docker-compose.x86_64 @@ -1,14 +1,7 @@ version: "2.4" - services: db: build: - x-bake: - platforms: - - linux/amd64 - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb dockerfile: Dockerfile.x86_64 args: @@ -34,12 +27,6 @@ services: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - linux/amd64 - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . dockerfile: Dockerfile.x86_64 args: @@ -67,12 +54,6 @@ services: - cake httpd: build: - x-bake: - platforms: - - linux/amd64 - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd dockerfile: Dockerfile.x86_64 args: @@ -94,12 +75,6 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - linux/amd64 - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest @@ -109,6 +84,7 @@ services: - x86_64.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h diff --git a/docker-compose.yml b/docker-compose.yml index aa7ca8ea0..0c6214fd0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -22,13 +22,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -38,7 +38,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -55,7 +55,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -63,7 +63,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -76,12 +76,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From a319267220c9238ce257b908ea0866a82046905f Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:50:06 +0100 Subject: [PATCH 018/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From b8fc13b84ceefd8789342c260fd4f5478b8433f7 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:50:06 +0100 Subject: [PATCH 019/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From af30151f33b1dc4777366ee8419e61af7e8cbc49 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:50:09 +0100 Subject: [PATCH 020/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0c6214fd0..92173518b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -22,13 +22,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -38,7 +38,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -55,7 +55,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -63,7 +63,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -76,12 +76,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From 2c06e8b77cf98df7b0646800c6c596353d494bfd Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:59:21 +0100 Subject: [PATCH 021/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- .github/workflows/build.yml | 18 ++++++++++++++++-- deployment/images/httpd/.env | 2 +- docker-compose.aarch64 | 26 +------------------------- 4 files changed, 19 insertions(+), 29 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 358dd65d6..5062c680a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -51,8 +51,22 @@ jobs: - name: Build docker-compose stack env: - ARCH: ${{ matrix.arch }} + BALENA_ARCH: ${{ matrix.arch }} BAKE_TAG: ${{ steps.sanitize.outputs.tag }} run: | - docker buildx bake --push -f "docker-compose.${ARCH}" + case "${BALENA_ARCH}" in: + "armhf") + export PLATFORM="linux/arm/v7" + ;; + "aarch64") + export PLATFORM="linux/arm64" + ;; + "x86_64") + export PLATFORM="linux/amd64" + ;; + *) + export PLATFORM="linux/$(arch)" + ;; + esac + docker buildx bake -f docker-bake.hcl --set "*.platform=${PLATFORM}" docker compose up -d diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/docker-compose.aarch64 b/docker-compose.aarch64 index f20bd97ee..92173518b 100644 --- a/docker-compose.aarch64 +++ b/docker-compose.aarch64 @@ -1,14 +1,7 @@ version: "2.4" - services: db: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb dockerfile: Dockerfile.aarch64 args: @@ -34,12 +27,6 @@ services: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . dockerfile: Dockerfile.aarch64 args: @@ -67,12 +54,6 @@ services: - cake httpd: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd dockerfile: Dockerfile.aarch64 args: @@ -94,12 +75,6 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest @@ -109,6 +84,7 @@ services: - aarch64.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h From 85dde84a3e22ea52a9d7da6aa7b1c6924c69c17e Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:59:21 +0100 Subject: [PATCH 022/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.armhf.sed | 2 -- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From da194c6661584edcd8c47eda3fdca1cb54f77cd1 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 15:59:22 +0100 Subject: [PATCH 023/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.armhf.sed | 2 -- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 36289b391db5378df7d125e9a53072f85c076cba Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:06:50 +0100 Subject: [PATCH 024/283] bake update --- .github/workflows/build.yml | 4 ++-- deploy.sh | 16 +--------------- docker-compose.yml | 16 ++++++++-------- 3 files changed, 11 insertions(+), 25 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5062c680a..5c00368c9 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -54,7 +54,7 @@ jobs: BALENA_ARCH: ${{ matrix.arch }} BAKE_TAG: ${{ steps.sanitize.outputs.tag }} run: | - case "${BALENA_ARCH}" in: + case "${BALENA_ARCH}" in "armhf") export PLATFORM="linux/arm/v7" ;; @@ -65,7 +65,7 @@ jobs: export PLATFORM="linux/amd64" ;; *) - export PLATFORM="linux/$(arch)" + export PLATFORM="linux/$(uname -m)" ;; esac docker buildx bake -f docker-bake.hcl --set "*.platform=${PLATFORM}" diff --git a/deploy.sh b/deploy.sh index 823093852..7e75abc22 100755 --- a/deploy.sh +++ b/deploy.sh @@ -23,21 +23,7 @@ export COLUMNS=0 export LINES=0 export SYSTEMD_NO_WRAP=0 -# Fixes: Agent pid alive -pid="$SSH_AGENT_PID" - -while kill -0 "$pid" 2>/dev/null; do - echo "Agent $pid alive" - sleep 1 -done - -echo "Agent $pid is gone" - -if [ -n "$pid" ]; then - balena_deploy "${BASH_SOURCE[0]}" "$@" -else - update_templates -fi +update_templates if [ -n "$REV" ]; then git add docker-compose.yml diff --git a/docker-compose.yml b/docker-compose.yml index 92173518b..aa7ca8ea0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -22,13 +22,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -38,7 +38,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -55,7 +55,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -63,7 +63,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -76,12 +76,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From e1f220dbabbfbb3ea1f2789558e14227127a7741 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:13:27 +0100 Subject: [PATCH 025/283] armhf pushed ./deployment/images/httpd --- .circleci/config.yml | 165 +++++++++++++++++-------------------------- 1 file changed, 63 insertions(+), 102 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 40a788fc3..888a53592 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,165 +1,126 @@ version: 2.1 orbs: - shellcheck: circleci/shellcheck@1.3.16 + shellcheck: circleci/shellcheck@3.2.0 executors: docker-executor: docker: - - image: cimg/base:2025.11 + - image: cimg/base:2025.01 resource_class: medium commands: - build-multiarch: - parameters: - image: - type: string - workdir: - type: string + setup-buildx: steps: - - checkout - - setup_remote_docker: - version: 20.10.18 - docker_layer_caching: true - - run: - name: Enable QEMU for multi-arch + name: Install Docker Buildx command: | - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + mkdir -p ~/.docker/cli-plugins + BUILDX_VERSION=v0.12.1 + wget -q "https://github.com/docker/buildx/releases/download/${BUILDX_VERSION}/buildx-${BUILDX_VERSION}.linux-amd64" \ + -O ~/.docker/cli-plugins/docker-buildx + chmod +x ~/.docker/cli-plugins/docker-buildx + docker buildx version - run: - name: Login to Docker Hub + name: Create buildx builder command: | - echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + docker buildx create --name multiarch --driver docker-container --use --bootstrap + docker buildx inspect multiarch +jobs: + shellcheck: + docker: + - image: koalaman/shellcheck-alpine:stable + steps: + - checkout - run: - name: Build amd64 + name: Run shellcheck command: | - cd << parameters.workdir >> - docker build \ - --platform linux/amd64 \ - -t "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-x86_64" \ - -f Dockerfile.x86_64 . - docker push "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-x86_64" + find . -type f -name "*.sh" -exec shellcheck --exclude=SC2154,SC1091,SC2034,SC2096,SC2038 {} + + + build-multiarch: + executor: docker-executor + steps: + - checkout + - setup_remote_docker: + version: docker24 + docker_layer_caching: true + + - setup-buildx - run: - name: Build arm64 + name: Login to Docker Hub command: | - cd << parameters.workdir >> - docker build \ - --platform linux/arm64 \ - -t "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-aarch64" \ - -f Dockerfile.aarch64 . - docker push "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-aarch64" + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - run: - name: Build armhf + name: Build and push multi-arch images command: | - cd << parameters.workdir >> - docker build \ - --platform linux/arm/v7 \ - -t "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-armhf" \ - -f Dockerfile.armhf . - docker push "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-armhf" + export DOCKER_ORG=${DOCKER_USER} + export BAKE_TAG=${CIRCLE_TAG} + + echo "Building version: ${BAKE_TAG}" + + # Build for all platforms and push + docker buildx bake -f docker-bake.hcl \ + --set "*.platform=linux/amd64,linux/arm64,linux/arm/v7" \ + --push - run: - name: Create multi-arch manifest + name: Verify images command: | - docker manifest create "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}" \ - "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-x86_64" \ - "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-aarch64" \ - "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-armhf" - - docker manifest push "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}" - - -jobs: - httpd: - executor: docker-executor - steps: - - build-multiarch: - image: httpd - workdir: deployment/images/httpd + echo "Verifying pushed images:" + docker manifest inspect ${DOCKER_USER}/mysqldb:${CIRCLE_TAG} + docker manifest inspect ${DOCKER_USER}/php-fpm:${CIRCLE_TAG} + docker manifest inspect ${DOCKER_USER}/httpd:${CIRCLE_TAG} + docker manifest inspect ${DOCKER_USER}/balena-storage:${CIRCLE_TAG} - mysql: - executor: docker-executor - steps: - - build-multiarch: - image: mysql - workdir: deployment/images/mysql - - php-fpm: - executor: docker-executor - steps: - - build-multiarch: - image: php-fpm - workdir: deployment/images/php-fpm - - build-and-compose: + deploy-compose: executor: docker-executor steps: - checkout - setup_remote_docker: - version: 20.10.18 - docker_layer_caching: true + version: docker24 + - run: name: Login to Docker Hub command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + - run: name: Deploy with docker compose command: | - cd deployment + export BALENA_ARCH=$(uname -m) + echo "Deploying with architecture: ${BALENA_ARCH}" docker compose pull docker compose up -d - + docker compose ps workflows: - version: 2 - build: + build-on-tag: jobs: - - shellcheck/check: - ignore: 'SC2154,SC1091,SC2034,SC2096,SC2038' - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ - - - httpd: - requires: - - shellcheck/check - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ - - - mysql: - requires: - - shellcheck/check + - shellcheck: filters: tags: only: /^v.*/ branches: ignore: /.*/ - - php-fpm: + - build-multiarch: requires: - - shellcheck/check + - shellcheck filters: tags: only: /^v.*/ branches: ignore: /.*/ - - build-and-compose: + - deploy-compose: requires: - - httpd - - mysql - - php-fpm + - build-multiarch filters: tags: only: /^v.*/ branches: - ignore: /.*/ + ignore: /.*/ \ No newline at end of file From 27ccda3a316c4c62285bb7cf6bc9c35c2a82734a Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:13:47 +0100 Subject: [PATCH 026/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/Dockerfile.armhf.sed | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g From 38381f2bccaec298220fddc2c036bb7b83a5e2e4 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:13:48 +0100 Subject: [PATCH 027/283] armhf pushed ./balena-storage --- balena-storage/Dockerfile.armhf.sed | 2 ++ 1 file changed, 2 insertions(+) diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g From 8b2e3e996a372b4b4ebce5558842de9eab617cb3 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:26:43 +0100 Subject: [PATCH 028/283] CircleCI build --- .circleci/config.yml | 270 ++++++++++++++++++++++++++++++++++++++----- 1 file changed, 240 insertions(+), 30 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 888a53592..ef2ac5f0f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,6 +10,25 @@ executors: resource_class: medium commands: + setup-node-and-balena: + steps: + - run: + name: Install Node.js and Yarn + command: | + curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - + sudo apt-get install -y nodejs + sudo npm install -g yarn + node --version + npm --version + yarn --version + + - run: + name: Install balena-cloud-apps + command: | + yarn add balena-cloud-apps + sudo npm link balena-cloud-apps + balena_deploy --version || echo "balena_deploy installed" + setup-buildx: steps: - run: @@ -39,7 +58,63 @@ jobs: command: | find . -type f -name "*.sh" -exec shellcheck --exclude=SC2154,SC1091,SC2034,SC2096,SC2038 {} + - build-multiarch: + build-amd64: + executor: docker-executor + steps: + - checkout + - setup_remote_docker: + version: docker24 + docker_layer_caching: true + + - setup-node-and-balena + - setup-buildx + + - run: + name: Login to Docker Hub + command: | + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + + - run: + name: Set build tag + command: | + if [ -n "${CIRCLE_TAG}" ]; then + echo "export BUILD_TAG=${CIRCLE_TAG}" >> $BASH_ENV + else + echo "export BUILD_TAG=${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" >> $BASH_ENV + fi + source $BASH_ENV + echo "Build tag: ${BUILD_TAG}" + + - run: + name: Prepare balena deployment for amd64 + command: | + export BALENA_ARCH=amd64 + balena_deploy . ${BALENA_ARCH} 2 0 || true + + - run: + name: Build and push amd64 + command: | + export DOCKER_ORG=${DOCKER_USER} + export BAKE_TAG=${BUILD_TAG} + export BALENA_ARCH=amd64 + export PLATFORM=linux/amd64 + + echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" + + docker buildx bake -f docker-bake.hcl \ + --set "*.platform=${PLATFORM}" \ + --push + + - run: + name: Tag images with architecture suffix + command: | + for service in mysqldb php-fpm httpd balena-storage; do + docker buildx imagetools create \ + --tag ${DOCKER_USER}/${service}:${BUILD_TAG}-amd64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG} + done + + build-aarch64: executor: docker-executor steps: - checkout @@ -47,6 +122,7 @@ jobs: version: docker24 docker_layer_caching: true + - setup-node-and-balena - setup-buildx - run: @@ -55,26 +131,157 @@ jobs: echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - run: - name: Build and push multi-arch images + name: Set build tag + command: | + if [ -n "${CIRCLE_TAG}" ]; then + echo "export BUILD_TAG=${CIRCLE_TAG}" >> $BASH_ENV + else + echo "export BUILD_TAG=${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" >> $BASH_ENV + fi + source $BASH_ENV + echo "Build tag: ${BUILD_TAG}" + + - run: + name: Prepare balena deployment for aarch64 + command: | + export BALENA_ARCH=aarch64 + balena_deploy . ${BALENA_ARCH} 2 0 || true + + - run: + name: Build and push aarch64 command: | export DOCKER_ORG=${DOCKER_USER} - export BAKE_TAG=${CIRCLE_TAG} + export BAKE_TAG=${BUILD_TAG} + export BALENA_ARCH=aarch64 + export PLATFORM=linux/arm64 - echo "Building version: ${BAKE_TAG}" + echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" - # Build for all platforms and push docker buildx bake -f docker-bake.hcl \ - --set "*.platform=linux/amd64,linux/arm64,linux/arm/v7" \ + --set "*.platform=${PLATFORM}" \ --push - run: - name: Verify images + name: Tag images with architecture suffix command: | - echo "Verifying pushed images:" - docker manifest inspect ${DOCKER_USER}/mysqldb:${CIRCLE_TAG} - docker manifest inspect ${DOCKER_USER}/php-fpm:${CIRCLE_TAG} - docker manifest inspect ${DOCKER_USER}/httpd:${CIRCLE_TAG} - docker manifest inspect ${DOCKER_USER}/balena-storage:${CIRCLE_TAG} + for service in mysqldb php-fpm httpd balena-storage; do + docker buildx imagetools create \ + --tag ${DOCKER_USER}/${service}:${BUILD_TAG}-aarch64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG} + done + + build-armhf: + executor: docker-executor + steps: + - checkout + - setup_remote_docker: + version: docker24 + docker_layer_caching: true + + - setup-node-and-balena + - setup-buildx + + - run: + name: Login to Docker Hub + command: | + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + + - run: + name: Set build tag + command: | + if [ -n "${CIRCLE_TAG}" ]; then + echo "export BUILD_TAG=${CIRCLE_TAG}" >> $BASH_ENV + else + echo "export BUILD_TAG=${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" >> $BASH_ENV + fi + source $BASH_ENV + echo "Build tag: ${BUILD_TAG}" + + - run: + name: Prepare balena deployment for armhf + command: | + export BALENA_ARCH=armhf + balena_deploy . ${BALENA_ARCH} 2 0 || true + + - run: + name: Build and push armhf + command: | + export DOCKER_ORG=${DOCKER_USER} + export BAKE_TAG=${BUILD_TAG} + export BALENA_ARCH=armhf + export PLATFORM=linux/arm/v7 + + echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" + + docker buildx bake -f docker-bake.hcl \ + --set "*.platform=${PLATFORM}" \ + --push + + - run: + name: Tag images with architecture suffix + command: | + for service in mysqldb php-fpm httpd balena-storage; do + docker buildx imagetools create \ + --tag ${DOCKER_USER}/${service}:${BUILD_TAG}-armhf \ + ${DOCKER_USER}/${service}:${BUILD_TAG} + done + + create-manifests: + executor: docker-executor + steps: + - checkout + - setup_remote_docker: + version: docker24 + + - run: + name: Login to Docker Hub + command: | + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + + - run: + name: Set build tag + command: | + if [ -n "${CIRCLE_TAG}" ]; then + echo "export BUILD_TAG=${CIRCLE_TAG}" >> $BASH_ENV + else + echo "export BUILD_TAG=${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" >> $BASH_ENV + fi + source $BASH_ENV + echo "Build tag: ${BUILD_TAG}" + + - run: + name: Create and push multi-arch manifests + command: | + for service in mysqldb php-fpm httpd balena-storage; do + echo "Creating manifest for ${service}:${BUILD_TAG}" + + # Create multi-arch manifest + docker manifest create ${DOCKER_USER}/${service}:${BUILD_TAG} \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-amd64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-aarch64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-armhf + + docker manifest push ${DOCKER_USER}/${service}:${BUILD_TAG} + + # Also create/update latest tag for main branch + if [ "${CIRCLE_BRANCH}" = "main" ] || [ "${CIRCLE_BRANCH}" = "master" ]; then + echo "Updating latest tag for ${service}" + docker manifest create ${DOCKER_USER}/${service}:latest \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-amd64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-aarch64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-armhf + + docker manifest push ${DOCKER_USER}/${service}:latest + fi + done + + - run: + name: Verify manifests + command: | + for service in mysqldb php-fpm httpd balena-storage; do + echo "Verifying ${service}:${BUILD_TAG}" + docker manifest inspect ${DOCKER_USER}/${service}:${BUILD_TAG} + done deploy-compose: executor: docker-executor @@ -92,35 +299,38 @@ jobs: name: Deploy with docker compose command: | export BALENA_ARCH=$(uname -m) - echo "Deploying with architecture: ${BALENA_ARCH}" + echo "Deploying with architecture: ${BALENA_ARCH}" docker compose pull docker compose up -d docker compose ps workflows: - build-on-tag: + build-all-branches: jobs: - - shellcheck: - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ + - shellcheck - - build-multiarch: + - build-amd64: requires: - shellcheck - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ + + - build-aarch64: + requires: + - shellcheck + + - build-armhf: + requires: + - shellcheck + + - create-manifests: + requires: + - build-amd64 + - build-aarch64 + - build-armhf - deploy-compose: requires: - - build-multiarch + - create-manifests filters: - tags: - only: /^v.*/ branches: - ignore: /.*/ \ No newline at end of file + only: + - development \ No newline at end of file From 1b81f02f4552dc003436f1100f195afae54116e6 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:29:00 +0100 Subject: [PATCH 029/283] CircleCI build --- deployment/images/mysqldb/curl.sh | 2 +- test-cake.sh | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/deployment/images/mysqldb/curl.sh b/deployment/images/mysqldb/curl.sh index f856e1715..4367db12f 100755 --- a/deployment/images/mysqldb/curl.sh +++ b/deployment/images/mysqldb/curl.sh @@ -4,7 +4,7 @@ TOPDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # The top of our source tree is the parent of this scripts dir TOPDIR+="deployment/images/mariadb" mkdir -p $TOPDIR -cd $TOPDIR || exit 1 +cd "$TOPDIR" || exit 1 MARIADB_MAJOR=${MARIADB_MAJOR:-10.4} curl -L "https://raw.githubusercontent.com/docker-library/mariadb/master/$MARIADB_MAJOR/docker-entrypoint.sh" -o docker-entrypoint.sh curl -L "https://raw.githubusercontent.com/docker-library/mariadb/master/$MARIADB_MAJOR/Dockerfile" -o Dockerfile.template diff --git a/test-cake.sh b/test-cake.sh index cd8b5859c..14e09a211 100755 --- a/test-cake.sh +++ b/test-cake.sh @@ -58,7 +58,7 @@ while [[ "$#" -gt 0 ]]; do case $1 in --docker ) config_args="--docker ${config_args}" migrate="--docker ${migrate}" - db_data="$(pwd)/mysqld$(echo ${db_data} | cut -d : -f 2)" + db_data="$(pwd)/mysqld$(echo "${db_data}" | cut -d : -f 2)" ;; *) echo "Unknown parameter, passed $0: $1"; exit 1;; esac; shift; done From 8c6c45bf565124be7780261763f409179a9e75e1 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:33:45 +0100 Subject: [PATCH 030/283] CircleCI build --- Scripts/composer.sh | 2 +- Scripts/lib/util.sh | 4 +++- deployment/images/mysqldb/curl.sh | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Scripts/composer.sh b/Scripts/composer.sh index 98094574b..d61e0e350 100755 --- a/Scripts/composer.sh +++ b/Scripts/composer.sh @@ -10,7 +10,7 @@ TOPDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd) composer="${TOPDIR}/bin/composer" if [ -n "$(command -v composer)" ]; then composer="composer" -elif [ ! -f $composer ]; then +elif [ ! -f "$composer" ]; then slogger -st "$0" "Composer setup...\n" mkdir -p "$(dirname "$composer")" curl -sS https://getcomposer.org/installer | php -- --install-dir="$(dirname "$composer")" --filename=composer diff --git a/Scripts/lib/util.sh b/Scripts/lib/util.sh index 9eac628ca..8a1335aa7 100755 --- a/Scripts/lib/util.sh +++ b/Scripts/lib/util.sh @@ -3,11 +3,13 @@ set -e TOPDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd) . init_functions . function relative_path() { - relative_path="${2#$1}" + [ "$#" -lt 1 ] && echo "${FUNCNAME[0]} ''" && exit 1 + relative_path="${2#"$1"}" echo "${relative_path#./}" } #; export -f relative_path function cake_path() { + [ "$#" -lt 1 ] && echo "${FUNCNAME[0]} ''" && exit 1 bash -c "php -r '\ require \"${TOPDIR}/Config/paths.php\"; \ printf(constant(\"$1\"));\ diff --git a/deployment/images/mysqldb/curl.sh b/deployment/images/mysqldb/curl.sh index 4367db12f..54a1f5c7d 100755 --- a/deployment/images/mysqldb/curl.sh +++ b/deployment/images/mysqldb/curl.sh @@ -3,7 +3,7 @@ TOPDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # The top of our source tree is the parent of this scripts dir TOPDIR+="deployment/images/mariadb" -mkdir -p $TOPDIR +mkdir -p "$TOPDIR" cd "$TOPDIR" || exit 1 MARIADB_MAJOR=${MARIADB_MAJOR:-10.4} curl -L "https://raw.githubusercontent.com/docker-library/mariadb/master/$MARIADB_MAJOR/docker-entrypoint.sh" -o docker-entrypoint.sh From 0d6d328d2451d1fd8e3b0d0a5a90bf434294b87a Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:39:14 +0100 Subject: [PATCH 031/283] CircleCI build --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ef2ac5f0f..73c883cb2 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,7 +27,6 @@ commands: command: | yarn add balena-cloud-apps sudo npm link balena-cloud-apps - balena_deploy --version || echo "balena_deploy installed" setup-buildx: steps: From 58bf01c778a06414f3194c4b335ba4bcaba66ddf Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:53:13 +0100 Subject: [PATCH 032/283] CircleCI build --- .circleci/config.yml | 73 ++++++++++++------------------------- .github/workflows/build.yml | 6 +-- 2 files changed, 27 insertions(+), 52 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 73c883cb2..5bdbfb6f4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -46,6 +46,24 @@ commands: docker buildx create --name multiarch --driver docker-container --use --bootstrap docker buildx inspect multiarch + set-build-tag: + description: "Set BUILD_TAG environment variable based on branch or tag" + steps: + - run: + name: Set build tag + command: | + if [ -n "${CIRCLE_TAG}" ]; then + TAG="${CIRCLE_TAG}" + else + TAG="${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" + fi + # lowercase + TAG=$(echo "$TAG" | tr '[:upper:]' '[:lower:]') + # replace invalid chars with '-' + echo "export BUILD_TAG=$(echo "$TAG" | sed 's/[^a-z0-9._-]/-/g')" >> $BASH_ENV + source $BASH_ENV + echo "Build tag: ${BUILD_TAG}" + jobs: shellcheck: docker: @@ -67,23 +85,13 @@ jobs: - setup-node-and-balena - setup-buildx + - set-build-tag - run: name: Login to Docker Hub command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Set build tag - command: | - if [ -n "${CIRCLE_TAG}" ]; then - echo "export BUILD_TAG=${CIRCLE_TAG}" >> $BASH_ENV - else - echo "export BUILD_TAG=${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" >> $BASH_ENV - fi - source $BASH_ENV - echo "Build tag: ${BUILD_TAG}" - - run: name: Prepare balena deployment for amd64 command: | @@ -123,23 +131,13 @@ jobs: - setup-node-and-balena - setup-buildx + - set-build-tag - run: name: Login to Docker Hub command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Set build tag - command: | - if [ -n "${CIRCLE_TAG}" ]; then - echo "export BUILD_TAG=${CIRCLE_TAG}" >> $BASH_ENV - else - echo "export BUILD_TAG=${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" >> $BASH_ENV - fi - source $BASH_ENV - echo "Build tag: ${BUILD_TAG}" - - run: name: Prepare balena deployment for aarch64 command: | @@ -179,23 +177,13 @@ jobs: - setup-node-and-balena - setup-buildx + - set-build-tag - run: name: Login to Docker Hub command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Set build tag - command: | - if [ -n "${CIRCLE_TAG}" ]; then - echo "export BUILD_TAG=${CIRCLE_TAG}" >> $BASH_ENV - else - echo "export BUILD_TAG=${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" >> $BASH_ENV - fi - source $BASH_ENV - echo "Build tag: ${BUILD_TAG}" - - run: name: Prepare balena deployment for armhf command: | @@ -232,22 +220,13 @@ jobs: - setup_remote_docker: version: docker24 + - set-build-tag + - run: name: Login to Docker Hub command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Set build tag - command: | - if [ -n "${CIRCLE_TAG}" ]; then - echo "export BUILD_TAG=${CIRCLE_TAG}" >> $BASH_ENV - else - echo "export BUILD_TAG=${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" >> $BASH_ENV - fi - source $BASH_ENV - echo "Build tag: ${BUILD_TAG}" - - run: name: Create and push multi-arch manifests command: | @@ -328,8 +307,4 @@ workflows: - deploy-compose: requires: - - create-manifests - filters: - branches: - only: - - development \ No newline at end of file + - create-manifests \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5c00368c9..0ad1de901 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -9,9 +9,9 @@ env: DOCKER_ORG: ${{ secrets.DOCKER_USER }} jobs: - compose: - #runs-on: self-hosted - runs-on: ubuntu-latest + build-services: + runs-on: self-hosted + #runs-on: ubuntu-latest environment: AUTH strategy: From fe9a5e0dfb27c34759c80f9396ce0cb95f7fc748 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:55:58 +0100 Subject: [PATCH 033/283] CircleCI build --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 5bdbfb6f4..4b02d2307 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -75,7 +75,7 @@ jobs: command: | find . -type f -name "*.sh" -exec shellcheck --exclude=SC2154,SC1091,SC2034,SC2096,SC2038 {} + - build-amd64: + build-x86_64: executor: docker-executor steps: - checkout @@ -95,15 +95,15 @@ jobs: - run: name: Prepare balena deployment for amd64 command: | - export BALENA_ARCH=amd64 + export BALENA_ARCH=x86_64 balena_deploy . ${BALENA_ARCH} 2 0 || true - run: - name: Build and push amd64 + name: Build and push x86_64 command: | export DOCKER_ORG=${DOCKER_USER} export BAKE_TAG=${BUILD_TAG} - export BALENA_ARCH=amd64 + export BALENA_ARCH=x86_64 export PLATFORM=linux/amd64 echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" From bf8b453a5f5ab576f0671ee2dc56e633b65c49c4 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sat, 31 Jan 2026 16:58:16 +0100 Subject: [PATCH 034/283] CircleCI build --- .circleci/config.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 4b02d2307..25303e213 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -93,7 +93,7 @@ jobs: echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - run: - name: Prepare balena deployment for amd64 + name: Prepare balena deployment for x86_64 command: | export BALENA_ARCH=x86_64 balena_deploy . ${BALENA_ARCH} 2 0 || true @@ -117,7 +117,7 @@ jobs: command: | for service in mysqldb php-fpm httpd balena-storage; do docker buildx imagetools create \ - --tag ${DOCKER_USER}/${service}:${BUILD_TAG}-amd64 \ + --tag ${DOCKER_USER}/${service}:${BUILD_TAG}-x86_64 \ ${DOCKER_USER}/${service}:${BUILD_TAG} done @@ -235,7 +235,7 @@ jobs: # Create multi-arch manifest docker manifest create ${DOCKER_USER}/${service}:${BUILD_TAG} \ - ${DOCKER_USER}/${service}:${BUILD_TAG}-amd64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-x86_64 \ ${DOCKER_USER}/${service}:${BUILD_TAG}-aarch64 \ ${DOCKER_USER}/${service}:${BUILD_TAG}-armhf @@ -245,7 +245,7 @@ jobs: if [ "${CIRCLE_BRANCH}" = "main" ] || [ "${CIRCLE_BRANCH}" = "master" ]; then echo "Updating latest tag for ${service}" docker manifest create ${DOCKER_USER}/${service}:latest \ - ${DOCKER_USER}/${service}:${BUILD_TAG}-amd64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-x86_64 \ ${DOCKER_USER}/${service}:${BUILD_TAG}-aarch64 \ ${DOCKER_USER}/${service}:${BUILD_TAG}-armhf @@ -287,7 +287,7 @@ workflows: jobs: - shellcheck - - build-amd64: + - build-x86_64: requires: - shellcheck @@ -301,7 +301,7 @@ workflows: - create-manifests: requires: - - build-amd64 + - build-x86_64 - build-aarch64 - build-armhf From 6b7262fa9efda78702817855c70d56af0a0b962b Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sat, 31 Jan 2026 23:09:11 +0100 Subject: [PATCH 035/283] Update config.yml --- .circleci/config.yml | 42 +++++++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 25303e213..2c27fdd07 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -83,7 +83,7 @@ jobs: version: docker24 docker_layer_caching: true - - setup-node-and-balena + #- setup-node-and-balena - setup-buildx - set-build-tag @@ -92,11 +92,11 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Prepare balena deployment for x86_64 - command: | - export BALENA_ARCH=x86_64 - balena_deploy . ${BALENA_ARCH} 2 0 || true + #- run: + #name: Prepare balena deployment for x86_64 + #command: | + #export BALENA_ARCH=x86_64 + #balena_deploy . ${BALENA_ARCH} 2 0 || true - run: name: Build and push x86_64 @@ -107,7 +107,7 @@ jobs: export PLATFORM=linux/amd64 echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" - + cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ --push @@ -129,7 +129,7 @@ jobs: version: docker24 docker_layer_caching: true - - setup-node-and-balena + #- setup-node-and-balena - setup-buildx - set-build-tag @@ -138,11 +138,11 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Prepare balena deployment for aarch64 - command: | - export BALENA_ARCH=aarch64 - balena_deploy . ${BALENA_ARCH} 2 0 || true + #- run: + #name: Prepare balena deployment for aarch64 + #command: | + #export BALENA_ARCH=aarch64 + #balena_deploy . ${BALENA_ARCH} 2 0 || true - run: name: Build and push aarch64 @@ -153,7 +153,7 @@ jobs: export PLATFORM=linux/arm64 echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" - + cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ --push @@ -175,7 +175,7 @@ jobs: version: docker24 docker_layer_caching: true - - setup-node-and-balena + #- setup-node-and-balena - setup-buildx - set-build-tag @@ -184,11 +184,11 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Prepare balena deployment for armhf - command: | - export BALENA_ARCH=armhf - balena_deploy . ${BALENA_ARCH} 2 0 || true + #- run: + #name: Prepare balena deployment for armhf + #command: | + #export BALENA_ARCH=armhf + #balena_deploy . ${BALENA_ARCH} 2 0 || true - run: name: Build and push armhf @@ -199,7 +199,7 @@ jobs: export PLATFORM=linux/arm/v7 echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" - + cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ --push From 908a4dc1af116a649f296fe2dfecb10b84acb045 Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sat, 31 Jan 2026 23:11:47 +0100 Subject: [PATCH 036/283] Update config.yml --- .circleci/config.yml | 27 +-------------------------- 1 file changed, 1 insertion(+), 26 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 2c27fdd07..b3c93c89b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -261,27 +261,6 @@ jobs: docker manifest inspect ${DOCKER_USER}/${service}:${BUILD_TAG} done - deploy-compose: - executor: docker-executor - steps: - - checkout - - setup_remote_docker: - version: docker24 - - - run: - name: Login to Docker Hub - command: | - echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - - run: - name: Deploy with docker compose - command: | - export BALENA_ARCH=$(uname -m) - echo "Deploying with architecture: ${BALENA_ARCH}" - docker compose pull - docker compose up -d - docker compose ps - workflows: build-all-branches: jobs: @@ -303,8 +282,4 @@ workflows: requires: - build-x86_64 - build-aarch64 - - build-armhf - - - deploy-compose: - requires: - - create-manifests \ No newline at end of file + - build-armhf \ No newline at end of file From 9a3f486673aa8076f8f4fb54e316197a964b731c Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 15:31:52 +0100 Subject: [PATCH 037/283] Enhance CI workflow with deployment step Added deployment step for Docker Compose stack after build. --- .github/workflows/build.yml | 62 +++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 33 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 0ad1de901..1dd551fb3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,33 +1,24 @@ name: Multi-Arch Build - on: push: branches: [ "main", "development" ] pull_request: - env: DOCKER_ORG: ${{ secrets.DOCKER_USER }} - jobs: build-services: runs-on: self-hosted - #runs-on: ubuntu-latest environment: AUTH - strategy: fail-fast: false matrix: arch: [ x86_64, aarch64, armhf ] - steps: - uses: actions/checkout@v4 - - name: Enable QEMU uses: docker/setup-qemu-action@v3 - - name: Enable Buildx uses: docker/setup-buildx-action@v3 - - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -37,36 +28,41 @@ jobs: id: sanitize run: | RAW="${{ github.ref_name }}" - # lowercase TAG=$(echo "$RAW" | tr '[:upper:]' '[:lower:]') - # replace invalid chars with '-' TAG=$(echo "$TAG" | sed 's/[^a-z0-9._-]/-/g') echo "tag=$TAG" >> $GITHUB_OUTPUT - - # Install Docker Compose v2 plugin - - name: Set up Docker Compose - uses: docker/setup-compose-action@v1 - with: - version: latest # or a specific version like v2.27.0 - - name: Build docker-compose stack env: BALENA_ARCH: ${{ matrix.arch }} BAKE_TAG: ${{ steps.sanitize.outputs.tag }} run: | - case "${BALENA_ARCH}" in - "armhf") - export PLATFORM="linux/arm/v7" - ;; - "aarch64") - export PLATFORM="linux/arm64" - ;; - "x86_64") - export PLATFORM="linux/amd64" - ;; - *) - export PLATFORM="linux/$(uname -m)" - ;; + case "${BALENA_ARCH}" in + "armhf") export PLATFORM="linux/arm/v7" ;; + "aarch64") export PLATFORM="linux/arm64" ;; + "x86_64") export PLATFORM="linux/amd64" ;; + *) export PLATFORM="linux/$(uname -m)" ;; esac - docker buildx bake -f docker-bake.hcl --set "*.platform=${PLATFORM}" - docker compose up -d + docker buildx bake -f docker-bake.hcl \ + --set "*.platform=${PLATFORM}" \ + --push + + deploy: + runs-on: self-hosted + environment: AUTH + needs: build-services + if: github.event_name != 'pull_request' + steps: + - uses: actions/checkout@v4 + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USER }} + password: ${{ secrets.DOCKER_PASS }} + - name: Set up Docker Compose + uses: docker/setup-compose-action@v1 + with: + version: latest + - name: Deploy stack + env: + BAKE_TAG: ${{ github.ref_name }} + run: docker compose up -d From c7a2143527400f9647d5a08c4daa5dc38b29991d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:40:54 +0100 Subject: [PATCH 038/283] circleci yml --- .circleci/config.yml | 41 +---------------------------------------- .yarn/install-state.gz | Bin 14805 -> 14916 bytes 2 files changed, 1 insertion(+), 40 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b3c93c89b..7ffe61415 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -10,24 +10,6 @@ executors: resource_class: medium commands: - setup-node-and-balena: - steps: - - run: - name: Install Node.js and Yarn - command: | - curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - - sudo apt-get install -y nodejs - sudo npm install -g yarn - node --version - npm --version - yarn --version - - - run: - name: Install balena-cloud-apps - command: | - yarn add balena-cloud-apps - sudo npm link balena-cloud-apps - setup-buildx: steps: - run: @@ -83,7 +65,6 @@ jobs: version: docker24 docker_layer_caching: true - #- setup-node-and-balena - setup-buildx - set-build-tag @@ -92,12 +73,6 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - #- run: - #name: Prepare balena deployment for x86_64 - #command: | - #export BALENA_ARCH=x86_64 - #balena_deploy . ${BALENA_ARCH} 2 0 || true - - run: name: Build and push x86_64 command: | @@ -129,7 +104,6 @@ jobs: version: docker24 docker_layer_caching: true - #- setup-node-and-balena - setup-buildx - set-build-tag @@ -138,12 +112,6 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - #- run: - #name: Prepare balena deployment for aarch64 - #command: | - #export BALENA_ARCH=aarch64 - #balena_deploy . ${BALENA_ARCH} 2 0 || true - - run: name: Build and push aarch64 command: | @@ -175,7 +143,6 @@ jobs: version: docker24 docker_layer_caching: true - #- setup-node-and-balena - setup-buildx - set-build-tag @@ -184,12 +151,6 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - #- run: - #name: Prepare balena deployment for armhf - #command: | - #export BALENA_ARCH=armhf - #balena_deploy . ${BALENA_ARCH} 2 0 || true - - run: name: Build and push armhf command: | @@ -282,4 +243,4 @@ workflows: requires: - build-x86_64 - build-aarch64 - - build-armhf \ No newline at end of file + - build-armhf diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index f5c8916924344a6f2fe52249e923b2f92ebd2b1e..8d9fa0be6eb328f57af2fe2b8ef05f7c0a9961c6 100644 GIT binary patch delta 12795 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%0AipMTAm&a=8>-q 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 F0RaEBJV^im From 22b4adfadb722bde333db7eac4e8c875444e961d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:35 +0100 Subject: [PATCH 039/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file From f815c73d4e292dae32973aed91346185d2b53dfb Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:35 +0100 Subject: [PATCH 040/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From e6312ec97de4544ba00d4218700d20c4aedcfe10 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:36 +0100 Subject: [PATCH 041/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 3ce15b501a564340893dee4603e8466f783ccc89 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:38 +0100 Subject: [PATCH 042/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index aa7ca8ea0..0c6214fd0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -22,13 +22,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -38,7 +38,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -55,7 +55,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -63,7 +63,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -76,12 +76,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 8c13f0aef83ba57f3446808d002d816f8502a13d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:38 +0100 Subject: [PATCH 043/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From e89f954d87a1cf4e171a31443081c6ded56cea6a Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:39 +0100 Subject: [PATCH 044/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 8246c2144f1f2db9342dac927ebb6b83ece9ffd0 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:41 +0100 Subject: [PATCH 045/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 0c6214fd0..92173518b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -22,13 +22,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -38,7 +38,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -55,7 +55,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -63,7 +63,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -76,12 +76,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From 4f3a5422283569b92ff058508c2c4ca8eadaf0f9 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:52 +0100 Subject: [PATCH 046/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file From bcfa3a6e9c23743c4cce161e88a6a566a3c02743 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:52 +0100 Subject: [PATCH 047/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.armhf.sed | 2 -- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From b6bfe31971930d7f32edfad680ca58fd76c740d6 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 15:48:52 +0100 Subject: [PATCH 048/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.armhf.sed | 2 -- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 939802cd9b67e8e09eebb7d1256ecb0ca2f28912 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:12:46 +0100 Subject: [PATCH 049/283] armhf pushed ./deployment/images/httpd --- .circleci/config.yml | 54 +++++++++++++++++++ .github/workflows/build.yml | 14 +++++ deployment/images/mysqldb/Dockerfile.template | 38 ++++--------- docker-bake.hcl | 33 ++++++++++++ docker-compose.template | 26 +++++++++ docker-compose.yml | 16 +++--- 6 files changed, 145 insertions(+), 36 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7ffe61415..973a7c2fc 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -73,6 +73,15 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + - run: + name: Write build secrets to temp files + command: | + mkdir -p /tmp/secrets + printf '%s' "${MYSQL_ROOT_PASSWORD}" > /tmp/secrets/mysql_root_password.txt + printf '%s' "${MYSQL_USER}" > /tmp/secrets/mysql_user.txt + printf '%s' "${MYSQL_PASSWORD}" > /tmp/secrets/mysql_password.txt + printf '%s' "${HASH_PASSWORD}" > /tmp/secrets/hash_password.txt + - run: name: Build and push x86_64 command: | @@ -85,8 +94,17 @@ jobs: cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ + --secret id=mysql_root_password,src=/tmp/secrets/mysql_root_password.txt \ + --secret id=mysql_user,src=/tmp/secrets/mysql_user.txt \ + --secret id=mysql_password,src=/tmp/secrets/mysql_password.txt \ + --secret id=hash_password,src=/tmp/secrets/hash_password.txt \ --push + - run: + name: Remove secret files + when: always + command: rm -rf /tmp/secrets + - run: name: Tag images with architecture suffix command: | @@ -112,6 +130,15 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + - run: + name: Write build secrets to temp files + command: | + mkdir -p /tmp/secrets + printf '%s' "${MYSQL_ROOT_PASSWORD}" > /tmp/secrets/mysql_root_password.txt + printf '%s' "${MYSQL_USER}" > /tmp/secrets/mysql_user.txt + printf '%s' "${MYSQL_PASSWORD}" > /tmp/secrets/mysql_password.txt + printf '%s' "${HASH_PASSWORD}" > /tmp/secrets/hash_password.txt + - run: name: Build and push aarch64 command: | @@ -124,8 +151,17 @@ jobs: cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ + --secret id=mysql_root_password,src=/tmp/secrets/mysql_root_password.txt \ + --secret id=mysql_user,src=/tmp/secrets/mysql_user.txt \ + --secret id=mysql_password,src=/tmp/secrets/mysql_password.txt \ + --secret id=hash_password,src=/tmp/secrets/hash_password.txt \ --push + - run: + name: Remove secret files + when: always + command: rm -rf /tmp/secrets + - run: name: Tag images with architecture suffix command: | @@ -151,6 +187,15 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + - run: + name: Write build secrets to temp files + command: | + mkdir -p /tmp/secrets + printf '%s' "${MYSQL_ROOT_PASSWORD}" > /tmp/secrets/mysql_root_password.txt + printf '%s' "${MYSQL_USER}" > /tmp/secrets/mysql_user.txt + printf '%s' "${MYSQL_PASSWORD}" > /tmp/secrets/mysql_password.txt + printf '%s' "${HASH_PASSWORD}" > /tmp/secrets/hash_password.txt + - run: name: Build and push armhf command: | @@ -163,8 +208,17 @@ jobs: cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ + --secret id=mysql_root_password,src=/tmp/secrets/mysql_root_password.txt \ + --secret id=mysql_user,src=/tmp/secrets/mysql_user.txt \ + --secret id=mysql_password,src=/tmp/secrets/mysql_password.txt \ + --secret id=hash_password,src=/tmp/secrets/hash_password.txt \ --push + - run: + name: Remove secret files + when: always + command: rm -rf /tmp/secrets + - run: name: Tag images with architecture suffix command: | diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1dd551fb3..490ccdbfb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,6 +31,13 @@ jobs: TAG=$(echo "$RAW" | tr '[:upper:]' '[:lower:]') TAG=$(echo "$TAG" | sed 's/[^a-z0-9._-]/-/g') echo "tag=$TAG" >> $GITHUB_OUTPUT + - name: Write build secrets to temp files + run: | + mkdir -p /tmp/secrets + printf '%s' '${{ secrets.MYSQL_ROOT_PASSWORD }}' > /tmp/secrets/mysql_root_password.txt + printf '%s' '${{ secrets.MYSQL_USER }}' > /tmp/secrets/mysql_user.txt + printf '%s' '${{ secrets.MYSQL_PASSWORD }}' > /tmp/secrets/mysql_password.txt + printf '%s' '${{ secrets.HASH_PASSWORD }}' > /tmp/secrets/hash_password.txt - name: Build docker-compose stack env: BALENA_ARCH: ${{ matrix.arch }} @@ -44,7 +51,14 @@ jobs: esac docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ + --secret id=mysql_root_password,src=/tmp/secrets/mysql_root_password.txt \ + --secret id=mysql_user,src=/tmp/secrets/mysql_user.txt \ + --secret id=mysql_password,src=/tmp/secrets/mysql_password.txt \ + --secret id=hash_password,src=/tmp/secrets/hash_password.txt \ --push + - name: Remove secret files + if: always() + run: rm -rf /tmp/secrets deploy: runs-on: self-hosted diff --git a/deployment/images/mysqldb/Dockerfile.template b/deployment/images/mysqldb/Dockerfile.template index 7be52bc45..165f986a3 100644 --- a/deployment/images/mysqldb/Dockerfile.template +++ b/deployment/images/mysqldb/Dockerfile.template @@ -1,10 +1,6 @@ ARG SECONDARY_HUB FROM ${SECONDARY_HUB:-%%SECONDARY_HUB%%}:${SECONDARY_TAG:-%%SECONDARY_TAG%%} -# When using volumes (-v flags) permissions issues can arise -# between the host OS and the container, we avoid this issue -# by allowing you to specify the user PUID and group PGID. -# $ id $USER ARG PUID ENV PUID=${PUID:-0} ARG PGID @@ -13,25 +9,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-'localhost'} ARG TZ ENV TZ=${TZ:-'Europe/Paris'} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-'maria-abc'} -# Optional -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-'aria_db'} -# Optional -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-'maria'} -# Optional -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-'maria-abc'} -# Optional ARG MYSQL_BIND_ADDRESS ENV MYSQL_BIND_ADDRESS=${MYSQL_BIND_ADDRESS:-0.0.0.0} -# The MariaDB/MySQL tools read configuration files in the following order: -# 1. "/etc/mysql/my.cnf" to set global defaults, -# 2. "/etc/mysql/conf.d/my.cnf" to set server options. -# 3. "~/.my.cnf" User +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent + COPY conf.d/my.cnf /etc/my.cnf.d/my.cnf RUN sed -i.bind "/bind-address/s/=.*$/= ${MYSQL_BIND_ADDRESS}/" /etc/my.cnf.d/my.cnf RUN sed -i.user "/user/s/=.*$/= ${USER}/" /etc/my.cnf.d/my.cnf @@ -42,22 +29,17 @@ RUN apk update \ build-base \ expect \ xz \ - # auth_ed25519 support package \ mariadb-client \ && apk del build-base \ && rm -rf /var/cache/apk/* -# MYSQL_ROOT_PASSWORD secured configuration COPY mysql_secure_shell . RUN chmod 1755 mysql_secure_shell \ && ./mysql_secure_shell -RUN echo "***** Fix root PRIVILEGES AND CREATE USER ${MYSQL_USER} with ${MYSQL_DATABASE} PRIVILEGES " \ - && echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'% WITH GRANT OPTION;" | tee -a p.sql \ - && echo "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" | tee -a p.sql \ - && echo "GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%;" | tee -a p.sql \ - && echo "FLUSH PRIVILEGES;" | tee -a p.sql \ - && mkdir -p /config/initdb.d/ && mv p.sql /config/initdb.d/patch.sql +# This script runs ONCE at first container start, using runtime env vars +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh +RUN chmod 755 /docker-entrypoint-initdb.d/init-db.sh COPY mariadb.ans . RUN cat mariadb.ans diff --git a/docker-bake.hcl b/docker-bake.hcl index eadb62c4e..0fde173b9 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -14,6 +14,28 @@ variable "BALENA_ARCH" { default = "amd64" } +# --------------------------------------------------------------------------- +# Secrets — values are NEVER baked into image layers. +# CI writes each one to a temp file and passes it via --secret id=...,src=... +# These variables exist only so bake can reference them in the secrets block. +# --------------------------------------------------------------------------- +variable "MYSQL_ROOT_PASSWORD" { + default = "" + sensitive = true +} +variable "MYSQL_USER" { + default = "" + sensitive = true +} +variable "MYSQL_PASSWORD" { + default = "" + sensitive = true +} +variable "HASH_PASSWORD" { + default = "" + sensitive = true +} + group "default" { targets = ["db", "php-fpm", "httpd", "balena-storage"] } @@ -30,6 +52,11 @@ target "db" { PUID = "1000" PGID = "1000" } + secrets = [ + "id=mysql_root_password,env=MYSQL_ROOT_PASSWORD", + "id=mysql_user,env=MYSQL_USER", + "id=mysql_password,env=MYSQL_PASSWORD", + ] } target "php-fpm" { @@ -47,6 +74,12 @@ target "php-fpm" { MYPHPCMS_LOG = "app/tmp/logs" HTDOCS = "/var/www/html" } + secrets = [ + "id=mysql_root_password,env=MYSQL_ROOT_PASSWORD", + "id=mysql_user,env=MYSQL_USER", + "id=mysql_password,env=MYSQL_PASSWORD", + "id=hash_password,env=HASH_PASSWORD", + ] } target "httpd" { diff --git a/docker-compose.template b/docker-compose.template index 93c7cd2ec..402609440 100644 --- a/docker-compose.template +++ b/docker-compose.template @@ -11,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -39,6 +43,11 @@ services: env_file: - common.env - %%BALENA_ARCH%%.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -106,3 +115,20 @@ volumes: networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt diff --git a/docker-compose.yml b/docker-compose.yml index 92173518b..aa7ca8ea0 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -22,13 +22,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -38,7 +38,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -55,7 +55,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -63,7 +63,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -76,12 +76,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From f27a54f8ae5374769bcbe259ed8909893a7c43c6 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:12:47 +0100 Subject: [PATCH 050/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/Dockerfile.armhf | 38 +++++-------------- .../images/mysqldb/Dockerfile.armhf.sed | 2 + 2 files changed, 12 insertions(+), 28 deletions(-) diff --git a/deployment/images/mysqldb/Dockerfile.armhf b/deployment/images/mysqldb/Dockerfile.armhf index 0fc4e3bde..343dee101 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf +++ b/deployment/images/mysqldb/Dockerfile.armhf @@ -1,10 +1,6 @@ ARG SECONDARY_HUB FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-arm32v7-10.6.13} -# When using volumes (-v flags) permissions issues can arise -# between the host OS and the container, we avoid this issue -# by allowing you to specify the user PUID and group PGID. -# $ id $USER ARG PUID ENV PUID=${PUID:-0} ARG PGID @@ -13,25 +9,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-'localhost'} ARG TZ ENV TZ=${TZ:-'Europe/Paris'} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-'maria-abc'} -# Optional -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-'aria_db'} -# Optional -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-'maria'} -# Optional -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-'maria-abc'} -# Optional ARG MYSQL_BIND_ADDRESS ENV MYSQL_BIND_ADDRESS=${MYSQL_BIND_ADDRESS:-0.0.0.0} -# The MariaDB/MySQL tools read configuration files in the following order: -# 1. "/etc/mysql/my.cnf" to set global defaults, -# 2. "/etc/mysql/conf.d/my.cnf" to set server options. -# 3. "~/.my.cnf" User +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent + COPY conf.d/my.cnf /etc/my.cnf.d/my.cnf RUN sed -i.bind "/bind-address/s/=.*$/= ${MYSQL_BIND_ADDRESS}/" /etc/my.cnf.d/my.cnf RUN sed -i.user "/user/s/=.*$/= ${USER}/" /etc/my.cnf.d/my.cnf @@ -42,22 +29,17 @@ RUN apk update \ build-base \ expect \ xz \ - # auth_ed25519 support package \ mariadb-client \ && apk del build-base \ && rm -rf /var/cache/apk/* -# MYSQL_ROOT_PASSWORD secured configuration COPY mysql_secure_shell . RUN chmod 1755 mysql_secure_shell \ && ./mysql_secure_shell -RUN echo "***** Fix root PRIVILEGES AND CREATE USER ${MYSQL_USER} with ${MYSQL_DATABASE} PRIVILEGES " \ - && echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'% WITH GRANT OPTION;" | tee -a p.sql \ - && echo "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" | tee -a p.sql \ - && echo "GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%;" | tee -a p.sql \ - && echo "FLUSH PRIVILEGES;" | tee -a p.sql \ - && mkdir -p /config/initdb.d/ && mv p.sql /config/initdb.d/patch.sql +# This script runs ONCE at first container start, using runtime env vars +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh +RUN chmod 755 /docker-entrypoint-initdb.d/init-db.sh COPY mariadb.ans . RUN cat mariadb.ans diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g From b65c76db281545e7b5e7eed282be025bd9403f5b Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:12:47 +0100 Subject: [PATCH 051/283] armhf pushed ./balena-storage --- balena-storage/Dockerfile.armhf.sed | 2 ++ 1 file changed, 2 insertions(+) diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g From e1a9b02e8a19b217150bcb87e899aaa8de02dc45 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:12:58 +0100 Subject: [PATCH 052/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.armhf | 26 ++++++++++++++++++++++++++ docker-compose.yml | 26 ++++++++++++++++++++++++++ 4 files changed, 54 insertions(+), 2 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/docker-compose.armhf b/docker-compose.armhf index aa7ca8ea0..bf76f70dc 100644 --- a/docker-compose.armhf +++ b/docker-compose.armhf @@ -11,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -39,6 +43,11 @@ services: env_file: - common.env - armhf.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -106,3 +115,20 @@ volumes: networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt diff --git a/docker-compose.yml b/docker-compose.yml index aa7ca8ea0..bf76f70dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -39,6 +43,11 @@ services: env_file: - common.env - armhf.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -106,3 +115,20 @@ volumes: networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt From 1100c4fddbd570f732c0623635b3f5ea6ccfc866 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:12:58 +0100 Subject: [PATCH 053/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++------- deployment/images/mysqldb/Dockerfile.x86_64 | 38 +++++-------------- 3 files changed, 25 insertions(+), 43 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/deployment/images/mysqldb/Dockerfile.x86_64 b/deployment/images/mysqldb/Dockerfile.x86_64 index e6fb457f4..a185add1f 100644 --- a/deployment/images/mysqldb/Dockerfile.x86_64 +++ b/deployment/images/mysqldb/Dockerfile.x86_64 @@ -1,10 +1,6 @@ ARG SECONDARY_HUB FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-amd64-10.6.13} -# When using volumes (-v flags) permissions issues can arise -# between the host OS and the container, we avoid this issue -# by allowing you to specify the user PUID and group PGID. -# $ id $USER ARG PUID ENV PUID=${PUID:-0} ARG PGID @@ -13,25 +9,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-'localhost'} ARG TZ ENV TZ=${TZ:-'Europe/Paris'} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-'maria-abc'} -# Optional -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-'aria_db'} -# Optional -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-'maria'} -# Optional -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-'maria-abc'} -# Optional ARG MYSQL_BIND_ADDRESS ENV MYSQL_BIND_ADDRESS=${MYSQL_BIND_ADDRESS:-0.0.0.0} -# The MariaDB/MySQL tools read configuration files in the following order: -# 1. "/etc/mysql/my.cnf" to set global defaults, -# 2. "/etc/mysql/conf.d/my.cnf" to set server options. -# 3. "~/.my.cnf" User +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent + COPY conf.d/my.cnf /etc/my.cnf.d/my.cnf RUN sed -i.bind "/bind-address/s/=.*$/= ${MYSQL_BIND_ADDRESS}/" /etc/my.cnf.d/my.cnf RUN sed -i.user "/user/s/=.*$/= ${USER}/" /etc/my.cnf.d/my.cnf @@ -42,22 +29,17 @@ RUN apk update \ build-base \ expect \ xz \ - # auth_ed25519 support package \ mariadb-client \ && apk del build-base \ && rm -rf /var/cache/apk/* -# MYSQL_ROOT_PASSWORD secured configuration COPY mysql_secure_shell . RUN chmod 1755 mysql_secure_shell \ && ./mysql_secure_shell -RUN echo "***** Fix root PRIVILEGES AND CREATE USER ${MYSQL_USER} with ${MYSQL_DATABASE} PRIVILEGES " \ - && echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'% WITH GRANT OPTION;" | tee -a p.sql \ - && echo "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" | tee -a p.sql \ - && echo "GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%;" | tee -a p.sql \ - && echo "FLUSH PRIVILEGES;" | tee -a p.sql \ - && mkdir -p /config/initdb.d/ && mv p.sql /config/initdb.d/patch.sql +# This script runs ONCE at first container start, using runtime env vars +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh +RUN chmod 755 /docker-entrypoint-initdb.d/init-db.sh COPY mariadb.ans . RUN cat mariadb.ans From 73e032821a45ac4e59ccd3fddeb4188e79c5990d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:12:58 +0100 Subject: [PATCH 054/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From f02e68a15e1e90df909a69dfdd7f42902395be38 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:13:01 +0100 Subject: [PATCH 055/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.x86_64 | 26 ++++++++++++++++++++++++++ docker-compose.yml | 16 ++++++++-------- 4 files changed, 36 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/docker-compose.x86_64 b/docker-compose.x86_64 index 0c6214fd0..5f7075ba4 100644 --- a/docker-compose.x86_64 +++ b/docker-compose.x86_64 @@ -11,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -39,6 +43,11 @@ services: env_file: - common.env - x86_64.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -106,3 +115,20 @@ volumes: networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt diff --git a/docker-compose.yml b/docker-compose.yml index bf76f70dc..5f7075ba4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 49703ab35b0593e7d53f7cce9585724736b77a72 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:13:01 +0100 Subject: [PATCH 056/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- deployment/images/mysqldb/Dockerfile.aarch64 | 38 +++++-------------- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++------- 3 files changed, 25 insertions(+), 43 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.aarch64 b/deployment/images/mysqldb/Dockerfile.aarch64 index 317c1ff7b..5d0b3f43e 100644 --- a/deployment/images/mysqldb/Dockerfile.aarch64 +++ b/deployment/images/mysqldb/Dockerfile.aarch64 @@ -1,10 +1,6 @@ ARG SECONDARY_HUB FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-arm64v8-10.6.13} -# When using volumes (-v flags) permissions issues can arise -# between the host OS and the container, we avoid this issue -# by allowing you to specify the user PUID and group PGID. -# $ id $USER ARG PUID ENV PUID=${PUID:-0} ARG PGID @@ -13,25 +9,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-'localhost'} ARG TZ ENV TZ=${TZ:-'Europe/Paris'} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-'maria-abc'} -# Optional -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-'aria_db'} -# Optional -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-'maria'} -# Optional -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-'maria-abc'} -# Optional ARG MYSQL_BIND_ADDRESS ENV MYSQL_BIND_ADDRESS=${MYSQL_BIND_ADDRESS:-0.0.0.0} -# The MariaDB/MySQL tools read configuration files in the following order: -# 1. "/etc/mysql/my.cnf" to set global defaults, -# 2. "/etc/mysql/conf.d/my.cnf" to set server options. -# 3. "~/.my.cnf" User +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent + COPY conf.d/my.cnf /etc/my.cnf.d/my.cnf RUN sed -i.bind "/bind-address/s/=.*$/= ${MYSQL_BIND_ADDRESS}/" /etc/my.cnf.d/my.cnf RUN sed -i.user "/user/s/=.*$/= ${USER}/" /etc/my.cnf.d/my.cnf @@ -42,22 +29,17 @@ RUN apk update \ build-base \ expect \ xz \ - # auth_ed25519 support package \ mariadb-client \ && apk del build-base \ && rm -rf /var/cache/apk/* -# MYSQL_ROOT_PASSWORD secured configuration COPY mysql_secure_shell . RUN chmod 1755 mysql_secure_shell \ && ./mysql_secure_shell -RUN echo "***** Fix root PRIVILEGES AND CREATE USER ${MYSQL_USER} with ${MYSQL_DATABASE} PRIVILEGES " \ - && echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'% WITH GRANT OPTION;" | tee -a p.sql \ - && echo "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" | tee -a p.sql \ - && echo "GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%;" | tee -a p.sql \ - && echo "FLUSH PRIVILEGES;" | tee -a p.sql \ - && mkdir -p /config/initdb.d/ && mv p.sql /config/initdb.d/patch.sql +# This script runs ONCE at first container start, using runtime env vars +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh +RUN chmod 755 /docker-entrypoint-initdb.d/init-db.sh COPY mariadb.ans . RUN cat mariadb.ans diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 920fa8af9461ef20a6817d30541505a1a24b4f66 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:13:01 +0100 Subject: [PATCH 057/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 0aca7a471c8c3394c1212e39073c9852a2cf3437 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:13:03 +0100 Subject: [PATCH 058/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5f7075ba4..5d73643c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From 6e489c31fc00cb9be05d0a104abaf9f401cbc3b7 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:13:54 +0100 Subject: [PATCH 059/283] armhf pushed ./deployment/images/httpd --- deployment/images/httpd/.env | 2 +- docker-compose.aarch64 | 26 ++++++++++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/docker-compose.aarch64 b/docker-compose.aarch64 index 92173518b..5d73643c6 100644 --- a/docker-compose.aarch64 +++ b/docker-compose.aarch64 @@ -11,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -39,6 +43,11 @@ services: env_file: - common.env - aarch64.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -106,3 +115,20 @@ volumes: networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt From 73402560b626816362552df9400477bff5d0ce9c Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:13:54 +0100 Subject: [PATCH 060/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.armhf.sed | 2 -- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 0c09e5e9f6222e32d7ea53e56d1a056ee0b5a4fd Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:13:54 +0100 Subject: [PATCH 061/283] armhf pushed ./balena-storage --- .env | 2 +- balena-storage/.env | 2 +- balena-storage/Dockerfile.armhf.sed | 2 -- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From e9e33ac72b2a0f60f58813d44ba161826ecbc8b0 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 16:14:14 +0100 Subject: [PATCH 062/283] armhf pushed ./deployment/images/httpd --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5d73643c6..bf76f70dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 8ac6e124607c8bffd025f36e4fa70360df1ff3a4 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 17:05:39 +0100 Subject: [PATCH 063/283] aarch64 pushed ./deployment/images/httpd --- .circleci/config.yml | 54 ------------------------------------ .env | 2 +- .github/workflows/build.yml | 18 +++--------- BUILD.md | 12 +++++--- deployment/images/httpd/.env | 2 +- docker-bake.hcl | 5 ++-- 6 files changed, 17 insertions(+), 76 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 973a7c2fc..7ffe61415 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -73,15 +73,6 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Write build secrets to temp files - command: | - mkdir -p /tmp/secrets - printf '%s' "${MYSQL_ROOT_PASSWORD}" > /tmp/secrets/mysql_root_password.txt - printf '%s' "${MYSQL_USER}" > /tmp/secrets/mysql_user.txt - printf '%s' "${MYSQL_PASSWORD}" > /tmp/secrets/mysql_password.txt - printf '%s' "${HASH_PASSWORD}" > /tmp/secrets/hash_password.txt - - run: name: Build and push x86_64 command: | @@ -94,17 +85,8 @@ jobs: cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ - --secret id=mysql_root_password,src=/tmp/secrets/mysql_root_password.txt \ - --secret id=mysql_user,src=/tmp/secrets/mysql_user.txt \ - --secret id=mysql_password,src=/tmp/secrets/mysql_password.txt \ - --secret id=hash_password,src=/tmp/secrets/hash_password.txt \ --push - - run: - name: Remove secret files - when: always - command: rm -rf /tmp/secrets - - run: name: Tag images with architecture suffix command: | @@ -130,15 +112,6 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Write build secrets to temp files - command: | - mkdir -p /tmp/secrets - printf '%s' "${MYSQL_ROOT_PASSWORD}" > /tmp/secrets/mysql_root_password.txt - printf '%s' "${MYSQL_USER}" > /tmp/secrets/mysql_user.txt - printf '%s' "${MYSQL_PASSWORD}" > /tmp/secrets/mysql_password.txt - printf '%s' "${HASH_PASSWORD}" > /tmp/secrets/hash_password.txt - - run: name: Build and push aarch64 command: | @@ -151,17 +124,8 @@ jobs: cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ - --secret id=mysql_root_password,src=/tmp/secrets/mysql_root_password.txt \ - --secret id=mysql_user,src=/tmp/secrets/mysql_user.txt \ - --secret id=mysql_password,src=/tmp/secrets/mysql_password.txt \ - --secret id=hash_password,src=/tmp/secrets/hash_password.txt \ --push - - run: - name: Remove secret files - when: always - command: rm -rf /tmp/secrets - - run: name: Tag images with architecture suffix command: | @@ -187,15 +151,6 @@ jobs: command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - - run: - name: Write build secrets to temp files - command: | - mkdir -p /tmp/secrets - printf '%s' "${MYSQL_ROOT_PASSWORD}" > /tmp/secrets/mysql_root_password.txt - printf '%s' "${MYSQL_USER}" > /tmp/secrets/mysql_user.txt - printf '%s' "${MYSQL_PASSWORD}" > /tmp/secrets/mysql_password.txt - printf '%s' "${HASH_PASSWORD}" > /tmp/secrets/hash_password.txt - - run: name: Build and push armhf command: | @@ -208,17 +163,8 @@ jobs: cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ - --secret id=mysql_root_password,src=/tmp/secrets/mysql_root_password.txt \ - --secret id=mysql_user,src=/tmp/secrets/mysql_user.txt \ - --secret id=mysql_password,src=/tmp/secrets/mysql_password.txt \ - --secret id=hash_password,src=/tmp/secrets/hash_password.txt \ --push - - run: - name: Remove secret files - when: always - command: rm -rf /tmp/secrets - - run: name: Tag images with architecture suffix command: | diff --git a/.env b/.env index dedf908af..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 490ccdbfb..ec0b17906 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -31,17 +31,14 @@ jobs: TAG=$(echo "$RAW" | tr '[:upper:]' '[:lower:]') TAG=$(echo "$TAG" | sed 's/[^a-z0-9._-]/-/g') echo "tag=$TAG" >> $GITHUB_OUTPUT - - name: Write build secrets to temp files - run: | - mkdir -p /tmp/secrets - printf '%s' '${{ secrets.MYSQL_ROOT_PASSWORD }}' > /tmp/secrets/mysql_root_password.txt - printf '%s' '${{ secrets.MYSQL_USER }}' > /tmp/secrets/mysql_user.txt - printf '%s' '${{ secrets.MYSQL_PASSWORD }}' > /tmp/secrets/mysql_password.txt - printf '%s' '${{ secrets.HASH_PASSWORD }}' > /tmp/secrets/hash_password.txt - name: Build docker-compose stack env: BALENA_ARCH: ${{ matrix.arch }} BAKE_TAG: ${{ steps.sanitize.outputs.tag }} + MYSQL_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }} + MYSQL_USER: ${{ secrets.MYSQL_USER }} + MYSQL_PASSWORD: ${{ secrets.MYSQL_PASSWORD }} + HASH_PASSWORD: ${{ secrets.HASH_PASSWORD }} run: | case "${BALENA_ARCH}" in "armhf") export PLATFORM="linux/arm/v7" ;; @@ -51,14 +48,7 @@ jobs: esac docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ - --secret id=mysql_root_password,src=/tmp/secrets/mysql_root_password.txt \ - --secret id=mysql_user,src=/tmp/secrets/mysql_user.txt \ - --secret id=mysql_password,src=/tmp/secrets/mysql_password.txt \ - --secret id=hash_password,src=/tmp/secrets/hash_password.txt \ --push - - name: Remove secret files - if: always() - run: rm -rf /tmp/secrets deploy: runs-on: self-hosted diff --git a/BUILD.md b/BUILD.md index 2420cd7d4..72a8d4364 100644 --- a/BUILD.md +++ b/BUILD.md @@ -29,7 +29,6 @@ export DOCKER_ORG=myorg export BAKE_TAG=v1.0.0 export PLATFORM=linux/arm64 export BALENA_ARCH=aarch64 -docker buildx bake -f docker-bake.hcl # Using command-line docker buildx bake -f docker-bake.hcl \ @@ -37,18 +36,23 @@ docker buildx bake -f docker-bake.hcl \ --set "db.tags=myorg/mysqldb:v1.0.0" ``` -### Multi-platform Builds +### Cross-platform Builds -To build for multiple platforms: +To build for other architecture platforms: ```bash +> Select architectures, interactively, or presets 1: armhf 2:aarch64 3: x86_64 +balena_deploy . 2 0 docker buildx bake -f docker-bake.hcl \ - --set "*.platform=linux/amd64,linux/arm64" + --set "*.platform=linux/arm64" ``` +Multi-arch parallel builds aren't available. Only set 1 platform build at a time! +This is due to the project structure (*.env, multiple Dockerfiles, etc.) ### Push to Registry To build and push to a registry: ```bash +balena_deploy . 2 0 docker buildx bake -f docker-bake.hcl --push ``` diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/docker-bake.hcl b/docker-bake.hcl index 0fde173b9..bedbba5de 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -16,8 +16,9 @@ variable "BALENA_ARCH" { # --------------------------------------------------------------------------- # Secrets — values are NEVER baked into image layers. -# CI writes each one to a temp file and passes it via --secret id=...,src=... -# These variables exist only so bake can reference them in the secrets block. +# The "env=" in each secrets entry tells BuildKit to read the secret value +# from that environment variable in the shell that runs "bake". +# CI just needs to export these vars before invoking bake — nothing else. # --------------------------------------------------------------------------- variable "MYSQL_ROOT_PASSWORD" { default = "" From f36e5cbe86683433660f898dbfd3ad282b144d59 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 17:05:39 +0100 Subject: [PATCH 064/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.aarch64.sed | 2 -- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.aarch64.sed b/deployment/images/mysqldb/Dockerfile.aarch64.sed index 8d6b53339..abc2bb757 100644 --- a/deployment/images/mysqldb/Dockerfile.aarch64.sed +++ b/deployment/images/mysqldb/Dockerfile.aarch64.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From d9e6bef246aa00806f946a4eaf07cdedbfc2f4cd Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 17:05:40 +0100 Subject: [PATCH 065/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.aarch64.sed | 2 -- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.aarch64.sed b/balena-storage/Dockerfile.aarch64.sed index 8d6b53339..abc2bb757 100644 --- a/balena-storage/Dockerfile.aarch64.sed +++ b/balena-storage/Dockerfile.aarch64.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From ba9df63069c50396b39632576c5ea36620306fad Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 17:14:28 +0100 Subject: [PATCH 066/283] buildx process --- .github/workflows/build.yml | 1 + BUILD.md | 21 ++++++++++++--------- docker-compose.yml | 16 ++++++++-------- 3 files changed, 21 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index ec0b17906..69fe655f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -46,6 +46,7 @@ jobs: "x86_64") export PLATFORM="linux/amd64" ;; *) export PLATFORM="linux/$(uname -m)" ;; esac + cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=${PLATFORM}" \ --push diff --git a/BUILD.md b/BUILD.md index 72a8d4364..3e0c6f65c 100644 --- a/BUILD.md +++ b/BUILD.md @@ -6,8 +6,10 @@ The x-bake configuration has been extracted from `docker-compose.yml` to `docker ### Building with Docker Buildx Bake -To build all images: +To build all images, e.g. x86_64 (linux/amd64): ```bash +update_templates +cp -vf docker-compose.x86_64 docker-compose.yml docker buildx bake -f docker-bake.hcl ``` @@ -27,21 +29,21 @@ You can override variables using environment variables or command-line flags: # Using environment variables export DOCKER_ORG=myorg export BAKE_TAG=v1.0.0 -export PLATFORM=linux/arm64 -export BALENA_ARCH=aarch64 +export PLATFORM=linux/amd64 +export BALENA_ARCH=x86_64 # Using command-line docker buildx bake -f docker-bake.hcl \ - --set "*.platform=linux/arm64" \ + --set "*.platform=linux/amd64" \ --set "db.tags=myorg/mysqldb:v1.0.0" ``` ### Cross-platform Builds -To build for other architecture platforms: +To build for other architecture platforms, e.g aarch64 (linux/arm64): ```bash -> Select architectures, interactively, or presets 1: armhf 2:aarch64 3: x86_64 -balena_deploy . 2 0 +update_templates +cp -vf docker-compose.aarch64 docker-compose.yml docker buildx bake -f docker-bake.hcl \ --set "*.platform=linux/arm64" ``` @@ -50,9 +52,10 @@ This is due to the project structure (*.env, multiple Dockerfiles, etc.) ### Push to Registry -To build and push to a registry: +To build and push to a registry, e.g. x86_64 (linux/amd64): ```bash -balena_deploy . 2 0 +update_templates +cp -vf docker-compose.x86_64 docker-compose.yml docker buildx bake -f docker-bake.hcl --push ``` diff --git a/docker-compose.yml b/docker-compose.yml index bf76f70dc..5d73643c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - aarch64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From a3da33ad88180bfaea3bab5c7a0c3d8e6aeb36ff Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:04:27 +0100 Subject: [PATCH 067/283] build files --- .circleci/config.yml | 297 +++++++++------ .github/workflows/build.yml | 59 +-- .yarn/install-state.gz | Bin 14805 -> 15001 bytes Dockerfile.aarch64 | 2 +- Dockerfile.armhf | 2 +- Dockerfile.x86_64 | 2 +- Scripts/composer.sh | 2 +- Scripts/lib/util.sh | 4 +- balena-storage/Dockerfile.armhf.sed | 2 + balena-storage/Dockerfile.template.sed | 2 + balena-storage/build.aarch64.sh | 0 balena-storage/build.armhf.sh | 0 balena-storage/build.x86_64.sh | 0 build.aarch64.sh | 6 + build.armhf.sh | 6 + build.template | 6 + build.x86_64.sh | 6 + build/.travis_linux_php.ini | 1 - build/.travis_osx_php.ini | 1 - build/.travis_windows_php.ini | 1 - deploy.sh | 16 +- deployment/images/build.sh | 2 - deployment/images/httpd/aarch64.env | 1 + deployment/images/httpd/armhf.env | 1 + deployment/images/httpd/build.aarch64.sh | 6 + deployment/images/httpd/build.armhf.sh | 6 + deployment/images/httpd/build.template | 6 + deployment/images/httpd/build.x86_64.sh | 6 + deployment/images/httpd/x86_64.env | 1 + deployment/images/mysqldb/Dockerfile.aarch64 | 39 +- deployment/images/mysqldb/Dockerfile.armhf | 39 +- .../images/mysqldb/Dockerfile.armhf.sed | 2 + deployment/images/mysqldb/Dockerfile.template | 39 +- .../images/mysqldb/Dockerfile.template.sed | 2 + deployment/images/mysqldb/Dockerfile.x86_64 | 39 +- deployment/images/mysqldb/aarch64.env | 1 + deployment/images/mysqldb/armhf.env | 1 + deployment/images/mysqldb/build.aarch64.sh | 6 + deployment/images/mysqldb/build.armhf.sh | 6 + deployment/images/mysqldb/build.template | 6 + deployment/images/mysqldb/build.x86_64.sh | 6 + deployment/images/mysqldb/curl.sh | 4 +- deployment/images/mysqldb/initdb.sh | 23 ++ deployment/images/mysqldb/x86_64.env | 1 + docker-bake.hcl | 109 ++++++ docker-compose.aarch64 | 54 +-- docker-compose.armhf | 56 +-- docker-compose.template | 56 +-- docker-compose.x86_64 | 56 +-- docker-compose.yml | 70 ++-- package.json | 6 +- test-cake.sh | 2 +- yarn.lock | 338 +----------------- 53 files changed, 659 insertions(+), 746 deletions(-) create mode 100644 balena-storage/build.aarch64.sh create mode 100644 balena-storage/build.armhf.sh create mode 100644 balena-storage/build.x86_64.sh create mode 100755 build.aarch64.sh create mode 100755 build.armhf.sh create mode 100755 build.template create mode 100755 build.x86_64.sh delete mode 100644 build/.travis_linux_php.ini delete mode 100644 build/.travis_osx_php.ini delete mode 100644 build/.travis_windows_php.ini delete mode 100755 deployment/images/build.sh create mode 120000 deployment/images/httpd/aarch64.env create mode 120000 deployment/images/httpd/armhf.env create mode 100755 deployment/images/httpd/build.aarch64.sh create mode 100755 deployment/images/httpd/build.armhf.sh create mode 100644 deployment/images/httpd/build.template create mode 100755 deployment/images/httpd/build.x86_64.sh create mode 120000 deployment/images/httpd/x86_64.env create mode 120000 deployment/images/mysqldb/aarch64.env create mode 120000 deployment/images/mysqldb/armhf.env create mode 100755 deployment/images/mysqldb/build.aarch64.sh create mode 100755 deployment/images/mysqldb/build.armhf.sh create mode 100644 deployment/images/mysqldb/build.template create mode 100755 deployment/images/mysqldb/build.x86_64.sh create mode 100644 deployment/images/mysqldb/initdb.sh create mode 120000 deployment/images/mysqldb/x86_64.env create mode 100644 docker-bake.hcl diff --git a/.circleci/config.yml b/.circleci/config.yml index 40a788fc3..7ffe61415 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,31 +1,72 @@ version: 2.1 orbs: - shellcheck: circleci/shellcheck@1.3.16 + shellcheck: circleci/shellcheck@3.2.0 executors: docker-executor: docker: - - image: cimg/base:2025.11 + - image: cimg/base:2025.01 resource_class: medium commands: - build-multiarch: - parameters: - image: - type: string - workdir: - type: string + setup-buildx: + steps: + - run: + name: Install Docker Buildx + command: | + mkdir -p ~/.docker/cli-plugins + BUILDX_VERSION=v0.12.1 + wget -q "https://github.com/docker/buildx/releases/download/${BUILDX_VERSION}/buildx-${BUILDX_VERSION}.linux-amd64" \ + -O ~/.docker/cli-plugins/docker-buildx + chmod +x ~/.docker/cli-plugins/docker-buildx + docker buildx version + + - run: + name: Create buildx builder + command: | + docker buildx create --name multiarch --driver docker-container --use --bootstrap + docker buildx inspect multiarch + + set-build-tag: + description: "Set BUILD_TAG environment variable based on branch or tag" + steps: + - run: + name: Set build tag + command: | + if [ -n "${CIRCLE_TAG}" ]; then + TAG="${CIRCLE_TAG}" + else + TAG="${CIRCLE_BRANCH}-${CIRCLE_SHA1:0:7}" + fi + # lowercase + TAG=$(echo "$TAG" | tr '[:upper:]' '[:lower:]') + # replace invalid chars with '-' + echo "export BUILD_TAG=$(echo "$TAG" | sed 's/[^a-z0-9._-]/-/g')" >> $BASH_ENV + source $BASH_ENV + echo "Build tag: ${BUILD_TAG}" + +jobs: + shellcheck: + docker: + - image: koalaman/shellcheck-alpine:stable + steps: + - checkout + - run: + name: Run shellcheck + command: | + find . -type f -name "*.sh" -exec shellcheck --exclude=SC2154,SC1091,SC2034,SC2096,SC2038 {} + + + build-x86_64: + executor: docker-executor steps: - checkout - setup_remote_docker: - version: 20.10.18 + version: docker24 docker_layer_caching: true - - run: - name: Enable QEMU for multi-arch - command: | - docker run --rm --privileged multiarch/qemu-user-static --reset -p yes + - setup-buildx + - set-build-tag - run: name: Login to Docker Hub @@ -33,133 +74,173 @@ commands: echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - run: - name: Build amd64 + name: Build and push x86_64 command: | - cd << parameters.workdir >> - docker build \ - --platform linux/amd64 \ - -t "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-x86_64" \ - -f Dockerfile.x86_64 . - docker push "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-x86_64" + export DOCKER_ORG=${DOCKER_USER} + export BAKE_TAG=${BUILD_TAG} + export BALENA_ARCH=x86_64 + export PLATFORM=linux/amd64 + + echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" + cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml + docker buildx bake -f docker-bake.hcl \ + --set "*.platform=${PLATFORM}" \ + --push - run: - name: Build arm64 + name: Tag images with architecture suffix command: | - cd << parameters.workdir >> - docker build \ - --platform linux/arm64 \ - -t "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-aarch64" \ - -f Dockerfile.aarch64 . - docker push "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-aarch64" + for service in mysqldb php-fpm httpd balena-storage; do + docker buildx imagetools create \ + --tag ${DOCKER_USER}/${service}:${BUILD_TAG}-x86_64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG} + done + + build-aarch64: + executor: docker-executor + steps: + - checkout + - setup_remote_docker: + version: docker24 + docker_layer_caching: true + + - setup-buildx + - set-build-tag - run: - name: Build armhf + name: Login to Docker Hub command: | - cd << parameters.workdir >> - docker build \ - --platform linux/arm/v7 \ - -t "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-armhf" \ - -f Dockerfile.armhf . - docker push "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-armhf" + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin - run: - name: Create multi-arch manifest + name: Build and push aarch64 command: | - docker manifest create "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}" \ - "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-x86_64" \ - "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-aarch64" \ - "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}-armhf" - - docker manifest push "$DOCKER_USER/<< parameters.image >>:${CIRCLE_TAG}" + export DOCKER_ORG=${DOCKER_USER} + export BAKE_TAG=${BUILD_TAG} + export BALENA_ARCH=aarch64 + export PLATFORM=linux/arm64 + + echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" + cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml + docker buildx bake -f docker-bake.hcl \ + --set "*.platform=${PLATFORM}" \ + --push + - run: + name: Tag images with architecture suffix + command: | + for service in mysqldb php-fpm httpd balena-storage; do + docker buildx imagetools create \ + --tag ${DOCKER_USER}/${service}:${BUILD_TAG}-aarch64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG} + done -jobs: - httpd: + build-armhf: executor: docker-executor steps: - - build-multiarch: - image: httpd - workdir: deployment/images/httpd + - checkout + - setup_remote_docker: + version: docker24 + docker_layer_caching: true - mysql: - executor: docker-executor - steps: - - build-multiarch: - image: mysql - workdir: deployment/images/mysql + - setup-buildx + - set-build-tag - php-fpm: - executor: docker-executor - steps: - - build-multiarch: - image: php-fpm - workdir: deployment/images/php-fpm + - run: + name: Login to Docker Hub + command: | + echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + + - run: + name: Build and push armhf + command: | + export DOCKER_ORG=${DOCKER_USER} + export BAKE_TAG=${BUILD_TAG} + export BALENA_ARCH=armhf + export PLATFORM=linux/arm/v7 + + echo "Building ${DOCKER_ORG}/*:${BAKE_TAG} for ${PLATFORM}" + cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml + docker buildx bake -f docker-bake.hcl \ + --set "*.platform=${PLATFORM}" \ + --push + + - run: + name: Tag images with architecture suffix + command: | + for service in mysqldb php-fpm httpd balena-storage; do + docker buildx imagetools create \ + --tag ${DOCKER_USER}/${service}:${BUILD_TAG}-armhf \ + ${DOCKER_USER}/${service}:${BUILD_TAG} + done - build-and-compose: + create-manifests: executor: docker-executor steps: - checkout - setup_remote_docker: - version: 20.10.18 - docker_layer_caching: true + version: docker24 + + - set-build-tag + - run: name: Login to Docker Hub command: | echo "$DOCKER_PASS" | docker login -u "$DOCKER_USER" --password-stdin + - run: - name: Deploy with docker compose + name: Create and push multi-arch manifests command: | - cd deployment - docker compose pull - docker compose up -d + for service in mysqldb php-fpm httpd balena-storage; do + echo "Creating manifest for ${service}:${BUILD_TAG}" + + # Create multi-arch manifest + docker manifest create ${DOCKER_USER}/${service}:${BUILD_TAG} \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-x86_64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-aarch64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-armhf + + docker manifest push ${DOCKER_USER}/${service}:${BUILD_TAG} + + # Also create/update latest tag for main branch + if [ "${CIRCLE_BRANCH}" = "main" ] || [ "${CIRCLE_BRANCH}" = "master" ]; then + echo "Updating latest tag for ${service}" + docker manifest create ${DOCKER_USER}/${service}:latest \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-x86_64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-aarch64 \ + ${DOCKER_USER}/${service}:${BUILD_TAG}-armhf + + docker manifest push ${DOCKER_USER}/${service}:latest + fi + done + - run: + name: Verify manifests + command: | + for service in mysqldb php-fpm httpd balena-storage; do + echo "Verifying ${service}:${BUILD_TAG}" + docker manifest inspect ${DOCKER_USER}/${service}:${BUILD_TAG} + done workflows: - version: 2 - build: + build-all-branches: jobs: - - shellcheck/check: - ignore: 'SC2154,SC1091,SC2034,SC2096,SC2038' - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ - - - httpd: + - shellcheck + + - build-x86_64: requires: - - shellcheck/check - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ - - - mysql: + - shellcheck + + - build-aarch64: requires: - - shellcheck/check - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ - - - php-fpm: + - shellcheck + + - build-armhf: requires: - - shellcheck/check - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ - - - build-and-compose: + - shellcheck + + - create-manifests: requires: - - httpd - - mysql - - php-fpm - filters: - tags: - only: /^v.*/ - branches: - ignore: /.*/ + - build-x86_64 + - build-aarch64 + - build-armhf diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 358dd65d6..69fe655f7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,33 +1,24 @@ name: Multi-Arch Build - on: push: branches: [ "main", "development" ] pull_request: - env: DOCKER_ORG: ${{ secrets.DOCKER_USER }} - jobs: - compose: - #runs-on: self-hosted - runs-on: ubuntu-latest + build-services: + runs-on: self-hosted environment: AUTH - strategy: fail-fast: false matrix: arch: [ x86_64, aarch64, armhf ] - steps: - uses: actions/checkout@v4 - - name: Enable QEMU uses: docker/setup-qemu-action@v3 - - name: Enable Buildx uses: docker/setup-buildx-action@v3 - - name: Login to Docker Hub uses: docker/login-action@v3 with: @@ -37,22 +28,46 @@ jobs: id: sanitize run: | RAW="${{ github.ref_name }}" - # lowercase TAG=$(echo "$RAW" | tr '[:upper:]' '[:lower:]') - # replace invalid chars with '-' TAG=$(echo "$TAG" | sed 's/[^a-z0-9._-]/-/g') echo "tag=$TAG" >> $GITHUB_OUTPUT + - name: Build docker-compose stack + env: + BALENA_ARCH: ${{ matrix.arch }} + BAKE_TAG: ${{ steps.sanitize.outputs.tag }} + MYSQL_ROOT_PASSWORD: ${{ secrets.MYSQL_ROOT_PASSWORD }} + MYSQL_USER: ${{ secrets.MYSQL_USER }} + MYSQL_PASSWORD: ${{ secrets.MYSQL_PASSWORD }} + HASH_PASSWORD: ${{ secrets.HASH_PASSWORD }} + run: | + case "${BALENA_ARCH}" in + "armhf") export PLATFORM="linux/arm/v7" ;; + "aarch64") export PLATFORM="linux/arm64" ;; + "x86_64") export PLATFORM="linux/amd64" ;; + *) export PLATFORM="linux/$(uname -m)" ;; + esac + cp -vf "docker-compose.${BALENA_ARCH}" docker-compose.yml + docker buildx bake -f docker-bake.hcl \ + --set "*.platform=${PLATFORM}" \ + --push - # Install Docker Compose v2 plugin + deploy: + runs-on: self-hosted + environment: AUTH + needs: build-services + if: github.event_name != 'pull_request' + steps: + - uses: actions/checkout@v4 + - name: Login to Docker Hub + uses: docker/login-action@v3 + with: + username: ${{ secrets.DOCKER_USER }} + password: ${{ secrets.DOCKER_PASS }} - name: Set up Docker Compose uses: docker/setup-compose-action@v1 with: - version: latest # or a specific version like v2.27.0 - - - name: Build docker-compose stack + version: latest + - name: Deploy stack env: - ARCH: ${{ matrix.arch }} - BAKE_TAG: ${{ steps.sanitize.outputs.tag }} - run: | - docker buildx bake --push -f "docker-compose.${ARCH}" - docker compose up -d + BAKE_TAG: ${{ github.ref_name }} + run: docker compose up -d diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index f5c8916924344a6f2fe52249e923b2f92ebd2b1e..ebbe215eb3da8d934c305f8204df5d3d53f1500c 100644 GIT binary patch delta 14897 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�pV=tZB?7@`es7}E-#jI42 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 GA^`w|4+B;J diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 8018c5616..44b99802c 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -6,7 +6,7 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn +COPY .yarn yarn RUN apk update \ && apk add --no-cache yarn \ && yarn install --immutable \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf index fb04f5df1..8d391bd94 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -6,7 +6,7 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn +COPY .yarn yarn RUN apk update \ && apk add --no-cache yarn \ && yarn install --immutable \ diff --git a/Dockerfile.x86_64 b/Dockerfile.x86_64 index c031f8f6d..d81ca321a 100644 --- a/Dockerfile.x86_64 +++ b/Dockerfile.x86_64 @@ -6,7 +6,7 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn +COPY .yarn yarn RUN apk update \ && apk add --no-cache yarn \ && yarn install --immutable \ diff --git a/Scripts/composer.sh b/Scripts/composer.sh index 98094574b..d61e0e350 100755 --- a/Scripts/composer.sh +++ b/Scripts/composer.sh @@ -10,7 +10,7 @@ TOPDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd) composer="${TOPDIR}/bin/composer" if [ -n "$(command -v composer)" ]; then composer="composer" -elif [ ! -f $composer ]; then +elif [ ! -f "$composer" ]; then slogger -st "$0" "Composer setup...\n" mkdir -p "$(dirname "$composer")" curl -sS https://getcomposer.org/installer | php -- --install-dir="$(dirname "$composer")" --filename=composer diff --git a/Scripts/lib/util.sh b/Scripts/lib/util.sh index 9eac628ca..8a1335aa7 100755 --- a/Scripts/lib/util.sh +++ b/Scripts/lib/util.sh @@ -3,11 +3,13 @@ set -e TOPDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd) . init_functions . function relative_path() { - relative_path="${2#$1}" + [ "$#" -lt 1 ] && echo "${FUNCNAME[0]} ''" && exit 1 + relative_path="${2#"$1"}" echo "${relative_path#./}" } #; export -f relative_path function cake_path() { + [ "$#" -lt 1 ] && echo "${FUNCNAME[0]} ''" && exit 1 bash -c "php -r '\ require \"${TOPDIR}/Config/paths.php\"; \ printf(constant(\"$1\"));\ diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 4a63a94cc..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -2,6 +2,8 @@ s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g s/(Dockerfile\.)[^\.]*/\1armhf/g s/%%BALENA_ARCH%%/armhf/g s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g diff --git a/balena-storage/build.aarch64.sh b/balena-storage/build.aarch64.sh new file mode 100644 index 000000000..e69de29bb diff --git a/balena-storage/build.armhf.sh b/balena-storage/build.armhf.sh new file mode 100644 index 000000000..e69de29bb diff --git a/balena-storage/build.x86_64.sh b/balena-storage/build.x86_64.sh new file mode 100644 index 000000000..e69de29bb diff --git a/build.aarch64.sh b/build.aarch64.sh new file mode 100755 index 000000000..e5fc34ee8 --- /dev/null +++ b/build.aarch64.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . aarch64 3 0 +docker buildx bake -f docker-bake.hcl --service php-fpm \ + --set "*.platform=linux/arm64" diff --git a/build.armhf.sh b/build.armhf.sh new file mode 100755 index 000000000..ee9bc9254 --- /dev/null +++ b/build.armhf.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . armhf 3 0 +docker buildx bake -f docker-bake.hcl --service php-fpm \ + --set "*.platform=linux/arm/v7" diff --git a/build.template b/build.template new file mode 100755 index 000000000..83e30318e --- /dev/null +++ b/build.template @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . %%BALENA_ARCH%% 3 0 +docker buildx bake -f docker-bake.hcl --service php-fpm \ + --set "*.platform=%%PLATFORM%%" diff --git a/build.x86_64.sh b/build.x86_64.sh new file mode 100755 index 000000000..30624676b --- /dev/null +++ b/build.x86_64.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . x86_64 3 0 +docker buildx bake -f docker-bake.hcl --service php-fpm \ + --set "*.platform=linux/amd64" diff --git a/build/.travis_linux_php.ini b/build/.travis_linux_php.ini deleted file mode 100644 index df68960bf..000000000 --- a/build/.travis_linux_php.ini +++ /dev/null @@ -1 +0,0 @@ -timezone=Europe/Paris diff --git a/build/.travis_osx_php.ini b/build/.travis_osx_php.ini deleted file mode 100644 index df68960bf..000000000 --- a/build/.travis_osx_php.ini +++ /dev/null @@ -1 +0,0 @@ -timezone=Europe/Paris diff --git a/build/.travis_windows_php.ini b/build/.travis_windows_php.ini deleted file mode 100644 index df68960bf..000000000 --- a/build/.travis_windows_php.ini +++ /dev/null @@ -1 +0,0 @@ -timezone=Europe/Paris diff --git a/deploy.sh b/deploy.sh index 823093852..7e75abc22 100755 --- a/deploy.sh +++ b/deploy.sh @@ -23,21 +23,7 @@ export COLUMNS=0 export LINES=0 export SYSTEMD_NO_WRAP=0 -# Fixes: Agent pid alive -pid="$SSH_AGENT_PID" - -while kill -0 "$pid" 2>/dev/null; do - echo "Agent $pid alive" - sleep 1 -done - -echo "Agent $pid is gone" - -if [ -n "$pid" ]; then - balena_deploy "${BASH_SOURCE[0]}" "$@" -else - update_templates -fi +update_templates if [ -n "$REV" ]; then git add docker-compose.yml diff --git a/deployment/images/build.sh b/deployment/images/build.sh deleted file mode 100755 index ddce31d83..000000000 --- a/deployment/images/build.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/bin/env bash -docker_build "${BASH_SOURCE[0]}" "$@" diff --git a/deployment/images/httpd/aarch64.env b/deployment/images/httpd/aarch64.env new file mode 120000 index 000000000..d9899bd2a --- /dev/null +++ b/deployment/images/httpd/aarch64.env @@ -0,0 +1 @@ +aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/armhf.env b/deployment/images/httpd/armhf.env new file mode 120000 index 000000000..6d36e1723 --- /dev/null +++ b/deployment/images/httpd/armhf.env @@ -0,0 +1 @@ +armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/build.aarch64.sh b/deployment/images/httpd/build.aarch64.sh new file mode 100755 index 000000000..be87cd1ae --- /dev/null +++ b/deployment/images/httpd/build.aarch64.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . aarch64 3 0 +docker buildx bake -f docker-bake.hcl --service httpd \ + --set "*.platform=linux/arm64" diff --git a/deployment/images/httpd/build.armhf.sh b/deployment/images/httpd/build.armhf.sh new file mode 100755 index 000000000..fb83c1699 --- /dev/null +++ b/deployment/images/httpd/build.armhf.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . armhf 3 0 +docker buildx bake -f docker-bake.hcl --service httpd \ + --set "*.platform=linux/arm/v7" diff --git a/deployment/images/httpd/build.template b/deployment/images/httpd/build.template new file mode 100644 index 000000000..687ed96cd --- /dev/null +++ b/deployment/images/httpd/build.template @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . %%BALENA_ARCH%% 3 0 +docker buildx bake -f docker-bake.hcl --service httpd \ + --set "*.platform=%%PLATFORM%%" diff --git a/deployment/images/httpd/build.x86_64.sh b/deployment/images/httpd/build.x86_64.sh new file mode 100755 index 000000000..796b204c2 --- /dev/null +++ b/deployment/images/httpd/build.x86_64.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . x86_64 3 0 +docker buildx bake -f docker-bake.hcl --service httpd \ + --set "*.platform=linux/amd64" diff --git a/deployment/images/httpd/x86_64.env b/deployment/images/httpd/x86_64.env new file mode 120000 index 000000000..0a9598a25 --- /dev/null +++ b/deployment/images/httpd/x86_64.env @@ -0,0 +1 @@ +x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.aarch64 b/deployment/images/mysqldb/Dockerfile.aarch64 index 317c1ff7b..617a06211 100644 --- a/deployment/images/mysqldb/Dockerfile.aarch64 +++ b/deployment/images/mysqldb/Dockerfile.aarch64 @@ -1,10 +1,6 @@ ARG SECONDARY_HUB FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-arm64v8-10.6.13} -# When using volumes (-v flags) permissions issues can arise -# between the host OS and the container, we avoid this issue -# by allowing you to specify the user PUID and group PGID. -# $ id $USER ARG PUID ENV PUID=${PUID:-0} ARG PGID @@ -13,25 +9,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-'localhost'} ARG TZ ENV TZ=${TZ:-'Europe/Paris'} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-'maria-abc'} -# Optional -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-'aria_db'} -# Optional -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-'maria'} -# Optional -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-'maria-abc'} -# Optional ARG MYSQL_BIND_ADDRESS ENV MYSQL_BIND_ADDRESS=${MYSQL_BIND_ADDRESS:-0.0.0.0} -# The MariaDB/MySQL tools read configuration files in the following order: -# 1. "/etc/mysql/my.cnf" to set global defaults, -# 2. "/etc/mysql/conf.d/my.cnf" to set server options. -# 3. "~/.my.cnf" User +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent + COPY conf.d/my.cnf /etc/my.cnf.d/my.cnf RUN sed -i.bind "/bind-address/s/=.*$/= ${MYSQL_BIND_ADDRESS}/" /etc/my.cnf.d/my.cnf RUN sed -i.user "/user/s/=.*$/= ${USER}/" /etc/my.cnf.d/my.cnf @@ -42,23 +29,19 @@ RUN apk update \ build-base \ expect \ xz \ - # auth_ed25519 support package \ mariadb-client \ && apk del build-base \ && rm -rf /var/cache/apk/* -# MYSQL_ROOT_PASSWORD secured configuration COPY mysql_secure_shell . RUN chmod 1755 mysql_secure_shell \ && ./mysql_secure_shell -RUN echo "***** Fix root PRIVILEGES AND CREATE USER ${MYSQL_USER} with ${MYSQL_DATABASE} PRIVILEGES " \ - && echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'% WITH GRANT OPTION;" | tee -a p.sql \ - && echo "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" | tee -a p.sql \ - && echo "GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%;" | tee -a p.sql \ - && echo "FLUSH PRIVILEGES;" | tee -a p.sql \ - && mkdir -p /config/initdb.d/ && mv p.sql /config/initdb.d/patch.sql +# This script runs ONCE at first container start, using runtime env vars +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh +RUN chmod 755 /docker-entrypoint-initdb.d/init-db.sh +# Splash screen ;) COPY mariadb.ans . RUN cat mariadb.ans diff --git a/deployment/images/mysqldb/Dockerfile.armhf b/deployment/images/mysqldb/Dockerfile.armhf index 0fc4e3bde..991b3a497 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf +++ b/deployment/images/mysqldb/Dockerfile.armhf @@ -1,10 +1,6 @@ ARG SECONDARY_HUB FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-arm32v7-10.6.13} -# When using volumes (-v flags) permissions issues can arise -# between the host OS and the container, we avoid this issue -# by allowing you to specify the user PUID and group PGID. -# $ id $USER ARG PUID ENV PUID=${PUID:-0} ARG PGID @@ -13,25 +9,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-'localhost'} ARG TZ ENV TZ=${TZ:-'Europe/Paris'} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-'maria-abc'} -# Optional -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-'aria_db'} -# Optional -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-'maria'} -# Optional -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-'maria-abc'} -# Optional ARG MYSQL_BIND_ADDRESS ENV MYSQL_BIND_ADDRESS=${MYSQL_BIND_ADDRESS:-0.0.0.0} -# The MariaDB/MySQL tools read configuration files in the following order: -# 1. "/etc/mysql/my.cnf" to set global defaults, -# 2. "/etc/mysql/conf.d/my.cnf" to set server options. -# 3. "~/.my.cnf" User +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent + COPY conf.d/my.cnf /etc/my.cnf.d/my.cnf RUN sed -i.bind "/bind-address/s/=.*$/= ${MYSQL_BIND_ADDRESS}/" /etc/my.cnf.d/my.cnf RUN sed -i.user "/user/s/=.*$/= ${USER}/" /etc/my.cnf.d/my.cnf @@ -42,23 +29,19 @@ RUN apk update \ build-base \ expect \ xz \ - # auth_ed25519 support package \ mariadb-client \ && apk del build-base \ && rm -rf /var/cache/apk/* -# MYSQL_ROOT_PASSWORD secured configuration COPY mysql_secure_shell . RUN chmod 1755 mysql_secure_shell \ && ./mysql_secure_shell -RUN echo "***** Fix root PRIVILEGES AND CREATE USER ${MYSQL_USER} with ${MYSQL_DATABASE} PRIVILEGES " \ - && echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'% WITH GRANT OPTION;" | tee -a p.sql \ - && echo "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" | tee -a p.sql \ - && echo "GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%;" | tee -a p.sql \ - && echo "FLUSH PRIVILEGES;" | tee -a p.sql \ - && mkdir -p /config/initdb.d/ && mv p.sql /config/initdb.d/patch.sql +# This script runs ONCE at first container start, using runtime env vars +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh +RUN chmod 755 /docker-entrypoint-initdb.d/init-db.sh +# Splash screen ;) COPY mariadb.ans . RUN cat mariadb.ans diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template b/deployment/images/mysqldb/Dockerfile.template index 7be52bc45..dc0dc16e8 100644 --- a/deployment/images/mysqldb/Dockerfile.template +++ b/deployment/images/mysqldb/Dockerfile.template @@ -1,10 +1,6 @@ ARG SECONDARY_HUB FROM ${SECONDARY_HUB:-%%SECONDARY_HUB%%}:${SECONDARY_TAG:-%%SECONDARY_TAG%%} -# When using volumes (-v flags) permissions issues can arise -# between the host OS and the container, we avoid this issue -# by allowing you to specify the user PUID and group PGID. -# $ id $USER ARG PUID ENV PUID=${PUID:-0} ARG PGID @@ -13,25 +9,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-'localhost'} ARG TZ ENV TZ=${TZ:-'Europe/Paris'} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-'maria-abc'} -# Optional -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-'aria_db'} -# Optional -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-'maria'} -# Optional -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-'maria-abc'} -# Optional ARG MYSQL_BIND_ADDRESS ENV MYSQL_BIND_ADDRESS=${MYSQL_BIND_ADDRESS:-0.0.0.0} -# The MariaDB/MySQL tools read configuration files in the following order: -# 1. "/etc/mysql/my.cnf" to set global defaults, -# 2. "/etc/mysql/conf.d/my.cnf" to set server options. -# 3. "~/.my.cnf" User +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent + COPY conf.d/my.cnf /etc/my.cnf.d/my.cnf RUN sed -i.bind "/bind-address/s/=.*$/= ${MYSQL_BIND_ADDRESS}/" /etc/my.cnf.d/my.cnf RUN sed -i.user "/user/s/=.*$/= ${USER}/" /etc/my.cnf.d/my.cnf @@ -42,23 +29,19 @@ RUN apk update \ build-base \ expect \ xz \ - # auth_ed25519 support package \ mariadb-client \ && apk del build-base \ && rm -rf /var/cache/apk/* -# MYSQL_ROOT_PASSWORD secured configuration COPY mysql_secure_shell . RUN chmod 1755 mysql_secure_shell \ && ./mysql_secure_shell -RUN echo "***** Fix root PRIVILEGES AND CREATE USER ${MYSQL_USER} with ${MYSQL_DATABASE} PRIVILEGES " \ - && echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'% WITH GRANT OPTION;" | tee -a p.sql \ - && echo "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" | tee -a p.sql \ - && echo "GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%;" | tee -a p.sql \ - && echo "FLUSH PRIVILEGES;" | tee -a p.sql \ - && mkdir -p /config/initdb.d/ && mv p.sql /config/initdb.d/patch.sql +# This script runs ONCE at first container start, using runtime env vars +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh +RUN chmod 755 /docker-entrypoint-initdb.d/init-db.sh +# Splash screen ;) COPY mariadb.ans . RUN cat mariadb.ans diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 4a63a94cc..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -2,6 +2,8 @@ s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g s/(Dockerfile\.)[^\.]*/\1armhf/g s/%%BALENA_ARCH%%/armhf/g s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g diff --git a/deployment/images/mysqldb/Dockerfile.x86_64 b/deployment/images/mysqldb/Dockerfile.x86_64 index e6fb457f4..60af5da53 100644 --- a/deployment/images/mysqldb/Dockerfile.x86_64 +++ b/deployment/images/mysqldb/Dockerfile.x86_64 @@ -1,10 +1,6 @@ ARG SECONDARY_HUB FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-amd64-10.6.13} -# When using volumes (-v flags) permissions issues can arise -# between the host OS and the container, we avoid this issue -# by allowing you to specify the user PUID and group PGID. -# $ id $USER ARG PUID ENV PUID=${PUID:-0} ARG PGID @@ -13,25 +9,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-'localhost'} ARG TZ ENV TZ=${TZ:-'Europe/Paris'} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-'maria-abc'} -# Optional -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-'aria_db'} -# Optional -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-'maria'} -# Optional -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-'maria-abc'} -# Optional ARG MYSQL_BIND_ADDRESS ENV MYSQL_BIND_ADDRESS=${MYSQL_BIND_ADDRESS:-0.0.0.0} -# The MariaDB/MySQL tools read configuration files in the following order: -# 1. "/etc/mysql/my.cnf" to set global defaults, -# 2. "/etc/mysql/conf.d/my.cnf" to set server options. -# 3. "~/.my.cnf" User +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent + COPY conf.d/my.cnf /etc/my.cnf.d/my.cnf RUN sed -i.bind "/bind-address/s/=.*$/= ${MYSQL_BIND_ADDRESS}/" /etc/my.cnf.d/my.cnf RUN sed -i.user "/user/s/=.*$/= ${USER}/" /etc/my.cnf.d/my.cnf @@ -42,23 +29,19 @@ RUN apk update \ build-base \ expect \ xz \ - # auth_ed25519 support package \ mariadb-client \ && apk del build-base \ && rm -rf /var/cache/apk/* -# MYSQL_ROOT_PASSWORD secured configuration COPY mysql_secure_shell . RUN chmod 1755 mysql_secure_shell \ && ./mysql_secure_shell -RUN echo "***** Fix root PRIVILEGES AND CREATE USER ${MYSQL_USER} with ${MYSQL_DATABASE} PRIVILEGES " \ - && echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'% WITH GRANT OPTION;" | tee -a p.sql \ - && echo "CREATE USER '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}';" | tee -a p.sql \ - && echo "GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%;" | tee -a p.sql \ - && echo "FLUSH PRIVILEGES;" | tee -a p.sql \ - && mkdir -p /config/initdb.d/ && mv p.sql /config/initdb.d/patch.sql +# This script runs ONCE at first container start, using runtime env vars +COPY init-db.sh /docker-entrypoint-initdb.d/init-db.sh +RUN chmod 755 /docker-entrypoint-initdb.d/init-db.sh +# Splash screen ;) COPY mariadb.ans . RUN cat mariadb.ans diff --git a/deployment/images/mysqldb/aarch64.env b/deployment/images/mysqldb/aarch64.env new file mode 120000 index 000000000..d9899bd2a --- /dev/null +++ b/deployment/images/mysqldb/aarch64.env @@ -0,0 +1 @@ +aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/armhf.env b/deployment/images/mysqldb/armhf.env new file mode 120000 index 000000000..6d36e1723 --- /dev/null +++ b/deployment/images/mysqldb/armhf.env @@ -0,0 +1 @@ +armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/build.aarch64.sh b/deployment/images/mysqldb/build.aarch64.sh new file mode 100755 index 000000000..972f494fc --- /dev/null +++ b/deployment/images/mysqldb/build.aarch64.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . aarch64 3 0 +docker buildx bake -f docker-bake.hcl --service mysqldb \ + --set "*.platform=linux/arm64" diff --git a/deployment/images/mysqldb/build.armhf.sh b/deployment/images/mysqldb/build.armhf.sh new file mode 100755 index 000000000..622fcbf42 --- /dev/null +++ b/deployment/images/mysqldb/build.armhf.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . armhf 3 0 +docker buildx bake -f docker-bake.hcl --service mysqldb \ + --set "*.platform=linux/arm/v7" diff --git a/deployment/images/mysqldb/build.template b/deployment/images/mysqldb/build.template new file mode 100644 index 000000000..fdf0d44fd --- /dev/null +++ b/deployment/images/mysqldb/build.template @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . %%BALENA_ARCH%% 3 0 +docker buildx bake -f docker-bake.hcl --service mysqldb \ + --set "*.platform=%%PLATFORM%%" diff --git a/deployment/images/mysqldb/build.x86_64.sh b/deployment/images/mysqldb/build.x86_64.sh new file mode 100755 index 000000000..c7b1c02cb --- /dev/null +++ b/deployment/images/mysqldb/build.x86_64.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . x86_64 3 0 +docker buildx bake -f docker-bake.hcl --service mysqldb \ + --set "*.platform=linux/amd64" diff --git a/deployment/images/mysqldb/curl.sh b/deployment/images/mysqldb/curl.sh index f856e1715..54a1f5c7d 100755 --- a/deployment/images/mysqldb/curl.sh +++ b/deployment/images/mysqldb/curl.sh @@ -3,8 +3,8 @@ TOPDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" # The top of our source tree is the parent of this scripts dir TOPDIR+="deployment/images/mariadb" -mkdir -p $TOPDIR -cd $TOPDIR || exit 1 +mkdir -p "$TOPDIR" +cd "$TOPDIR" || exit 1 MARIADB_MAJOR=${MARIADB_MAJOR:-10.4} curl -L "https://raw.githubusercontent.com/docker-library/mariadb/master/$MARIADB_MAJOR/docker-entrypoint.sh" -o docker-entrypoint.sh curl -L "https://raw.githubusercontent.com/docker-library/mariadb/master/$MARIADB_MAJOR/Dockerfile" -o Dockerfile.template diff --git a/deployment/images/mysqldb/initdb.sh b/deployment/images/mysqldb/initdb.sh new file mode 100644 index 000000000..d7d9635db --- /dev/null +++ b/deployment/images/mysqldb/initdb.sh @@ -0,0 +1,23 @@ +#!/bin/sh +# /docker-entrypoint-initdb.d/init-db.sh +# Runs once on first startup. All values come from runtime environment. + +set -e + +# Fail fast if any required secret is missing +for var in MYSQL_ROOT_PASSWORD MYSQL_USER MYSQL_PASSWORD MYSQL_DATABASE; do + if [ -z "${!var}" ]; then + echo "ERROR: $var is not set. Secrets must be provided at runtime." + exit 1 + fi +done + +cat < /tmp/init.sql +GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION; +CREATE USER IF NOT EXISTS '${MYSQL_USER}'@'%' IDENTIFIED BY '${MYSQL_PASSWORD}'; +GRANT ALL PRIVILEGES ON ${MYSQL_DATABASE}.* TO '${MYSQL_USER}'@'%'; +FLUSH PRIVILEGES; +EOF + +mysql -u root -p"${MYSQL_ROOT_PASSWORD}" < /tmp/init.sql +rm -f /tmp/init.sql diff --git a/deployment/images/mysqldb/x86_64.env b/deployment/images/mysqldb/x86_64.env new file mode 120000 index 000000000..0a9598a25 --- /dev/null +++ b/deployment/images/mysqldb/x86_64.env @@ -0,0 +1 @@ +x86_64.env \ No newline at end of file diff --git a/docker-bake.hcl b/docker-bake.hcl new file mode 100644 index 000000000..bedbba5de --- /dev/null +++ b/docker-bake.hcl @@ -0,0 +1,109 @@ +variable "DOCKER_ORG" { + default = "betothreeprod" +} + +variable "BAKE_TAG" { + default = "latest" +} + +variable "PLATFORM" { + default = "linux/amd64" +} + +variable "BALENA_ARCH" { + default = "amd64" +} + +# --------------------------------------------------------------------------- +# Secrets — values are NEVER baked into image layers. +# The "env=" in each secrets entry tells BuildKit to read the secret value +# from that environment variable in the shell that runs "bake". +# CI just needs to export these vars before invoking bake — nothing else. +# --------------------------------------------------------------------------- +variable "MYSQL_ROOT_PASSWORD" { + default = "" + sensitive = true +} +variable "MYSQL_USER" { + default = "" + sensitive = true +} +variable "MYSQL_PASSWORD" { + default = "" + sensitive = true +} +variable "HASH_PASSWORD" { + default = "" + sensitive = true +} + +group "default" { + targets = ["db", "php-fpm", "httpd", "balena-storage"] +} + +target "db" { + context = "deployment/images/mysqldb" + dockerfile = "Dockerfile.${BALENA_ARCH}" + platforms = ["${PLATFORM}"] + tags = [ + "${DOCKER_ORG}/mysqldb:latest", + "${DOCKER_ORG}/mysqldb:${BAKE_TAG}" + ] + args = { + PUID = "1000" + PGID = "1000" + } + secrets = [ + "id=mysql_root_password,env=MYSQL_ROOT_PASSWORD", + "id=mysql_user,env=MYSQL_USER", + "id=mysql_password,env=MYSQL_PASSWORD", + ] +} + +target "php-fpm" { + context = "." + dockerfile = "Dockerfile.${BALENA_ARCH}" + platforms = ["${PLATFORM}"] + tags = [ + "${DOCKER_ORG}/php-fpm:latest", + "${DOCKER_ORG}/php-fpm:${BAKE_TAG}" + ] + args = { + PUID = "1000" + PGID = "1000" + MYPHPCMS_DIR = "app/webroot/php-cms" + MYPHPCMS_LOG = "app/tmp/logs" + HTDOCS = "/var/www/html" + } + secrets = [ + "id=mysql_root_password,env=MYSQL_ROOT_PASSWORD", + "id=mysql_user,env=MYSQL_USER", + "id=mysql_password,env=MYSQL_PASSWORD", + "id=hash_password,env=HASH_PASSWORD", + ] +} + +target "httpd" { + context = "deployment/images/httpd" + dockerfile = "Dockerfile.${BALENA_ARCH}" + platforms = ["${PLATFORM}"] + tags = [ + "${DOCKER_ORG}/httpd:latest", + "${DOCKER_ORG}/httpd:${BAKE_TAG}" + ] + args = { + PUID = "1000" + PGID = "1000" + HTDOCS = "/var/www/html" + } +} + +target "balena-storage" { + context = "balena-storage" + dockerfile = "Dockerfile.${BALENA_ARCH}" + platforms = ["${PLATFORM}"] + tags = [ + "${DOCKER_ORG}/balena-storage:latest", + "${DOCKER_ORG}/balena-storage:${BAKE_TAG}" + ] +} diff --git a/docker-compose.aarch64 b/docker-compose.aarch64 index 8fbfe8d2e..5d73643c6 100644 --- a/docker-compose.aarch64 +++ b/docker-compose.aarch64 @@ -1,14 +1,7 @@ -version: "3.9" - +version: "2.4" services: db: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb dockerfile: Dockerfile.aarch64 args: @@ -18,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -34,12 +31,6 @@ services: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . dockerfile: Dockerfile.aarch64 args: @@ -52,6 +43,11 @@ services: env_file: - common.env - aarch64.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -67,12 +63,6 @@ services: - cake httpd: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd dockerfile: Dockerfile.aarch64 args: @@ -94,12 +84,6 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest @@ -109,6 +93,7 @@ services: - aarch64.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h @@ -130,3 +115,20 @@ volumes: networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt diff --git a/docker-compose.armhf b/docker-compose.armhf index 4d8953c07..bf76f70dc 100644 --- a/docker-compose.armhf +++ b/docker-compose.armhf @@ -1,14 +1,7 @@ -version: "3.9" - +version: "2.4" services: db: build: - x-bake: - platforms: - - linux/arm/v7 - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb dockerfile: Dockerfile.armhf args: @@ -18,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -34,12 +31,6 @@ services: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - linux/arm/v7 - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . dockerfile: Dockerfile.armhf args: @@ -52,6 +43,11 @@ services: env_file: - common.env - armhf.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -67,12 +63,6 @@ services: - cake httpd: build: - x-bake: - platforms: - - linux/arm/v7 - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd dockerfile: Dockerfile.armhf args: @@ -94,12 +84,6 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - linux/arm/v7 - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest @@ -109,6 +93,7 @@ services: - armhf.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h @@ -129,4 +114,21 @@ volumes: db-backup: networks: cake: - external: false \ No newline at end of file + external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt diff --git a/docker-compose.template b/docker-compose.template index 9fc9575a2..402609440 100644 --- a/docker-compose.template +++ b/docker-compose.template @@ -1,14 +1,7 @@ -version: "3.9" - +version: "2.4" services: db: build: - x-bake: - platforms: - - %%PLATFORM%% - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb dockerfile: Dockerfile.%%BALENA_ARCH%% args: @@ -18,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -34,12 +31,6 @@ services: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - %%PLATFORM%% - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . dockerfile: Dockerfile.%%BALENA_ARCH%% args: @@ -52,6 +43,11 @@ services: env_file: - common.env - %%BALENA_ARCH%%.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -67,12 +63,6 @@ services: - cake httpd: build: - x-bake: - platforms: - - %%PLATFORM%% - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd dockerfile: Dockerfile.%%BALENA_ARCH%% args: @@ -94,12 +84,6 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - %%PLATFORM%% - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage dockerfile: Dockerfile.%%BALENA_ARCH%% image: betothreeprod/balena-storage:latest @@ -109,6 +93,7 @@ services: - %%BALENA_ARCH%%.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h @@ -129,4 +114,21 @@ volumes: db-backup: networks: cake: - external: false \ No newline at end of file + external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt diff --git a/docker-compose.x86_64 b/docker-compose.x86_64 index 9659fb516..5f7075ba4 100644 --- a/docker-compose.x86_64 +++ b/docker-compose.x86_64 @@ -1,14 +1,7 @@ -version: "3.9" - +version: "2.4" services: db: build: - x-bake: - platforms: - - linux/amd64 - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb dockerfile: Dockerfile.x86_64 args: @@ -18,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -34,12 +31,6 @@ services: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - linux/amd64 - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . dockerfile: Dockerfile.x86_64 args: @@ -52,6 +43,11 @@ services: env_file: - common.env - x86_64.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -67,12 +63,6 @@ services: - cake httpd: build: - x-bake: - platforms: - - linux/amd64 - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd dockerfile: Dockerfile.x86_64 args: @@ -94,12 +84,6 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - linux/amd64 - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest @@ -109,6 +93,7 @@ services: - x86_64.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h @@ -129,4 +114,21 @@ volumes: db-backup: networks: cake: - external: false \ No newline at end of file + external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt diff --git a/docker-compose.yml b/docker-compose.yml index 8fbfe8d2e..bf76f70dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,16 +1,9 @@ -version: "3.9" - +version: "2.4" services: db: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/mysqldb:latest - - ${DOCKER_ORG}/mysqldb:${BAKE_TAG} context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -18,6 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris + secrets: + - mysql_root_password + - mysql_user + - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -29,19 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/php-fpm:latest - - ${DOCKER_ORG}/php-fpm:${BAKE_TAG} context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -51,7 +42,12 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env + secrets: + - mysql_root_password + - mysql_user + - mysql_password + - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -67,14 +63,8 @@ services: - cake httpd: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/httpd:latest - - ${DOCKER_ORG}/httpd:${BAKE_TAG} context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -82,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -94,21 +84,16 @@ services: - cake balena-storage: build: - x-bake: - platforms: - - linux/arm64 - tags: - - ${DOCKER_ORG}/balena-storage:latest - - ${DOCKER_ORG}/balena-storage:${BAKE_TAG} context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake +# Docker-Compose >=3.4 only # healthcheck: # test: ["CMD", "/usr/src/scripts/backup-db.sh"] # interval: 720h @@ -130,3 +115,20 @@ volumes: networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +secrets: + mysql_root_password: + file: ./secrets/mysql_root_password.txt + mysql_user: + file: ./secrets/mysql_user.txt + mysql_password: + file: ./secrets/mysql_password.txt + hash_password: + file: ./secrets/hash_password.txt diff --git a/package.json b/package.json index 2f6f08f0e..a7aa4fe1e 100644 --- a/package.json +++ b/package.json @@ -23,8 +23,8 @@ "url": "https://github.com/b23prodtm/acake2php/issues" }, "homepage": "https://github.com/b23prodtm/acake2php#readme", + "packageManager": "yarn@4.6.0", "dependencies": { - "balena-cloud-apps": "^1.0.48" - }, - "packageManager": "yarn@4.6.0" + "balena-cloud-apps": "^1.0.49" + } } diff --git a/test-cake.sh b/test-cake.sh index cd8b5859c..14e09a211 100755 --- a/test-cake.sh +++ b/test-cake.sh @@ -58,7 +58,7 @@ while [[ "$#" -gt 0 ]]; do case $1 in --docker ) config_args="--docker ${config_args}" migrate="--docker ${migrate}" - db_data="$(pwd)/mysqld$(echo ${db_data} | cut -d : -f 2)" + db_data="$(pwd)/mysqld$(echo "${db_data}" | cut -d : -f 2)" ;; *) echo "Unknown parameter, passed $0: $1"; exit 1;; esac; shift; done diff --git a/yarn.lock b/yarn.lock index 1c93bac32..d58a4fab1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,335 +1,9 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 -__metadata: - version: 8 - cacheKey: 10c0 -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" +"balena-cloud-apps@file:../../../usr/local/lib/node_modules/balena-cloud-apps": + version "1.0.49" + resolved "file:../../../usr/local/lib/node_modules/balena-cloud-apps" dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"balena-cloud-apps@npm:^1.0.48": - version: 1.0.48 - resolution: "balena-cloud-apps@npm:1.0.48" - dependencies: - shelljs: "npm:^0.10.0" - bin: - auto_reboot: vendor/cni/auto_reboot.sh - balena_deploy: vendor/cni/balena_deploy.sh - clone_project: vendor/cni/clone_project.sh - docker_build: vendor/cni/docker_build.sh - git_fix_issue: vendor/cni/git_fix_issue.sh - git_fix_issue_close: vendor/cni/git_fix_issue_close.sh - git_retag: vendor/cni/git_retag.sh - init_functions: vendor/cni/init_functions.sh - post_install: vendor/cni/post_install.sh - update_templates: vendor/cni/update_templates.sh - checksum: 10c0/b6ee5caa79558765328470fc9d08792556b563840d8453d7f5b27f4a7bd6df78090095036ebe18e9092f5cb744914ff5c37dce7bd726033711d6b32eed5fab43 - languageName: node - linkType: hard - -"braces@npm:^3.0.3": - version: 3.0.3 - resolution: "braces@npm:3.0.3" - dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.3": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"execa@npm:^5.1.1": - version: 5.1.1 - resolution: "execa@npm:5.1.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f - languageName: node - linkType: hard - -"fast-glob@npm:^3.3.2": - version: 3.3.3 - resolution: "fast-glob@npm:3.3.3" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.8" - checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.20.1 - resolution: "fastq@npm:1.20.1" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/e5dd725884decb1f11e5c822221d76136f239d0236f176fab80b7b8f9e7619ae57e6b4e5b73defc21e6b9ef99437ee7b545cff8e6c2c337819633712fa9d352e - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micromatch@npm:^4.0.8": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" - dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - -"myphpcms@workspace:.": - version: 0.0.0-use.local - resolution: "myphpcms@workspace:." - dependencies: - balena-cloud-apps: "npm:^1.0.48" - languageName: unknown - linkType: soft - -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" - dependencies: - path-key: "npm:^3.0.0" - checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - -"onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" - dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.1.0 - resolution: "reusify@npm:1.1.0" - checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"shelljs@npm:^0.10.0": - version: 0.10.0 - resolution: "shelljs@npm:0.10.0" - dependencies: - execa: "npm:^5.1.1" - fast-glob: "npm:^3.3.2" - checksum: 10c0/3a18d524e2302fedd6e2b143bc17fd1e4583f41d19cb8ab747f8b00cfe39370044835f72adcab63a25ce004cae1605a8825afb3fa4dd5f78217b17b9ef966468 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.3": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard + shelljs "^0.10.0" From 3f792b65dcd3f758a79b8905481d86459ec76e5a Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:14 +0100 Subject: [PATCH 068/283] armhf pushed ./deployment/images/httpd --- build.template | 2 +- deployment/images/httpd/build.armhf.sh | 2 +- deployment/images/httpd/build.template | 2 +- deployment/images/mysqldb/build.template | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/build.template b/build.template index 83e30318e..9009810af 100755 --- a/build.template +++ b/build.template @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . %%BALENA_ARCH%% 3 0 -docker buildx bake -f docker-bake.hcl --service php-fpm \ +docker buildx bake -f docker-bake.hcl php-fpm \ --set "*.platform=%%PLATFORM%%" diff --git a/deployment/images/httpd/build.armhf.sh b/deployment/images/httpd/build.armhf.sh index fb83c1699..6490f25e1 100755 --- a/deployment/images/httpd/build.armhf.sh +++ b/deployment/images/httpd/build.armhf.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . armhf 3 0 -docker buildx bake -f docker-bake.hcl --service httpd \ +docker buildx bake -f docker-bake.hcl httpd \ --set "*.platform=linux/arm/v7" diff --git a/deployment/images/httpd/build.template b/deployment/images/httpd/build.template index 687ed96cd..44a32b0e3 100644 --- a/deployment/images/httpd/build.template +++ b/deployment/images/httpd/build.template @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . %%BALENA_ARCH%% 3 0 -docker buildx bake -f docker-bake.hcl --service httpd \ +docker buildx bake -f docker-bake.hcl httpd \ --set "*.platform=%%PLATFORM%%" diff --git a/deployment/images/mysqldb/build.template b/deployment/images/mysqldb/build.template index fdf0d44fd..804b5184e 100644 --- a/deployment/images/mysqldb/build.template +++ b/deployment/images/mysqldb/build.template @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . %%BALENA_ARCH%% 3 0 -docker buildx bake -f docker-bake.hcl --service mysqldb \ +docker buildx bake -f docker-bake.hcl mysqldb \ --set "*.platform=%%PLATFORM%%" From 7f2f8cdd407cb074dd85a800f6e10698754da8c9 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:14 +0100 Subject: [PATCH 069/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/build.armhf.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/images/mysqldb/build.armhf.sh b/deployment/images/mysqldb/build.armhf.sh index 622fcbf42..68d48768a 100755 --- a/deployment/images/mysqldb/build.armhf.sh +++ b/deployment/images/mysqldb/build.armhf.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . armhf 3 0 -docker buildx bake -f docker-bake.hcl --service mysqldb \ +docker buildx bake -f docker-bake.hcl mysqldb \ --set "*.platform=linux/arm/v7" From 84d673c52782c2f2402cb1ac723688aab0828105 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:15 +0100 Subject: [PATCH 070/283] armhf pushed ./balena-storage --- build.armhf.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.armhf.sh b/build.armhf.sh index ee9bc9254..147c41fc2 100755 --- a/build.armhf.sh +++ b/build.armhf.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . armhf 3 0 -docker buildx bake -f docker-bake.hcl --service php-fpm \ +docker buildx bake -f docker-bake.hcl php-fpm \ --set "*.platform=linux/arm/v7" From 3fa4c13baafa413aca8ffd81129c6987ffe6c142 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:29 +0100 Subject: [PATCH 071/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.x86_64.sh | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/build.x86_64.sh b/deployment/images/httpd/build.x86_64.sh index 796b204c2..78f4590bf 100755 --- a/deployment/images/httpd/build.x86_64.sh +++ b/deployment/images/httpd/build.x86_64.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . x86_64 3 0 -docker buildx bake -f docker-bake.hcl --service httpd \ +docker buildx bake -f docker-bake.hcl httpd \ --set "*.platform=linux/amd64" From 933d43661af3bf445d16d21b4bb6b461631ce6d7 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:29 +0100 Subject: [PATCH 072/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.x86_64.sh | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/deployment/images/mysqldb/build.x86_64.sh b/deployment/images/mysqldb/build.x86_64.sh index c7b1c02cb..a6e2325aa 100755 --- a/deployment/images/mysqldb/build.x86_64.sh +++ b/deployment/images/mysqldb/build.x86_64.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . x86_64 3 0 -docker buildx bake -f docker-bake.hcl --service mysqldb \ +docker buildx bake -f docker-bake.hcl mysqldb \ --set "*.platform=linux/amd64" From 60947cf2ce279f7747fcac99a185c5391ebf5a11 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:30 +0100 Subject: [PATCH 073/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- build.x86_64.sh | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/build.x86_64.sh b/build.x86_64.sh index 30624676b..e20ddc2ec 100755 --- a/build.x86_64.sh +++ b/build.x86_64.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . x86_64 3 0 -docker buildx bake -f docker-bake.hcl --service php-fpm \ +docker buildx bake -f docker-bake.hcl php-fpm \ --set "*.platform=linux/amd64" From e2fd2bcae9fc43fa454371bb246db55041f8aa4d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:33 +0100 Subject: [PATCH 074/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.aarch64.sh | 2 +- docker-compose.yml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/build.aarch64.sh b/deployment/images/httpd/build.aarch64.sh index be87cd1ae..1f0edee73 100755 --- a/deployment/images/httpd/build.aarch64.sh +++ b/deployment/images/httpd/build.aarch64.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . aarch64 3 0 -docker buildx bake -f docker-bake.hcl --service httpd \ +docker buildx bake -f docker-bake.hcl httpd \ --set "*.platform=linux/arm64" diff --git a/docker-compose.yml b/docker-compose.yml index bf76f70dc..5f7075ba4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From ff21e4cd2c4a01564419e00b395a6bd470236d2d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:33 +0100 Subject: [PATCH 075/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.aarch64.sh | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/deployment/images/mysqldb/build.aarch64.sh b/deployment/images/mysqldb/build.aarch64.sh index 972f494fc..a3ec7630d 100755 --- a/deployment/images/mysqldb/build.aarch64.sh +++ b/deployment/images/mysqldb/build.aarch64.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . aarch64 3 0 -docker buildx bake -f docker-bake.hcl --service mysqldb \ +docker buildx bake -f docker-bake.hcl mysqldb \ --set "*.platform=linux/arm64" From 37c3351137004f0baa5dbefdd46f1bc64fd5a9ee Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:33 +0100 Subject: [PATCH 076/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- build.aarch64.sh | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/build.aarch64.sh b/build.aarch64.sh index e5fc34ee8..d755d1962 100755 --- a/build.aarch64.sh +++ b/build.aarch64.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . aarch64 3 0 -docker buildx bake -f docker-bake.hcl --service php-fpm \ +docker buildx bake -f docker-bake.hcl php-fpm \ --set "*.platform=linux/arm64" From 4eca55387b6c2dca5fcb5a97a3bad9a00b9df238 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:35 +0100 Subject: [PATCH 077/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5f7075ba4..5d73643c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From ce4aee9e1912c330f2e8a76696fd18b9790dff77 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:42 +0100 Subject: [PATCH 078/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file From 1e35f858db238118e45e2394dc7b114ee50f2d1c Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:42 +0100 Subject: [PATCH 079/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 6df10f9f140a811f0d6bec831a07d172170e2886 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:08:43 +0100 Subject: [PATCH 080/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From bbfcca11f6dd53e20a25ee076ba7118ea8e0c5bd Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:28 +0100 Subject: [PATCH 081/283] armhf pushed ./deployment/images/httpd --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5d73643c6..bf76f70dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 3695c226124b7941c74a7007c27f8453e4162136 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:30 +0100 Subject: [PATCH 082/283] armhf pushed ./balena-storage --- balena-storage/build.armhf.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/balena-storage/build.armhf.sh b/balena-storage/build.armhf.sh index e69de29bb..60ff14cd8 100644 --- a/balena-storage/build.armhf.sh +++ b/balena-storage/build.armhf.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . armhf 3 0 +docker buildx bake -f docker-bake.hcl balena-storage \ + --set "*.platform=linux/arm/v7" From 7ae9886af04fe8a99e5a2c5c847256868f689155 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:42 +0100 Subject: [PATCH 083/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file From 2b7209f02d585996cdf9ca2374ebb550c667c334 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:42 +0100 Subject: [PATCH 084/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From a29cd563cf8ae657c358b1a6f8f5c1759e03a330 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:42 +0100 Subject: [PATCH 085/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- balena-storage/build.x86_64.sh | 6 ++++++ 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/balena-storage/build.x86_64.sh b/balena-storage/build.x86_64.sh index e69de29bb..163b45546 100644 --- a/balena-storage/build.x86_64.sh +++ b/balena-storage/build.x86_64.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . x86_64 3 0 +docker buildx bake -f docker-bake.hcl balena-storage \ + --set "*.platform=linux/amd64" From 86e6c6f13dad9715ced1ffafcd5211e12dfa7f13 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:45 +0100 Subject: [PATCH 086/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index bf76f70dc..5f7075ba4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 0439eb6aa14a307bbaefc4f5df385edb6e9fe042 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:45 +0100 Subject: [PATCH 087/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From f4a2ea97d58a24abf1e3973d1afa0a304bb761e7 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:45 +0100 Subject: [PATCH 088/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- balena-storage/build.aarch64.sh | 6 ++++++ 3 files changed, 21 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/balena-storage/build.aarch64.sh b/balena-storage/build.aarch64.sh index e69de29bb..70445e722 100644 --- a/balena-storage/build.aarch64.sh +++ b/balena-storage/build.aarch64.sh @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . aarch64 3 0 +docker buildx bake -f docker-bake.hcl balena-storage \ + --set "*.platform=linux/arm64" From bae686a6698b358b67cd1b4a3892fac1a80ab0f4 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:47 +0100 Subject: [PATCH 089/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5f7075ba4..5d73643c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From f7e2580057c557b8b6c656288a4137c9e2157399 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:56 +0100 Subject: [PATCH 090/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file From 908be8e557fb63bc51a17189e60ee4ac36a0e87d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:57 +0100 Subject: [PATCH 091/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 05d2523a0308f565b586bc735edf9ba391361c93 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:09:57 +0100 Subject: [PATCH 092/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 36aa8e55acdfbb595e28c3177754ba713e125998 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:10:19 +0100 Subject: [PATCH 093/283] armhf pushed ./deployment/images/httpd --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5d73643c6..bf76f70dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From a83faefd0999345f4497d38d637c2df94ccff168 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:06 +0100 Subject: [PATCH 094/283] armhf pushed ./deployment/images/httpd --- deployment/images/mysqldb/build.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/images/mysqldb/build.template b/deployment/images/mysqldb/build.template index 804b5184e..9511d91cb 100644 --- a/deployment/images/mysqldb/build.template +++ b/deployment/images/mysqldb/build.template @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . %%BALENA_ARCH%% 3 0 -docker buildx bake -f docker-bake.hcl mysqldb \ +docker buildx bake -f docker-bake.hcl db \ --set "*.platform=%%PLATFORM%%" From 9ea7b2cf259362c8baf97f9d72332121c7f5e9d7 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:07 +0100 Subject: [PATCH 095/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/build.armhf.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/images/mysqldb/build.armhf.sh b/deployment/images/mysqldb/build.armhf.sh index 68d48768a..78c93b299 100755 --- a/deployment/images/mysqldb/build.armhf.sh +++ b/deployment/images/mysqldb/build.armhf.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . armhf 3 0 -docker buildx bake -f docker-bake.hcl mysqldb \ +docker buildx bake -f docker-bake.hcl db \ --set "*.platform=linux/arm/v7" From 55f3148c40e28a8ebc27fa03257a72e7c2ee4560 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:19 +0100 Subject: [PATCH 096/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file From 7633541086b186e18bcb5947913bec5fc754c27d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:19 +0100 Subject: [PATCH 097/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.x86_64.sh | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/deployment/images/mysqldb/build.x86_64.sh b/deployment/images/mysqldb/build.x86_64.sh index a6e2325aa..8e6de29b9 100755 --- a/deployment/images/mysqldb/build.x86_64.sh +++ b/deployment/images/mysqldb/build.x86_64.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . x86_64 3 0 -docker buildx bake -f docker-bake.hcl mysqldb \ +docker buildx bake -f docker-bake.hcl db \ --set "*.platform=linux/amd64" From 0c851db93332cca804536ea7328114256a378717 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:19 +0100 Subject: [PATCH 098/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 217ef9ac485660787c87e84f16c12e84fc52b1f9 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:22 +0100 Subject: [PATCH 099/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index bf76f70dc..5f7075ba4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From dedbf850dc71142eebb680c4c40b6bcd833417de Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:23 +0100 Subject: [PATCH 100/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.aarch64.sh | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/deployment/images/mysqldb/build.aarch64.sh b/deployment/images/mysqldb/build.aarch64.sh index a3ec7630d..9bcb15535 100755 --- a/deployment/images/mysqldb/build.aarch64.sh +++ b/deployment/images/mysqldb/build.aarch64.sh @@ -2,5 +2,5 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . aarch64 3 0 -docker buildx bake -f docker-bake.hcl mysqldb \ +docker buildx bake -f docker-bake.hcl db \ --set "*.platform=linux/arm64" From 19866dc558ba8d7312db8ffed6a3fe4c048a53c0 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:23 +0100 Subject: [PATCH 101/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 56941848c012551761d24582f69e740d9d88a914 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:11:25 +0100 Subject: [PATCH 102/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5f7075ba4..5d73643c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From b1e12d1148dfa78fa924dbf48db60e9f6e4a6316 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:06 +0100 Subject: [PATCH 103/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- build.template | 4 ++-- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.armhf.sh | 2 +- deployment/images/httpd/build.template | 2 +- deployment/images/mysqldb/build.template | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/build.template b/build.template index 9009810af..aa2d2c0c7 100755 --- a/build.template +++ b/build.template @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) balena_deploy . %%BALENA_ARCH%% 3 0 docker buildx bake -f docker-bake.hcl php-fpm \ - --set "*.platform=%%PLATFORM%%" + --set "*.platform=%%PLATFORM%%" --push diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/build.armhf.sh b/deployment/images/httpd/build.armhf.sh index 6490f25e1..c0c1e6d1c 100755 --- a/deployment/images/httpd/build.armhf.sh +++ b/deployment/images/httpd/build.armhf.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . armhf 3 0 docker buildx bake -f docker-bake.hcl httpd \ - --set "*.platform=linux/arm/v7" + --set "*.platform=linux/arm/v7" --push diff --git a/deployment/images/httpd/build.template b/deployment/images/httpd/build.template index 44a32b0e3..9133ba135 100644 --- a/deployment/images/httpd/build.template +++ b/deployment/images/httpd/build.template @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . %%BALENA_ARCH%% 3 0 docker buildx bake -f docker-bake.hcl httpd \ - --set "*.platform=%%PLATFORM%%" + --set "*.platform=%%PLATFORM%%" --push diff --git a/deployment/images/mysqldb/build.template b/deployment/images/mysqldb/build.template index 9511d91cb..9d56e7855 100644 --- a/deployment/images/mysqldb/build.template +++ b/deployment/images/mysqldb/build.template @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . %%BALENA_ARCH%% 3 0 docker buildx bake -f docker-bake.hcl db \ - --set "*.platform=%%PLATFORM%%" + --set "*.platform=%%PLATFORM%%" --push From e5c657a8716993ab58dd8bb088618b4c511f35e9 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:07 +0100 Subject: [PATCH 104/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- deployment/images/mysqldb/build.armhf.sh | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g diff --git a/deployment/images/mysqldb/build.armhf.sh b/deployment/images/mysqldb/build.armhf.sh index 78c93b299..c2e193cdd 100755 --- a/deployment/images/mysqldb/build.armhf.sh +++ b/deployment/images/mysqldb/build.armhf.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . armhf 3 0 docker buildx bake -f docker-bake.hcl db \ - --set "*.platform=linux/arm/v7" + --set "*.platform=linux/arm/v7" --push From adf637f5a567e979e5e4823a59b2c0e2516d88fe Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:07 +0100 Subject: [PATCH 105/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ balena-storage/build.armhf.sh | 2 +- build.armhf.sh | 4 ++-- 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g diff --git a/balena-storage/build.armhf.sh b/balena-storage/build.armhf.sh index 60ff14cd8..02a98ec4e 100644 --- a/balena-storage/build.armhf.sh +++ b/balena-storage/build.armhf.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . armhf 3 0 docker buildx bake -f docker-bake.hcl balena-storage \ - --set "*.platform=linux/arm/v7" + --set "*.platform=linux/arm/v7" --push diff --git a/build.armhf.sh b/build.armhf.sh index 147c41fc2..3c7c087d1 100755 --- a/build.armhf.sh +++ b/build.armhf.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) balena_deploy . armhf 3 0 docker buildx bake -f docker-bake.hcl php-fpm \ - --set "*.platform=linux/arm/v7" + --set "*.platform=linux/arm/v7" --push From ef36ca6960a26380e47dea3e18ef2b99d24dfd97 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:18 +0100 Subject: [PATCH 106/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.x86_64.sh | 2 +- docker-compose.yml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/build.x86_64.sh b/deployment/images/httpd/build.x86_64.sh index 78f4590bf..c52808f51 100755 --- a/deployment/images/httpd/build.x86_64.sh +++ b/deployment/images/httpd/build.x86_64.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . x86_64 3 0 docker buildx bake -f docker-bake.hcl httpd \ - --set "*.platform=linux/amd64" + --set "*.platform=linux/amd64" --push diff --git a/docker-compose.yml b/docker-compose.yml index 5d73643c6..bf76f70dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From cf48d6ae3033e32cf57b9cebfa7b804ecf41ed3d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:18 +0100 Subject: [PATCH 107/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.x86_64.sh | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/deployment/images/mysqldb/build.x86_64.sh b/deployment/images/mysqldb/build.x86_64.sh index 8e6de29b9..c1ea3f91c 100755 --- a/deployment/images/mysqldb/build.x86_64.sh +++ b/deployment/images/mysqldb/build.x86_64.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . x86_64 3 0 docker buildx bake -f docker-bake.hcl db \ - --set "*.platform=linux/amd64" + --set "*.platform=linux/amd64" --push From ff47098488b95639c5d0b1b47918500b4dfcf091 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:18 +0100 Subject: [PATCH 108/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- balena-storage/build.x86_64.sh | 2 +- build.x86_64.sh | 4 ++-- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/balena-storage/build.x86_64.sh b/balena-storage/build.x86_64.sh index 163b45546..84138292d 100644 --- a/balena-storage/build.x86_64.sh +++ b/balena-storage/build.x86_64.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . x86_64 3 0 docker buildx bake -f docker-bake.hcl balena-storage \ - --set "*.platform=linux/amd64" + --set "*.platform=linux/amd64" --push diff --git a/build.x86_64.sh b/build.x86_64.sh index e20ddc2ec..b2ece89b7 100755 --- a/build.x86_64.sh +++ b/build.x86_64.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) balena_deploy . x86_64 3 0 docker buildx bake -f docker-bake.hcl php-fpm \ - --set "*.platform=linux/amd64" + --set "*.platform=linux/amd64" --push From 37318d6d9920b05dca061ced4320241366e389a7 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:22 +0100 Subject: [PATCH 109/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.aarch64.sh | 2 +- docker-compose.yml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/build.aarch64.sh b/deployment/images/httpd/build.aarch64.sh index 1f0edee73..8749cba8c 100755 --- a/deployment/images/httpd/build.aarch64.sh +++ b/deployment/images/httpd/build.aarch64.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . aarch64 3 0 docker buildx bake -f docker-bake.hcl httpd \ - --set "*.platform=linux/arm64" + --set "*.platform=linux/arm64" --push diff --git a/docker-compose.yml b/docker-compose.yml index bf76f70dc..5f7075ba4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 5bd9fc493b6fcded10e6b11053f2bc58f7490685 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:22 +0100 Subject: [PATCH 110/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.aarch64.sh | 2 +- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/deployment/images/mysqldb/build.aarch64.sh b/deployment/images/mysqldb/build.aarch64.sh index 9bcb15535..5872ca3a2 100755 --- a/deployment/images/mysqldb/build.aarch64.sh +++ b/deployment/images/mysqldb/build.aarch64.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . aarch64 3 0 docker buildx bake -f docker-bake.hcl db \ - --set "*.platform=linux/arm64" + --set "*.platform=linux/arm64" --push From 09f78d448506c2bedac2a5bb11cb3eb487ff1d81 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:22 +0100 Subject: [PATCH 111/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- balena-storage/build.aarch64.sh | 2 +- build.aarch64.sh | 4 ++-- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/balena-storage/build.aarch64.sh b/balena-storage/build.aarch64.sh index 70445e722..55a3dd029 100644 --- a/balena-storage/build.aarch64.sh +++ b/balena-storage/build.aarch64.sh @@ -3,4 +3,4 @@ set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) balena_deploy . aarch64 3 0 docker buildx bake -f docker-bake.hcl balena-storage \ - --set "*.platform=linux/arm64" + --set "*.platform=linux/arm64" --push diff --git a/build.aarch64.sh b/build.aarch64.sh index d755d1962..242875c1e 100755 --- a/build.aarch64.sh +++ b/build.aarch64.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd) balena_deploy . aarch64 3 0 docker buildx bake -f docker-bake.hcl php-fpm \ - --set "*.platform=linux/arm64" + --set "*.platform=linux/arm64" --push From d6e93da3537402a54771596e3c831afd90184f63 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:16:24 +0100 Subject: [PATCH 112/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5f7075ba4..5d73643c6 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From f48cec84e72c737c6fbd4947643fb7ca88e9d056 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:17:01 +0100 Subject: [PATCH 113/283] build templates --- balena-storage/build.template | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 balena-storage/build.template diff --git a/balena-storage/build.template b/balena-storage/build.template new file mode 100644 index 000000000..196c7d394 --- /dev/null +++ b/balena-storage/build.template @@ -0,0 +1,6 @@ +#!/usr/bin/env bash +set -eu +TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +balena_deploy . %%BALENA_ARCH%% 3 0 +docker buildx bake -f docker-bake.hcl balena-storage \ + --set "*.platform=%%PLATFORM%%" --push From 790121769825a1f3235ed53e3222162a1d5b82ce Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:20:27 +0100 Subject: [PATCH 114/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- yarn.lock | 338 ++++++++++++++++++++++++++++++++++- 3 files changed, 334 insertions(+), 8 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index d58a4fab1..3af397c82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,9 +1,335 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! +__metadata: + version: 8 + cacheKey: 10c0 -"balena-cloud-apps@file:../../../usr/local/lib/node_modules/balena-cloud-apps": - version "1.0.49" - resolved "file:../../../usr/local/lib/node_modules/balena-cloud-apps" +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" dependencies: - shelljs "^0.10.0" + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"balena-cloud-apps@npm:^1.0.49": + version: 1.0.49 + resolution: "balena-cloud-apps@npm:1.0.49" + dependencies: + shelljs: "npm:^0.10.0" + bin: + auto_reboot: vendor/cni/auto_reboot.sh + balena_deploy: vendor/cni/balena_deploy.sh + clone_project: vendor/cni/clone_project.sh + docker_build: vendor/cni/docker_build.sh + git_fix_issue: vendor/cni/git_fix_issue.sh + git_fix_issue_close: vendor/cni/git_fix_issue_close.sh + git_retag: vendor/cni/git_retag.sh + init_functions: vendor/cni/init_functions.sh + post_install: vendor/cni/post_install.sh + update_templates: vendor/cni/update_templates.sh + checksum: 10c0/b744af844935c6660e250eac0c998d91937613c42a87ccb39ec27a29940071c694f56deee70801b3abe6196980a3647723eb01556894c8b017af670af04cff51 + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"execa@npm:^5.1.1": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"fast-glob@npm:^3.3.2": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.20.1 + resolution: "fastq@npm:1.20.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/e5dd725884decb1f11e5c822221d76136f239d0236f176fab80b7b8f9e7619ae57e6b4e5b73defc21e6b9ef99437ee7b545cff8e6c2c337819633712fa9d352e + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"myphpcms@workspace:.": + version: 0.0.0-use.local + resolution: "myphpcms@workspace:." + dependencies: + balena-cloud-apps: "npm:^1.0.49" + languageName: unknown + linkType: soft + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shelljs@npm:^0.10.0": + version: 0.10.0 + resolution: "shelljs@npm:0.10.0" + dependencies: + execa: "npm:^5.1.1" + fast-glob: "npm:^3.3.2" + checksum: 10c0/3a18d524e2302fedd6e2b143bc17fd1e4583f41d19cb8ab747f8b00cfe39370044835f72adcab63a25ce004cae1605a8825afb3fa4dd5f78217b17b9ef966468 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard From 60026220e1d2f36a69a4ea3872c8c3191cff46fe Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:20:27 +0100 Subject: [PATCH 115/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.armhf.sed | 2 -- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 07ab4a59006692b1681d49328cfb975233635079 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:20:28 +0100 Subject: [PATCH 116/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.armhf.sed | 2 -- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 63e050992a254d60a0ce09f57a52cf0eff33d5ce Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:20:58 +0100 Subject: [PATCH 117/283] armhf pushed ./deployment/images/httpd --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5d73643c6..bf76f70dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env secrets: - mysql_root_password - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 15b1a89e5aa49624c5dc3d71af2b43d8990b76a5 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:22:50 +0100 Subject: [PATCH 118/283] armhf pushed ./deployment/images/httpd --- docker-compose.template | 16 ---------------- docker-compose.yml | 17 ----------------- 2 files changed, 33 deletions(-) diff --git a/docker-compose.template b/docker-compose.template index 402609440..9000de1bb 100644 --- a/docker-compose.template +++ b/docker-compose.template @@ -116,19 +116,3 @@ networks: cake: external: false -# --------------------------------------------------------------------------- -# Secrets — each file contains a single value, no trailing newline. -# Create them before first run: -# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt -# echo -n "maria" > ./secrets/mysql_user.txt -# ... -# --------------------------------------------------------------------------- -secrets: - mysql_root_password: - file: ./secrets/mysql_root_password.txt - mysql_user: - file: ./secrets/mysql_user.txt - mysql_password: - file: ./secrets/mysql_password.txt - hash_password: - file: ./secrets/hash_password.txt diff --git a/docker-compose.yml b/docker-compose.yml index bf76f70dc..154423bc3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -115,20 +115,3 @@ volumes: networks: cake: external: false - -# --------------------------------------------------------------------------- -# Secrets — each file contains a single value, no trailing newline. -# Create them before first run: -# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt -# echo -n "maria" > ./secrets/mysql_user.txt -# ... -# --------------------------------------------------------------------------- -secrets: - mysql_root_password: - file: ./secrets/mysql_root_password.txt - mysql_user: - file: ./secrets/mysql_user.txt - mysql_password: - file: ./secrets/mysql_password.txt - hash_password: - file: ./secrets/hash_password.txt From 11580de17a9a57003093f2b988565313b2cb5b04 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:25:17 +0100 Subject: [PATCH 119/283] armhf pushed ./deployment/images/httpd --- docker-compose.armhf | 16 ---------------- docker-compose.template | 36 +++++++++++++++++++++++++++--------- docker-compose.yml | 1 + 3 files changed, 28 insertions(+), 25 deletions(-) diff --git a/docker-compose.armhf b/docker-compose.armhf index bf76f70dc..f3a10ef88 100644 --- a/docker-compose.armhf +++ b/docker-compose.armhf @@ -116,19 +116,3 @@ networks: cake: external: false -# --------------------------------------------------------------------------- -# Secrets — each file contains a single value, no trailing newline. -# Create them before first run: -# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt -# echo -n "maria" > ./secrets/mysql_user.txt -# ... -# --------------------------------------------------------------------------- -secrets: - mysql_root_password: - file: ./secrets/mysql_root_password.txt - mysql_user: - file: ./secrets/mysql_user.txt - mysql_password: - file: ./secrets/mysql_password.txt - hash_password: - file: ./secrets/hash_password.txt diff --git a/docker-compose.template b/docker-compose.template index 9000de1bb..bebf67da6 100644 --- a/docker-compose.template +++ b/docker-compose.template @@ -11,10 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris - secrets: - - mysql_root_password - - mysql_user - - mysql_password +# secrets: +# - mysql_root_password +# - mysql_user +# - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -43,11 +43,11 @@ services: env_file: - common.env - %%BALENA_ARCH%%.env - secrets: - - mysql_root_password - - mysql_user - - mysql_password - - hash_password + # secrets: + # - mysql_root_password + # - mysql_user + # - mysql_password + # - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -116,3 +116,21 @@ networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +#secrets: +# mysql_root_password: +# file: ./secrets/mysql_root_password.txt +# mysql_user: +# file: ./secrets/mysql_user.txt +# mysql_password: +# file: ./secrets/mysql_password.txt +# hash_password: +# file: ./secrets/hash_password.txt + diff --git a/docker-compose.yml b/docker-compose.yml index 154423bc3..f3a10ef88 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -115,3 +115,4 @@ volumes: networks: cake: external: false + From 55029b361600fae23c86d82d16a18ccfcff77ddf Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:42 +0100 Subject: [PATCH 120/283] armhf pushed ./deployment/images/httpd --- balena-storage/build.template | 5 ++-- balena-storage/common.env | 1 - deployment/images/httpd/aarch64.env | 1 - deployment/images/httpd/armhf.env | 1 - deployment/images/httpd/build.armhf.sh | 5 ++-- deployment/images/httpd/build.template | 5 ++-- deployment/images/httpd/x86_64.env | 1 - deployment/images/mysqldb/aarch64.env | 1 - deployment/images/mysqldb/armhf.env | 1 - deployment/images/mysqldb/build.template | 5 ++-- deployment/images/mysqldb/common.env | 1 - deployment/images/mysqldb/x86_64.env | 1 - docker-compose.armhf | 36 ++++++++++++++++++------ docker-compose.yml | 36 ++++++++++++++++++------ 14 files changed, 66 insertions(+), 34 deletions(-) delete mode 120000 balena-storage/common.env delete mode 120000 deployment/images/httpd/aarch64.env delete mode 120000 deployment/images/httpd/armhf.env delete mode 120000 deployment/images/httpd/x86_64.env delete mode 120000 deployment/images/mysqldb/aarch64.env delete mode 120000 deployment/images/mysqldb/armhf.env delete mode 120000 deployment/images/mysqldb/common.env delete mode 120000 deployment/images/mysqldb/x86_64.env diff --git a/balena-storage/build.template b/balena-storage/build.template index 196c7d394..a681d026a 100644 --- a/balena-storage/build.template +++ b/balena-storage/build.template @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . %%BALENA_ARCH%% 3 0 -docker buildx bake -f docker-bake.hcl balena-storage \ +ln -s "${TOPDIR}/%%BALENA_ARCH%%.env" %%BALENA_ARCH%%.env +balena_deploy "${TOPDIR}" %%BALENA_ARCH%% 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" balena-storage \ --set "*.platform=%%PLATFORM%%" --push diff --git a/balena-storage/common.env b/balena-storage/common.env deleted file mode 120000 index ecb1e7940..000000000 --- a/balena-storage/common.env +++ /dev/null @@ -1 +0,0 @@ -/home/brunotr/acake2php/common.env \ No newline at end of file diff --git a/deployment/images/httpd/aarch64.env b/deployment/images/httpd/aarch64.env deleted file mode 120000 index d9899bd2a..000000000 --- a/deployment/images/httpd/aarch64.env +++ /dev/null @@ -1 +0,0 @@ -aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/armhf.env b/deployment/images/httpd/armhf.env deleted file mode 120000 index 6d36e1723..000000000 --- a/deployment/images/httpd/armhf.env +++ /dev/null @@ -1 +0,0 @@ -armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/build.armhf.sh b/deployment/images/httpd/build.armhf.sh index c0c1e6d1c..cfc65c490 100755 --- a/deployment/images/httpd/build.armhf.sh +++ b/deployment/images/httpd/build.armhf.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . armhf 3 0 -docker buildx bake -f docker-bake.hcl httpd \ +ln -s "${TOPDIR}/armhf.env" armhf.env +balena_deploy "${TOPDIR}" armhf 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" httpd \ --set "*.platform=linux/arm/v7" --push diff --git a/deployment/images/httpd/build.template b/deployment/images/httpd/build.template index 9133ba135..f96f5f782 100644 --- a/deployment/images/httpd/build.template +++ b/deployment/images/httpd/build.template @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . %%BALENA_ARCH%% 3 0 -docker buildx bake -f docker-bake.hcl httpd \ +ln -s "${TOPDIR}/%%BALENA_ARCH%%.env" %%BALENA_ARCH%%.env +balena_deploy "${TOPDIR}" %%BALENA_ARCH%% 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" httpd \ --set "*.platform=%%PLATFORM%%" --push diff --git a/deployment/images/httpd/x86_64.env b/deployment/images/httpd/x86_64.env deleted file mode 120000 index 0a9598a25..000000000 --- a/deployment/images/httpd/x86_64.env +++ /dev/null @@ -1 +0,0 @@ -x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/aarch64.env b/deployment/images/mysqldb/aarch64.env deleted file mode 120000 index d9899bd2a..000000000 --- a/deployment/images/mysqldb/aarch64.env +++ /dev/null @@ -1 +0,0 @@ -aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/armhf.env b/deployment/images/mysqldb/armhf.env deleted file mode 120000 index 6d36e1723..000000000 --- a/deployment/images/mysqldb/armhf.env +++ /dev/null @@ -1 +0,0 @@ -armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/build.template b/deployment/images/mysqldb/build.template index 9d56e7855..5f57cc546 100644 --- a/deployment/images/mysqldb/build.template +++ b/deployment/images/mysqldb/build.template @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . %%BALENA_ARCH%% 3 0 -docker buildx bake -f docker-bake.hcl db \ +ln -s "${TOPDIR}/%%BALENA_ARCH%%.env" %%BALENA_ARCH%%.env +balena_deploy "${TOPDIR}" %%BALENA_ARCH%% 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ --set "*.platform=%%PLATFORM%%" --push diff --git a/deployment/images/mysqldb/common.env b/deployment/images/mysqldb/common.env deleted file mode 120000 index ecb1e7940..000000000 --- a/deployment/images/mysqldb/common.env +++ /dev/null @@ -1 +0,0 @@ -/home/brunotr/acake2php/common.env \ No newline at end of file diff --git a/deployment/images/mysqldb/x86_64.env b/deployment/images/mysqldb/x86_64.env deleted file mode 120000 index 0a9598a25..000000000 --- a/deployment/images/mysqldb/x86_64.env +++ /dev/null @@ -1 +0,0 @@ -x86_64.env \ No newline at end of file diff --git a/docker-compose.armhf b/docker-compose.armhf index f3a10ef88..c87bd4e3c 100644 --- a/docker-compose.armhf +++ b/docker-compose.armhf @@ -11,10 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris - secrets: - - mysql_root_password - - mysql_user - - mysql_password +# secrets: +# - mysql_root_password +# - mysql_user +# - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -43,11 +43,11 @@ services: env_file: - common.env - armhf.env - secrets: - - mysql_root_password - - mysql_user - - mysql_password - - hash_password + # secrets: + # - mysql_root_password + # - mysql_user + # - mysql_password + # - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -116,3 +116,21 @@ networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +#secrets: +# mysql_root_password: +# file: ./secrets/mysql_root_password.txt +# mysql_user: +# file: ./secrets/mysql_user.txt +# mysql_password: +# file: ./secrets/mysql_password.txt +# hash_password: +# file: ./secrets/hash_password.txt + diff --git a/docker-compose.yml b/docker-compose.yml index f3a10ef88..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,10 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris - secrets: - - mysql_root_password - - mysql_user - - mysql_password +# secrets: +# - mysql_root_password +# - mysql_user +# - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -43,11 +43,11 @@ services: env_file: - common.env - armhf.env - secrets: - - mysql_root_password - - mysql_user - - mysql_password - - hash_password + # secrets: + # - mysql_root_password + # - mysql_user + # - mysql_password + # - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -116,3 +116,21 @@ networks: cake: external: false + +# --------------------------------------------------------------------------- +# Secrets — each file contains a single value, no trailing newline. +# Create them before first run: +# echo -n "s3cr3t" > ./secrets/mysql_root_password.txt +# echo -n "maria" > ./secrets/mysql_user.txt +# ... +# --------------------------------------------------------------------------- +#secrets: +# mysql_root_password: +# file: ./secrets/mysql_root_password.txt +# mysql_user: +# file: ./secrets/mysql_user.txt +# mysql_password: +# file: ./secrets/mysql_password.txt +# hash_password: +# file: ./secrets/hash_password.txt + From 1c9a1dd46953fec7c2654d4e1d209175984cbb44 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:43 +0100 Subject: [PATCH 121/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/Dockerfile.armhf.sed | 2 ++ deployment/images/mysqldb/build.armhf.sh | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/build.armhf.sh b/deployment/images/mysqldb/build.armhf.sh index c2e193cdd..e5bccc369 100755 --- a/deployment/images/mysqldb/build.armhf.sh +++ b/deployment/images/mysqldb/build.armhf.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . armhf 3 0 -docker buildx bake -f docker-bake.hcl db \ +ln -s "${TOPDIR}/armhf.env" armhf.env +balena_deploy "${TOPDIR}" armhf 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ --set "*.platform=linux/arm/v7" --push From 5209368a82ea7cc5ac3988a76ec280185b284fae Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:43 +0100 Subject: [PATCH 122/283] armhf pushed ./balena-storage --- balena-storage/Dockerfile.armhf.sed | 2 ++ balena-storage/build.armhf.sh | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/build.armhf.sh b/balena-storage/build.armhf.sh index 02a98ec4e..f0e120665 100644 --- a/balena-storage/build.armhf.sh +++ b/balena-storage/build.armhf.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . armhf 3 0 -docker buildx bake -f docker-bake.hcl balena-storage \ +ln -s "${TOPDIR}/armhf.env" armhf.env +balena_deploy "${TOPDIR}" armhf 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" balena-storage \ --set "*.platform=linux/arm/v7" --push From d2f6a70fd850354a83a434762613f2e7547b8f4f Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:46 +0100 Subject: [PATCH 123/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.x86_64.sh | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/build.x86_64.sh b/deployment/images/httpd/build.x86_64.sh index c52808f51..3f979703e 100755 --- a/deployment/images/httpd/build.x86_64.sh +++ b/deployment/images/httpd/build.x86_64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . x86_64 3 0 -docker buildx bake -f docker-bake.hcl httpd \ +ln -s "${TOPDIR}/x86_64.env" x86_64.env +balena_deploy "${TOPDIR}" x86_64 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" httpd \ --set "*.platform=linux/amd64" --push From e812d2a553aae81ae87ccfdbad9c34b1a6137a1a Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:46 +0100 Subject: [PATCH 124/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.x86_64.sh | 5 ++-- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/deployment/images/mysqldb/build.x86_64.sh b/deployment/images/mysqldb/build.x86_64.sh index c1ea3f91c..3d8aa9fa6 100755 --- a/deployment/images/mysqldb/build.x86_64.sh +++ b/deployment/images/mysqldb/build.x86_64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . x86_64 3 0 -docker buildx bake -f docker-bake.hcl db \ +ln -s "${TOPDIR}/x86_64.env" x86_64.env +balena_deploy "${TOPDIR}" x86_64 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ --set "*.platform=linux/amd64" --push From 7f41db4f806d13ccbf37dfd4a2b487459001cac3 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:46 +0100 Subject: [PATCH 125/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- balena-storage/build.x86_64.sh | 5 +++-- 3 files changed, 18 insertions(+), 17 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/balena-storage/build.x86_64.sh b/balena-storage/build.x86_64.sh index 84138292d..a293403e6 100644 --- a/balena-storage/build.x86_64.sh +++ b/balena-storage/build.x86_64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . x86_64 3 0 -docker buildx bake -f docker-bake.hcl balena-storage \ +ln -s "${TOPDIR}/x86_64.env" x86_64.env +balena_deploy "${TOPDIR}" x86_64 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" balena-storage \ --set "*.platform=linux/amd64" --push From f96d33faac85dae031701321394a94b4ab35ef82 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:49 +0100 Subject: [PATCH 126/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.aarch64.sh | 5 ++-- docker-compose.x86_64 | 38 +++++++++++++----------- docker-compose.yml | 16 +++++----- 5 files changed, 33 insertions(+), 30 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/build.aarch64.sh b/deployment/images/httpd/build.aarch64.sh index 8749cba8c..ba2370837 100755 --- a/deployment/images/httpd/build.aarch64.sh +++ b/deployment/images/httpd/build.aarch64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . aarch64 3 0 -docker buildx bake -f docker-bake.hcl httpd \ +ln -s "${TOPDIR}/aarch64.env" aarch64.env +balena_deploy "${TOPDIR}" aarch64 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" httpd \ --set "*.platform=linux/arm64" --push diff --git a/docker-compose.x86_64 b/docker-compose.x86_64 index 5f7075ba4..7e1b8421a 100644 --- a/docker-compose.x86_64 +++ b/docker-compose.x86_64 @@ -11,10 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris - secrets: - - mysql_root_password - - mysql_user - - mysql_password +# secrets: +# - mysql_root_password +# - mysql_user +# - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -43,11 +43,11 @@ services: env_file: - common.env - x86_64.env - secrets: - - mysql_root_password - - mysql_user - - mysql_password - - hash_password + # secrets: + # - mysql_root_password + # - mysql_user + # - mysql_password + # - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -116,6 +116,7 @@ networks: cake: external: false + # --------------------------------------------------------------------------- # Secrets — each file contains a single value, no trailing newline. # Create them before first run: @@ -123,12 +124,13 @@ networks: # echo -n "maria" > ./secrets/mysql_user.txt # ... # --------------------------------------------------------------------------- -secrets: - mysql_root_password: - file: ./secrets/mysql_root_password.txt - mysql_user: - file: ./secrets/mysql_user.txt - mysql_password: - file: ./secrets/mysql_password.txt - hash_password: - file: ./secrets/hash_password.txt +#secrets: +# mysql_root_password: +# file: ./secrets/mysql_root_password.txt +# mysql_user: +# file: ./secrets/mysql_user.txt +# mysql_password: +# file: ./secrets/mysql_password.txt +# hash_password: +# file: ./secrets/hash_password.txt + diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 4af566559c7a88949e752c8eb4a00333e789bd43 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:49 +0100 Subject: [PATCH 127/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.aarch64.sed | 2 ++ .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.aarch64.sh | 5 ++-- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.aarch64.sed b/deployment/images/mysqldb/Dockerfile.aarch64.sed index abc2bb757..8d6b53339 100644 --- a/deployment/images/mysqldb/Dockerfile.aarch64.sed +++ b/deployment/images/mysqldb/Dockerfile.aarch64.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/deployment/images/mysqldb/build.aarch64.sh b/deployment/images/mysqldb/build.aarch64.sh index 5872ca3a2..460c51172 100755 --- a/deployment/images/mysqldb/build.aarch64.sh +++ b/deployment/images/mysqldb/build.aarch64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . aarch64 3 0 -docker buildx bake -f docker-bake.hcl db \ +ln -s "${TOPDIR}/aarch64.env" aarch64.env +balena_deploy "${TOPDIR}" aarch64 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ --set "*.platform=linux/arm64" --push From c84773590a795b633dcdeacbc61168cabb014cb0 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:49 +0100 Subject: [PATCH 128/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.aarch64.sed | 2 ++ balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- balena-storage/build.aarch64.sh | 5 +++-- 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.aarch64.sed b/balena-storage/Dockerfile.aarch64.sed index abc2bb757..8d6b53339 100644 --- a/balena-storage/Dockerfile.aarch64.sed +++ b/balena-storage/Dockerfile.aarch64.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/balena-storage/build.aarch64.sh b/balena-storage/build.aarch64.sh index 55a3dd029..75adbf10c 100644 --- a/balena-storage/build.aarch64.sh +++ b/balena-storage/build.aarch64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) -balena_deploy . aarch64 3 0 -docker buildx bake -f docker-bake.hcl balena-storage \ +ln -s "${TOPDIR}/aarch64.env" aarch64.env +balena_deploy "${TOPDIR}" aarch64 3 0 +docker buildx bake -f "${TOPDIR}/docker-bake.hcl" balena-storage \ --set "*.platform=linux/arm64" --push From dc65ee0caae89b7c1c98893f4e7c367fb7920130 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:29:51 +0100 Subject: [PATCH 129/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From 1655dc7a1ced67d3cceca150f57ab619f19da4a1 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:53 +0100 Subject: [PATCH 130/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- .gitignore | 9 +++++---- deployment/images/httpd/.env | 2 +- docker-compose.aarch64 | 38 +++++++++++++++++++----------------- 4 files changed, 27 insertions(+), 24 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6e58a5bc4..c1a652ddd 100644 --- a/.gitignore +++ b/.gitignore @@ -26,8 +26,11 @@ tags *.mo !*empty bin/composer -mysqldb/config/ -mysqldb/conf.d/custom.cnf +balena-storage/*.env +deployment/images/httpd/*.env +deployment/images/mysqldb/*.env +deployment/images/mysqldb/config/ +deployment/images/mysqldb/conf.d/custom.cnf node_modules *.log @@ -49,7 +52,5 @@ Icon? ehthumbs.db Thumbs.db nbproject/private/ -mysqldb/mysqld/ -mysqld/conf.d/custom.cnf upgrade/ package-lock.json diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/docker-compose.aarch64 b/docker-compose.aarch64 index 5d73643c6..86ad345a5 100644 --- a/docker-compose.aarch64 +++ b/docker-compose.aarch64 @@ -11,10 +11,10 @@ services: environment: MYSQL_RANDOM_ROOT_PASSWORD: yes TZ: Europe/Paris - secrets: - - mysql_root_password - - mysql_user - - mysql_password +# secrets: +# - mysql_root_password +# - mysql_user +# - mysql_password volumes: - localtime:/etc/localtime:ro - db-data:/config @@ -43,11 +43,11 @@ services: env_file: - common.env - aarch64.env - secrets: - - mysql_root_password - - mysql_user - - mysql_password - - hash_password + # secrets: + # - mysql_root_password + # - mysql_user + # - mysql_password + # - hash_password environment: CAKEPHP_DEBUG_LEVEL: "2" COLLECT_COVERAGE: false @@ -116,6 +116,7 @@ networks: cake: external: false + # --------------------------------------------------------------------------- # Secrets — each file contains a single value, no trailing newline. # Create them before first run: @@ -123,12 +124,13 @@ networks: # echo -n "maria" > ./secrets/mysql_user.txt # ... # --------------------------------------------------------------------------- -secrets: - mysql_root_password: - file: ./secrets/mysql_root_password.txt - mysql_user: - file: ./secrets/mysql_user.txt - mysql_password: - file: ./secrets/mysql_password.txt - hash_password: - file: ./secrets/hash_password.txt +#secrets: +# mysql_root_password: +# file: ./secrets/mysql_root_password.txt +# mysql_user: +# file: ./secrets/mysql_user.txt +# mysql_password: +# file: ./secrets/mysql_password.txt +# hash_password: +# file: ./secrets/hash_password.txt + From 0b1da1eea825a9db20d2050ad6ed8a4a1b6ae719 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:53 +0100 Subject: [PATCH 131/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From b3608ee7b8b08f2eec3b33859199c95360974e9d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:53 +0100 Subject: [PATCH 132/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 3c4a5ac345a6014fa95c83ad51f6457f9ce7f4d6 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:55 +0100 Subject: [PATCH 133/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index dedf908af..42cb99ecc 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From d860227a099678ebbc99dbe843837e5a827d155d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:55 +0100 Subject: [PATCH 134/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..42cb99ecc 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 6d03520f0c3493af5cb237e8bb8a0292b0dfabfc Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:55 +0100 Subject: [PATCH 135/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..42cb99ecc 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/home/brunotr/acake2php/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From c87f3d21156c525e57debda0871741cf0277ab8d Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:58 +0100 Subject: [PATCH 136/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 42cb99ecc..7a294362f 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 70d54ff447ab152a8afb40cbd4b7d70a452220ea Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:58 +0100 Subject: [PATCH 137/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 42cb99ecc..7a294362f 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From a81f236347b21fb3ba42b169b6f2d1d093b6ebb0 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:31:58 +0100 Subject: [PATCH 138/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 42cb99ecc..7a294362f 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/x86_64.env \ No newline at end of file +/home/brunotr/acake2php/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From e67b2dbc04622b0891c89b44767c6c448ada092c Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:32:00 +0100 Subject: [PATCH 139/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From ef017a586db49bbf6cbb9f29ae82b5c1d23e72b2 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:32:25 +0100 Subject: [PATCH 140/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 7a294362f..dedf908af 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file From 7da3e90f495ff693996cec43c78bf08b947865f0 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:32:25 +0100 Subject: [PATCH 141/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.armhf.sed | 2 -- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 7a294362f..dedf908af 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 81735d4c5a7ca2a2b8b4fe51dad934840541e8f9 Mon Sep 17 00:00:00 2001 From: Tina Bruno Rakoto Date: Sun, 1 Feb 2026 19:32:26 +0100 Subject: [PATCH 142/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.armhf.sed | 2 -- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 7a294362f..dedf908af 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/aarch64.env \ No newline at end of file +/home/brunotr/acake2php/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index 8d6b53339..abc2bb757 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1,3 +1 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g -s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From c057a90fd335b546acaf2580a3af4834c8e22198 Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:28:28 +0100 Subject: [PATCH 143/283] Update BUILD.md --- BUILD.md | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/BUILD.md b/BUILD.md index 3e0c6f65c..7bd1d101d 100644 --- a/BUILD.md +++ b/BUILD.md @@ -8,8 +8,7 @@ The x-bake configuration has been extracted from `docker-compose.yml` to `docker To build all images, e.g. x86_64 (linux/amd64): ```bash -update_templates -cp -vf docker-compose.x86_64 docker-compose.yml +balena_deploy . x86_64 3 0 docker buildx bake -f docker-bake.hcl ``` @@ -33,6 +32,7 @@ export PLATFORM=linux/amd64 export BALENA_ARCH=x86_64 # Using command-line +balena_deploy . x86_64 3 0 docker buildx bake -f docker-bake.hcl \ --set "*.platform=linux/amd64" \ --set "db.tags=myorg/mysqldb:v1.0.0" @@ -42,8 +42,7 @@ docker buildx bake -f docker-bake.hcl \ To build for other architecture platforms, e.g aarch64 (linux/arm64): ```bash -update_templates -cp -vf docker-compose.aarch64 docker-compose.yml +balena_deploy . aarch64 3 0 docker buildx bake -f docker-bake.hcl \ --set "*.platform=linux/arm64" ``` @@ -54,8 +53,7 @@ This is due to the project structure (*.env, multiple Dockerfiles, etc.) To build and push to a registry, e.g. x86_64 (linux/amd64): ```bash -update_templates -cp -vf docker-compose.x86_64 docker-compose.yml +balena_deploy . x86_64 3 0 docker buildx bake -f docker-bake.hcl --push ``` From 802c1975ca9fa365aed6ba2b6884086efa236233 Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:31:36 +0100 Subject: [PATCH 144/283] Update deploy.sh --- deploy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deploy.sh b/deploy.sh index 7e75abc22..e62635601 100755 --- a/deploy.sh +++ b/deploy.sh @@ -23,7 +23,7 @@ export COLUMNS=0 export LINES=0 export SYSTEMD_NO_WRAP=0 -update_templates +balena_deploy . "$@" if [ -n "$REV" ]; then git add docker-compose.yml From 5c88cbfced4d23db7bd3cf32550a08d82e39cc1c Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:36:33 +0100 Subject: [PATCH 145/283] Rename initdb.sh to init-db.sh --- deployment/images/mysqldb/{initdb.sh => init-db.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename deployment/images/mysqldb/{initdb.sh => init-db.sh} (100%) diff --git a/deployment/images/mysqldb/initdb.sh b/deployment/images/mysqldb/init-db.sh similarity index 100% rename from deployment/images/mysqldb/initdb.sh rename to deployment/images/mysqldb/init-db.sh From 88f4bc2aead86c963a6e934faea1034ba9138ced Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:41:23 +0100 Subject: [PATCH 146/283] Fix TOPDIR assignment in build script --- deployment/images/mysqldb/build.aarch64.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/images/mysqldb/build.aarch64.sh b/deployment/images/mysqldb/build.aarch64.sh index 460c51172..89b1d2608 100755 --- a/deployment/images/mysqldb/build.aarch64.sh +++ b/deployment/images/mysqldb/build.aarch64.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/aarch64.env" aarch64.env balena_deploy "${TOPDIR}" aarch64 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ From ac6bf4a9a332df7cb48c5994208944c931d442c7 Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:42:00 +0100 Subject: [PATCH 147/283] Fix TOPDIR variable assignment syntax --- deployment/images/mysqldb/build.armhf.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/images/mysqldb/build.armhf.sh b/deployment/images/mysqldb/build.armhf.sh index e5bccc369..059d9e494 100755 --- a/deployment/images/mysqldb/build.armhf.sh +++ b/deployment/images/mysqldb/build.armhf.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/armhf.env" armhf.env balena_deploy "${TOPDIR}" armhf 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ From a03053428ba5d3d0c641b95cd0c3847735d1cc35 Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:42:33 +0100 Subject: [PATCH 148/283] Fix TOPDIR variable assignment in build.template --- deployment/images/mysqldb/build.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/images/mysqldb/build.template b/deployment/images/mysqldb/build.template index 5f57cc546..7fb5d196d 100644 --- a/deployment/images/mysqldb/build.template +++ b/deployment/images/mysqldb/build.template @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/%%BALENA_ARCH%%.env" %%BALENA_ARCH%%.env balena_deploy "${TOPDIR}" %%BALENA_ARCH%% 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ From 3c7fe1781d22da6eb352adbee8e4aae5b41a6f8c Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:43:05 +0100 Subject: [PATCH 149/283] Fix TOPDIR variable assignment syntax --- deployment/images/mysqldb/build.x86_64.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/images/mysqldb/build.x86_64.sh b/deployment/images/mysqldb/build.x86_64.sh index 3d8aa9fa6..3b6191a9b 100755 --- a/deployment/images/mysqldb/build.x86_64.sh +++ b/deployment/images/mysqldb/build.x86_64.sh @@ -1,6 +1,6 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/x86_64.env" x86_64.env balena_deploy "${TOPDIR}" x86_64 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ From 8508c18cf24e7cb967329cb0e7666475d49e51b6 Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Sun, 1 Feb 2026 21:47:25 +0100 Subject: [PATCH 150/283] Update init-db.sh --- deployment/images/mysqldb/init-db.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/deployment/images/mysqldb/init-db.sh b/deployment/images/mysqldb/init-db.sh index d7d9635db..9180fa9a0 100644 --- a/deployment/images/mysqldb/init-db.sh +++ b/deployment/images/mysqldb/init-db.sh @@ -6,7 +6,7 @@ set -e # Fail fast if any required secret is missing for var in MYSQL_ROOT_PASSWORD MYSQL_USER MYSQL_PASSWORD MYSQL_DATABASE; do - if [ -z "${!var}" ]; then + if [ -z "${var}" ]; then echo "ERROR: $var is not set. Secrets must be provided at runtime." exit 1 fi From 5539e3153352d09c7342a2247d453f509b88d80e Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:19 +0000 Subject: [PATCH 151/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- .yarn/install-state.gz | Bin 13014 -> 13165 bytes balena-storage/build.template | 3 ++- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.armhf.sh | 3 ++- deployment/images/httpd/build.template | 3 ++- deployment/images/httpd/common.env | 2 +- deployment/images/mysqldb/build.template | 3 ++- 8 files changed, 11 insertions(+), 7 deletions(-) diff --git a/.env b/.env index dedf908af..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index 8c9394c4b1892a3eb7a96ea165a17dfc1a58867a..9f77608eb4f05190835d6dfb9b8f004ef2bb81ec 100644 GIT binary patch literal 13165 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

5{K|PJqO9NZ@P>s}G(EToxnPhfqN>3-j5TF`? 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 Tx?B&r|8M+XXv$uEDiHwy8Aq`& literal 13014 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 Y;r@l+zb@B9?*AMA2gZCtu__S(0E*gE9{>OV diff --git a/balena-storage/build.template b/balena-storage/build.template index a681d026a..1c108f292 100644 --- a/balena-storage/build.template +++ b/balena-storage/build.template @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")" && pwd)" ln -s "${TOPDIR}/%%BALENA_ARCH%%.env" %%BALENA_ARCH%%.env balena_deploy "${TOPDIR}" %%BALENA_ARCH%% 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" balena-storage \ diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index dedf908af..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/build.armhf.sh b/deployment/images/httpd/build.armhf.sh index cfc65c490..20a8d2947 100755 --- a/deployment/images/httpd/build.armhf.sh +++ b/deployment/images/httpd/build.armhf.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/armhf.env" armhf.env balena_deploy "${TOPDIR}" armhf 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" httpd \ diff --git a/deployment/images/httpd/build.template b/deployment/images/httpd/build.template index f96f5f782..094909904 100644 --- a/deployment/images/httpd/build.template +++ b/deployment/images/httpd/build.template @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/%%BALENA_ARCH%%.env" %%BALENA_ARCH%%.env balena_deploy "${TOPDIR}" %%BALENA_ARCH%% 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" httpd \ diff --git a/deployment/images/httpd/common.env b/deployment/images/httpd/common.env index ecb1e7940..86b46b69b 120000 --- a/deployment/images/httpd/common.env +++ b/deployment/images/httpd/common.env @@ -1 +1 @@ -/home/brunotr/acake2php/common.env \ No newline at end of file +/var/www/html/common.env \ No newline at end of file diff --git a/deployment/images/mysqldb/build.template b/deployment/images/mysqldb/build.template index 7fb5d196d..ff2923188 100644 --- a/deployment/images/mysqldb/build.template +++ b/deployment/images/mysqldb/build.template @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR="$(cd "$(dirname "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/%%BALENA_ARCH%%.env" %%BALENA_ARCH%%.env balena_deploy "${TOPDIR}" %%BALENA_ARCH%% 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ From 1b128df494911e0afd4433f6f0e4ae07326dd7a7 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:20 +0000 Subject: [PATCH 152/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- deployment/images/mysqldb/Dockerfile.armhf.sed | 2 ++ deployment/images/mysqldb/build.armhf.sh | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index dedf908af..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.armhf.sed b/deployment/images/mysqldb/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf.sed +++ b/deployment/images/mysqldb/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/deployment/images/mysqldb/build.armhf.sh b/deployment/images/mysqldb/build.armhf.sh index 059d9e494..a460a9818 100755 --- a/deployment/images/mysqldb/build.armhf.sh +++ b/deployment/images/mysqldb/build.armhf.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR="$(cd "$(dirname "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/armhf.env" armhf.env balena_deploy "${TOPDIR}" armhf 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ From 91b60749fd46abbd0e3ac3216e7bb0c04aa2cdf5 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:20 +0000 Subject: [PATCH 153/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.armhf.sed | 2 ++ balena-storage/build.armhf.sh | 3 ++- 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index dedf908af..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/home/brunotr/acake2php/armhf.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.armhf.sed b/balena-storage/Dockerfile.armhf.sed index abc2bb757..8d6b53339 100644 --- a/balena-storage/Dockerfile.armhf.sed +++ b/balena-storage/Dockerfile.armhf.sed @@ -1 +1,3 @@ /### ARM BEGIN/,/### ARM END/s/^(# )+(.*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-start[^a-z]*)/\2/g +s/(# )+(RUN [^a-z]*cross-build-end[^a-z]*)/\2/g diff --git a/balena-storage/build.armhf.sh b/balena-storage/build.armhf.sh index f0e120665..78594e65d 100644 --- a/balena-storage/build.armhf.sh +++ b/balena-storage/build.armhf.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")" && pwd)" ln -s "${TOPDIR}/armhf.env" armhf.env balena_deploy "${TOPDIR}" armhf 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" balena-storage \ From 4a84b01ccaf2b48bfe35e87c23a8a4d38b294d4b Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:21 +0000 Subject: [PATCH 154/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.x86_64.sh | 3 ++- docker-compose.yml | 16 ++++++++-------- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/build.x86_64.sh b/deployment/images/httpd/build.x86_64.sh index 3f979703e..0948b6a31 100755 --- a/deployment/images/httpd/build.x86_64.sh +++ b/deployment/images/httpd/build.x86_64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/x86_64.env" x86_64.env balena_deploy "${TOPDIR}" x86_64 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" httpd \ diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 5aa4fb230ac07477b667ea65ed689b8d14723488 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:21 +0000 Subject: [PATCH 155/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.x86_64.sh | 3 +- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/deployment/images/mysqldb/build.x86_64.sh b/deployment/images/mysqldb/build.x86_64.sh index 3b6191a9b..940e342de 100755 --- a/deployment/images/mysqldb/build.x86_64.sh +++ b/deployment/images/mysqldb/build.x86_64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR="$(cd "$(dirname "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/x86_64.env" x86_64.env balena_deploy "${TOPDIR}" x86_64 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ From 8fe85667b045955b39af0aa041bbdebcfd9ee99e Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:22 +0000 Subject: [PATCH 156/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- balena-storage/build.x86_64.sh | 3 ++- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/balena-storage/build.x86_64.sh b/balena-storage/build.x86_64.sh index a293403e6..dd568b6ac 100644 --- a/balena-storage/build.x86_64.sh +++ b/balena-storage/build.x86_64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")" && pwd)" ln -s "${TOPDIR}/x86_64.env" x86_64.env balena_deploy "${TOPDIR}" x86_64 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" balena-storage \ From 99ac279646790be014372c717120af13db6876fa Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:23 +0000 Subject: [PATCH 157/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/build.aarch64.sh | 3 ++- docker-compose.yml | 16 ++++++++-------- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/build.aarch64.sh b/deployment/images/httpd/build.aarch64.sh index ba2370837..0f23941eb 100755 --- a/deployment/images/httpd/build.aarch64.sh +++ b/deployment/images/httpd/build.aarch64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/aarch64.env" aarch64.env balena_deploy "${TOPDIR}" aarch64 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" httpd \ diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 2f91888ef48df768731178a2b3ad08e2bec194b5 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:23 +0000 Subject: [PATCH 158/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/build.aarch64.sh | 3 +- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/deployment/images/mysqldb/build.aarch64.sh b/deployment/images/mysqldb/build.aarch64.sh index 89b1d2608..57562de7b 100755 --- a/deployment/images/mysqldb/build.aarch64.sh +++ b/deployment/images/mysqldb/build.aarch64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR="$(cd "$(dirname "$(dirname "$(dirname "$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" +TOPDIR="$(cd "$(dirname "$(dirname "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")")")" && pwd)" ln -s "${TOPDIR}/aarch64.env" aarch64.env balena_deploy "${TOPDIR}" aarch64 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" db \ From 735838b7ebd879832d7100cb8f925fb85fe97364 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:23 +0000 Subject: [PATCH 159/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- balena-storage/build.aarch64.sh | 3 ++- 3 files changed, 17 insertions(+), 16 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g diff --git a/balena-storage/build.aarch64.sh b/balena-storage/build.aarch64.sh index 75adbf10c..093648fac 100644 --- a/balena-storage/build.aarch64.sh +++ b/balena-storage/build.aarch64.sh @@ -1,6 +1,7 @@ #!/usr/bin/env bash set -eu -TOPDIR=$(cd "$(dirname $(dirname $(dirname $(dirname "${BASH_SOURCE[0]}"))))" && pwd) +TOPDIR="$(cd "$(dirname \ +"$(dirname "${BASH_SOURCE[0]}")")" && pwd)" ln -s "${TOPDIR}/aarch64.env" aarch64.env balena_deploy "${TOPDIR}" aarch64 3 0 docker buildx bake -f "${TOPDIR}/docker-bake.hcl" balena-storage \ From bec6e1249626bd43401a6f7103d7ed6908196aa3 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 20:55:24 +0000 Subject: [PATCH 160/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From 930eb015094e70ad0ca2747747f7fa81793537ce Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 21:05:34 +0000 Subject: [PATCH 161/283] hcl --- docker-bake.hcl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-bake.hcl b/docker-bake.hcl index bedbba5de..ddae26c61 100644 --- a/docker-bake.hcl +++ b/docker-bake.hcl @@ -22,19 +22,19 @@ variable "BALENA_ARCH" { # --------------------------------------------------------------------------- variable "MYSQL_ROOT_PASSWORD" { default = "" - sensitive = true +# sensitive = true } variable "MYSQL_USER" { default = "" - sensitive = true +# sensitive = true } variable "MYSQL_PASSWORD" { default = "" - sensitive = true +# sensitive = true } variable "HASH_PASSWORD" { default = "" - sensitive = true +# sensitive = true } group "default" { From 2e53cb203a343e9aaa5d384f8cd922375788a986 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 21:13:57 +0000 Subject: [PATCH 162/283] fix yarn --- .yarnrc.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.yarnrc.yml b/.yarnrc.yml index f1556331b..3186f3f07 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,3 +1 @@ nodeLinker: node-modules - -yarnPath: .yarn/releases/yarn-4.6.0.cjs From c46bf8c9496067c02c8b9c67e79a87ab40d3ad3d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 22:10:56 +0000 Subject: [PATCH 163/283] action --- .github/workflows/build.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 69fe655f7..9e9e54d22 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,7 +7,8 @@ env: DOCKER_ORG: ${{ secrets.DOCKER_USER }} jobs: build-services: - runs-on: self-hosted + runs-on: ubuntu-latest +# runs-on: self-hosted environment: AUTH strategy: fail-fast: false From 5eb528675bf108f71a2239285ac19860a6821394 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 22:22:17 +0000 Subject: [PATCH 164/283] selfhosted --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9e9e54d22..79c85b32d 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,8 +7,8 @@ env: DOCKER_ORG: ${{ secrets.DOCKER_USER }} jobs: build-services: - runs-on: ubuntu-latest -# runs-on: self-hosted +# runs-on: ubuntu-latest + runs-on: self-hosted environment: AUTH strategy: fail-fast: false From 9367a4a843ec35e3bc74c0ddb41c70152d52f78d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Sun, 1 Feb 2026 22:27:25 +0000 Subject: [PATCH 165/283] remote --- .github/workflows/build.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 79c85b32d..db9d9ba5a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -7,8 +7,8 @@ env: DOCKER_ORG: ${{ secrets.DOCKER_USER }} jobs: build-services: -# runs-on: ubuntu-latest - runs-on: self-hosted + runs-on: ubuntu-latest +# runs-on: self-hosted environment: AUTH strategy: fail-fast: false @@ -53,7 +53,8 @@ jobs: --push deploy: - runs-on: self-hosted + runs-on: ubuntu-latest +# runs-on: self-hosted environment: AUTH needs: build-services if: github.event_name != 'pull_request' From d6311054f75323b0e6131617c0ba4128f9da7191 Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Mon, 2 Feb 2026 00:14:08 +0100 Subject: [PATCH 166/283] Update config.yml --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 7ffe61415..2955bfcf0 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ orbs: executors: docker-executor: docker: - - image: cimg/base:2025.01 + - image: cimg/base:2025.11 resource_class: medium commands: From 15c33d08b252e46d91a0882695e01090ab4d074d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:03 +0000 Subject: [PATCH 167/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- Dockerfile.template | 12 +- deployment/images/httpd/.env | 2 +- yarn.lock | 462 +++++++++++------------------------ 4 files changed, 158 insertions(+), 320 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/Dockerfile.template b/Dockerfile.template index 31506a38d..211010ab5 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -6,11 +6,13 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn yarn -RUN apk update \ - && apk add --no-cache yarn \ - && yarn install --immutable \ - && yarn cache clean +COPY .yarn .yarn +RUN apk add --no-cache nodejs npm \ + && npm install -g corepack \ + && corepack enable \ + && corepack prepare yarn@4 --activate \ + && yarn install --immutable \ + && yarn cache clean # Stage 2: Build PHP-FPM environment FROM php:7.4.33-fpm-alpine3.16 diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index 3af397c82..a1f0f8afa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,335 +1,171 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 -__metadata: - version: 8 - cacheKey: 10c0 -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"balena-cloud-apps@npm:^1.0.49": - version: 1.0.49 - resolution: "balena-cloud-apps@npm:1.0.49" + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" dependencies: - shelljs: "npm:^0.10.0" - bin: - auto_reboot: vendor/cni/auto_reboot.sh - balena_deploy: vendor/cni/balena_deploy.sh - clone_project: vendor/cni/clone_project.sh - docker_build: vendor/cni/docker_build.sh - git_fix_issue: vendor/cni/git_fix_issue.sh - git_fix_issue_close: vendor/cni/git_fix_issue_close.sh - git_retag: vendor/cni/git_retag.sh - init_functions: vendor/cni/init_functions.sh - post_install: vendor/cni/post_install.sh - update_templates: vendor/cni/update_templates.sh - checksum: 10c0/b744af844935c6660e250eac0c998d91937613c42a87ccb39ec27a29940071c694f56deee70801b3abe6196980a3647723eb01556894c8b017af670af04cff51 - languageName: node - linkType: hard - -"braces@npm:^3.0.3": - version: 3.0.3 - resolution: "braces@npm:3.0.3" + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +balena-cloud-apps@^1.0.49: + version "1.0.49" dependencies: - fill-range: "npm:^7.1.1" - checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.3": - version: 7.0.6 - resolution: "cross-spawn@npm:7.0.6" + shelljs "^0.10.0" + +braces@^3.0.3: + version "3.0.3" dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 - languageName: node - linkType: hard - -"execa@npm:^5.1.1": - version: 5.1.1 - resolution: "execa@npm:5.1.1" + fill-range "^7.1.1" + +"corepack@file:../../../usr/local/lib/node_modules/corepack": + version "0.34.6" + resolved "file:../../../usr/local/lib/node_modules/corepack" + +cross-spawn@^7.0.3: + version "7.0.6" dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^6.0.0" - human-signals: "npm:^2.1.0" - is-stream: "npm:^2.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^4.0.1" - onetime: "npm:^5.1.2" - signal-exit: "npm:^3.0.3" - strip-final-newline: "npm:^2.0.0" - checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f - languageName: node - linkType: hard - -"fast-glob@npm:^3.3.2": - version: 3.3.3 - resolution: "fast-glob@npm:3.3.3" + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +execa@^5.1.1: + version "5.1.1" dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.8" - checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe - languageName: node - linkType: hard - -"fastq@npm:^1.6.0": - version: 1.20.1 - resolution: "fastq@npm:1.20.1" + cross-spawn "^7.0.3" + get-stream "^6.0.0" + human-signals "^2.1.0" + is-stream "^2.0.0" + merge-stream "^2.0.0" + npm-run-path "^4.0.1" + onetime "^5.1.2" + signal-exit "^3.0.3" + strip-final-newline "^2.0.0" + +fast-glob@^3.3.2: + version "3.3.3" dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/e5dd725884decb1f11e5c822221d76136f239d0236f176fab80b7b8f9e7619ae57e6b4e5b73defc21e6b9ef99437ee7b545cff8e6c2c337819633712fa9d352e - languageName: node - linkType: hard - -"fill-range@npm:^7.1.1": - version: 7.1.1 - resolution: "fill-range@npm:7.1.1" + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.8" + +fastq@^1.6.0: + version "1.20.1" dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 - languageName: node - linkType: hard - -"get-stream@npm:^6.0.0": - version: 6.0.1 - resolution: "get-stream@npm:6.0.1" - checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" + reusify "^1.0.4" + +fill-range@^7.1.1: + version "7.1.1" dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"human-signals@npm:^2.1.0": - version: 2.1.0 - resolution: "human-signals@npm:2.1.0" - checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-glob@npm:^4.0.1": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" + to-regex-range "^5.0.1" + +get-stream@^6.0.0: + version "6.0.1" + +glob-parent@^5.1.2: + version "5.1.2" dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-stream@npm:^2.0.0": - version: 2.0.1 - resolution: "is-stream@npm:2.0.1" - checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micromatch@npm:^4.0.8": - version: 4.0.8 - resolution: "micromatch@npm:4.0.8" + is-glob "^4.0.1" + +human-signals@^2.1.0: + version "2.1.0" + +is-extglob@^2.1.1: + version "2.1.1" + +is-glob@^4.0.1: + version "4.0.3" dependencies: - braces: "npm:^3.0.3" - picomatch: "npm:^2.3.1" - checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 - languageName: node - linkType: hard - -"mimic-fn@npm:^2.1.0": - version: 2.1.0 - resolution: "mimic-fn@npm:2.1.0" - checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 - languageName: node - linkType: hard - -"myphpcms@workspace:.": - version: 0.0.0-use.local - resolution: "myphpcms@workspace:." + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + +is-stream@^2.0.0: + version "2.0.1" + +isexe@^2.0.0: + version "2.0.0" + +merge-stream@^2.0.0: + version "2.0.0" + +merge2@^1.3.0: + version "1.4.1" + +micromatch@^4.0.8: + version "4.0.8" dependencies: - balena-cloud-apps: "npm:^1.0.49" - languageName: unknown - linkType: soft + braces "^3.0.3" + picomatch "^2.3.1" + +mimic-fn@^2.1.0: + version "2.1.0" -"npm-run-path@npm:^4.0.1": - version: 4.0.1 - resolution: "npm-run-path@npm:4.0.1" +npm-run-path@^4.0.1: + version "4.0.1" dependencies: - path-key: "npm:^3.0.0" - checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac - languageName: node - linkType: hard - -"onetime@npm:^5.1.2": - version: 5.1.2 - resolution: "onetime@npm:5.1.2" + path-key "^3.0.0" + +onetime@^5.1.2: + version "5.1.2" dependencies: - mimic-fn: "npm:^2.1.0" - checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f - languageName: node - linkType: hard - -"path-key@npm:^3.0.0, path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.1.0 - resolution: "reusify@npm:1.1.0" - checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" + mimic-fn "^2.1.0" + +path-key@^3.0.0, path-key@^3.1.0: + version "3.1.1" + +picomatch@^2.3.1: + version "2.3.1" + +queue-microtask@^1.2.2: + version "1.2.3" + +reusify@^1.0.4: + version "1.1.0" + +run-parallel@^1.1.9: + version "1.2.0" dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" + queue-microtask "^1.2.2" + +shebang-command@^2.0.0: + version "2.0.0" dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"shelljs@npm:^0.10.0": - version: 0.10.0 - resolution: "shelljs@npm:0.10.0" + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + +shelljs@^0.10.0: + version "0.10.0" dependencies: - execa: "npm:^5.1.1" - fast-glob: "npm:^3.3.2" - checksum: 10c0/3a18d524e2302fedd6e2b143bc17fd1e4583f41d19cb8ab747f8b00cfe39370044835f72adcab63a25ce004cae1605a8825afb3fa4dd5f78217b17b9ef966468 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.3": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"strip-final-newline@npm:^2.0.0": - version: 2.0.0 - resolution: "strip-final-newline@npm:2.0.0" - checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" + execa "^5.1.1" + fast-glob "^3.3.2" + +signal-exit@^3.0.3: + version "3.0.7" + +strip-final-newline@^2.0.0: + version "2.0.0" + +to-regex-range@^5.0.1: + version "5.0.1" dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"which@npm:^2.0.1": - version: 2.0.2 - resolution: "which@npm:2.0.2" + is-number "^7.0.0" + +which@^2.0.1: + version "2.0.2" dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard + isexe "^2.0.0" From a6ac27ad3eceb694d8d5e3ea92cd53e2629d8ccb Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:04 +0000 Subject: [PATCH 168/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 09afc2cd658f210e243131f213947815636944f8 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:04 +0000 Subject: [PATCH 169/283] armhf pushed ./balena-storage --- Dockerfile.armhf | 12 +++++++----- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 8d391bd94..87d9fc0f5 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -6,11 +6,13 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn yarn -RUN apk update \ - && apk add --no-cache yarn \ - && yarn install --immutable \ - && yarn cache clean +COPY .yarn .yarn +RUN apk add --no-cache nodejs npm \ + && npm install -g corepack \ + && corepack enable \ + && corepack prepare yarn@4 --activate \ + && yarn install --immutable \ + && yarn cache clean # Stage 2: Build PHP-FPM environment FROM php:7.4.33-fpm-alpine3.16 diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 5372b6122647b58bb3e281582f31ca9598771645 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:05 +0000 Subject: [PATCH 170/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 0ce6ca11af09bb626431775e50277979137289a3 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:05 +0000 Subject: [PATCH 171/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 915e88ecf46ee3aa12774d9788f075c252f333b6 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:06 +0000 Subject: [PATCH 172/283] x86_64 pushed ./balena-storage --- Dockerfile.x86_64 | 12 ++++++----- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/Dockerfile.x86_64 b/Dockerfile.x86_64 index d81ca321a..82a95e22e 100644 --- a/Dockerfile.x86_64 +++ b/Dockerfile.x86_64 @@ -6,11 +6,13 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn yarn -RUN apk update \ - && apk add --no-cache yarn \ - && yarn install --immutable \ - && yarn cache clean +COPY .yarn .yarn +RUN apk add --no-cache nodejs npm \ + && npm install -g corepack \ + && corepack enable \ + && corepack prepare yarn@4 --activate \ + && yarn install --immutable \ + && yarn cache clean # Stage 2: Build PHP-FPM environment FROM php:7.4.33-fpm-alpine3.16 diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 49905da4a50f375d49fea739d8a3d2fe523aaca8 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:06 +0000 Subject: [PATCH 173/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 6b63bf8a1f8a224c2cdd9af3cbbde7ccd3fb0f25 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:07 +0000 Subject: [PATCH 174/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 89c8cc9ca7410b6ec291196128be41d00c0fdee0 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:07 +0000 Subject: [PATCH 175/283] aarch64 pushed ./balena-storage --- Dockerfile.aarch64 | 12 ++++++----- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 22 insertions(+), 20 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 44b99802c..efb0bc69d 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -6,11 +6,13 @@ WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn yarn -RUN apk update \ - && apk add --no-cache yarn \ - && yarn install --immutable \ - && yarn cache clean +COPY .yarn .yarn +RUN apk add --no-cache nodejs npm \ + && npm install -g corepack \ + && corepack enable \ + && corepack prepare yarn@4 --activate \ + && yarn install --immutable \ + && yarn cache clean # Stage 2: Build PHP-FPM environment FROM php:7.4.33-fpm-alpine3.16 diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 1e90eaa11db937bb2d70b71cf4d1e4be4706c7dd Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:30:08 +0000 Subject: [PATCH 176/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From d7d3039a910b1c5adc2b834f967f5a0b97f43d3e Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:37 +0000 Subject: [PATCH 177/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.armhf | 19 +------------------ deployment/images/httpd/Dockerfile.template | 19 +------------------ 4 files changed, 4 insertions(+), 38 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.armhf b/deployment/images/httpd/Dockerfile.armhf index e7d984e05..b0cdd07e7 100644 --- a/deployment/images/httpd/Dockerfile.armhf +++ b/deployment/images/httpd/Dockerfile.armhf @@ -1,16 +1,3 @@ -# BEGIN - Multi-stage Build -# Stage 1: Install NodeJS dependencies -FROM node:20-alpine3.16 AS node-build - -WORKDIR /usr/local/project - -# Copy Node.js dependency files, Fixing global modules issue -RUN apk update \ - && apk add --no-cache yarn \ - && yarn add balena-cloud-apps \ - && yarn cache clean - -# Stage 2: Build environment FROM httpd:2.4-alpine3.22 # Set up working directory and environment @@ -18,11 +5,6 @@ ARG HTDOCS ENV HTDOCS=${HTDOCS:-"/usr/local/apache2/htdocs"} WORKDIR ${HTDOCS} -# Add mor NodeJS, CakePHP and Composer commands to system path -COPY --from=node-build /usr/local/project/node_modules/ node_modules -ENV PATH="${HTDOCS}/node_modules/.bin:${PATH}" -# END - Multi-stage Build - # Install base packages RUN apk update \ && apk add --no-cache \ @@ -76,3 +58,4 @@ RUN chmod +x Scripts/*.sh \ && Scripts/a2enmod.sh ENTRYPOINT ["apachectl", "-D", "FOREGROUND"] + diff --git a/deployment/images/httpd/Dockerfile.template b/deployment/images/httpd/Dockerfile.template index e7d984e05..b0cdd07e7 100644 --- a/deployment/images/httpd/Dockerfile.template +++ b/deployment/images/httpd/Dockerfile.template @@ -1,16 +1,3 @@ -# BEGIN - Multi-stage Build -# Stage 1: Install NodeJS dependencies -FROM node:20-alpine3.16 AS node-build - -WORKDIR /usr/local/project - -# Copy Node.js dependency files, Fixing global modules issue -RUN apk update \ - && apk add --no-cache yarn \ - && yarn add balena-cloud-apps \ - && yarn cache clean - -# Stage 2: Build environment FROM httpd:2.4-alpine3.22 # Set up working directory and environment @@ -18,11 +5,6 @@ ARG HTDOCS ENV HTDOCS=${HTDOCS:-"/usr/local/apache2/htdocs"} WORKDIR ${HTDOCS} -# Add mor NodeJS, CakePHP and Composer commands to system path -COPY --from=node-build /usr/local/project/node_modules/ node_modules -ENV PATH="${HTDOCS}/node_modules/.bin:${PATH}" -# END - Multi-stage Build - # Install base packages RUN apk update \ && apk add --no-cache \ @@ -76,3 +58,4 @@ RUN chmod +x Scripts/*.sh \ && Scripts/a2enmod.sh ENTRYPOINT ["apachectl", "-D", "FOREGROUND"] + From 6b277c4361476a83f71d96157e5766da87629db5 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:37 +0000 Subject: [PATCH 178/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From dd1860cdbe32ea793284d3fa2fe7be7f38a32be7 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:37 +0000 Subject: [PATCH 179/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From a307f404b892ed0298e6e5336f4186c835a9a4a2 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:38 +0000 Subject: [PATCH 180/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.x86_64 | 19 +------------------ docker-compose.yml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 28 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.x86_64 b/deployment/images/httpd/Dockerfile.x86_64 index e7d984e05..b0cdd07e7 100644 --- a/deployment/images/httpd/Dockerfile.x86_64 +++ b/deployment/images/httpd/Dockerfile.x86_64 @@ -1,16 +1,3 @@ -# BEGIN - Multi-stage Build -# Stage 1: Install NodeJS dependencies -FROM node:20-alpine3.16 AS node-build - -WORKDIR /usr/local/project - -# Copy Node.js dependency files, Fixing global modules issue -RUN apk update \ - && apk add --no-cache yarn \ - && yarn add balena-cloud-apps \ - && yarn cache clean - -# Stage 2: Build environment FROM httpd:2.4-alpine3.22 # Set up working directory and environment @@ -18,11 +5,6 @@ ARG HTDOCS ENV HTDOCS=${HTDOCS:-"/usr/local/apache2/htdocs"} WORKDIR ${HTDOCS} -# Add mor NodeJS, CakePHP and Composer commands to system path -COPY --from=node-build /usr/local/project/node_modules/ node_modules -ENV PATH="${HTDOCS}/node_modules/.bin:${PATH}" -# END - Multi-stage Build - # Install base packages RUN apk update \ && apk add --no-cache \ @@ -76,3 +58,4 @@ RUN chmod +x Scripts/*.sh \ && Scripts/a2enmod.sh ENTRYPOINT ["apachectl", "-D", "FOREGROUND"] + diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From bb1e44d4b7e32fa645c09d0285020018be6f3be9 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:39 +0000 Subject: [PATCH 181/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 67126f09b2e4c7ab215ee032c7aa7445dc3b151d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:39 +0000 Subject: [PATCH 182/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 6e66d671c396743568895ed21143cc573c45d2c0 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:40 +0000 Subject: [PATCH 183/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.aarch64 | 19 +------------------ docker-compose.yml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 28 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.aarch64 b/deployment/images/httpd/Dockerfile.aarch64 index e7d984e05..b0cdd07e7 100644 --- a/deployment/images/httpd/Dockerfile.aarch64 +++ b/deployment/images/httpd/Dockerfile.aarch64 @@ -1,16 +1,3 @@ -# BEGIN - Multi-stage Build -# Stage 1: Install NodeJS dependencies -FROM node:20-alpine3.16 AS node-build - -WORKDIR /usr/local/project - -# Copy Node.js dependency files, Fixing global modules issue -RUN apk update \ - && apk add --no-cache yarn \ - && yarn add balena-cloud-apps \ - && yarn cache clean - -# Stage 2: Build environment FROM httpd:2.4-alpine3.22 # Set up working directory and environment @@ -18,11 +5,6 @@ ARG HTDOCS ENV HTDOCS=${HTDOCS:-"/usr/local/apache2/htdocs"} WORKDIR ${HTDOCS} -# Add mor NodeJS, CakePHP and Composer commands to system path -COPY --from=node-build /usr/local/project/node_modules/ node_modules -ENV PATH="${HTDOCS}/node_modules/.bin:${PATH}" -# END - Multi-stage Build - # Install base packages RUN apk update \ && apk add --no-cache \ @@ -76,3 +58,4 @@ RUN chmod +x Scripts/*.sh \ && Scripts/a2enmod.sh ENTRYPOINT ["apachectl", "-D", "FOREGROUND"] + diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 69e88ad6fec2e3cea570fab40e65375323163e3b Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:40 +0000 Subject: [PATCH 184/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 27897aff38f97c5f880a8d6d2e53b0a23fb230b0 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:41 +0000 Subject: [PATCH 185/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From e7cba257edb0d101043f98e9fe369945ea661e90 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:34:41 +0000 Subject: [PATCH 186/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From 7715630da969073bf4ec09f5bd2c6f28e16a99f4 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:35:06 +0000 Subject: [PATCH 187/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file From d6ee01fe454337476d7593ea1c08c5dc8ac839de Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:35:06 +0000 Subject: [PATCH 188/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From b745e42fa982214e10bc1d3342d1f684087eaa9b Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:35:07 +0000 Subject: [PATCH 189/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 8227a636164a2bac0f13c247f49ab2e4f61de5c3 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:35:14 +0000 Subject: [PATCH 190/283] Deployment was updated --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 6e287049650d39d621c2a75932f1d315220627f9 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:33 +0000 Subject: [PATCH 191/283] armhf pushed ./deployment/images/httpd --- .yarn/install-state.gz | Bin 13165 -> 13408 bytes Dockerfile.template | 1 + package.json | 2 +- yarn.lock | 462 ++++++++++++++++++++++++++++------------- 4 files changed, 315 insertions(+), 150 deletions(-) diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index 9f77608eb4f05190835d6dfb9b8f004ef2bb81ec..fa6b3eea5c0b733b75dd4fb9790e33781a2a1003 100644 GIT binary patch delta 5024 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 delta 4779 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 F0RXDk&~5+# diff --git a/Dockerfile.template b/Dockerfile.template index 211010ab5..2c98af7dd 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -11,6 +11,7 @@ RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ + && corepack install -g yarn \ && yarn install --immutable \ && yarn cache clean diff --git a/package.json b/package.json index a7aa4fe1e..0cd6b3a7f 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "url": "https://github.com/b23prodtm/acake2php/issues" }, "homepage": "https://github.com/b23prodtm/acake2php#readme", - "packageManager": "yarn@4.6.0", + "packageManager": "yarn@4.12.0+sha512.f45ab632439a67f8bc759bf32ead036a1f413287b9042726b7cc4818b7b49e14e9423ba49b18f9e06ea4941c1ad062385b1d8760a8d5091a1a31e5f6219afca8", "dependencies": { "balena-cloud-apps": "^1.0.49" } diff --git a/yarn.lock b/yarn.lock index a1f0f8afa..3af397c82 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,171 +1,335 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! +__metadata: + version: 8 + cacheKey: 10c0 -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - version "2.0.5" - -"@nodelib/fs.walk@^1.2.3": - version "1.2.8" + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -balena-cloud-apps@^1.0.49: - version "1.0.49" + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"balena-cloud-apps@npm:^1.0.49": + version: 1.0.49 + resolution: "balena-cloud-apps@npm:1.0.49" dependencies: - shelljs "^0.10.0" - -braces@^3.0.3: - version "3.0.3" + shelljs: "npm:^0.10.0" + bin: + auto_reboot: vendor/cni/auto_reboot.sh + balena_deploy: vendor/cni/balena_deploy.sh + clone_project: vendor/cni/clone_project.sh + docker_build: vendor/cni/docker_build.sh + git_fix_issue: vendor/cni/git_fix_issue.sh + git_fix_issue_close: vendor/cni/git_fix_issue_close.sh + git_retag: vendor/cni/git_retag.sh + init_functions: vendor/cni/init_functions.sh + post_install: vendor/cni/post_install.sh + update_templates: vendor/cni/update_templates.sh + checksum: 10c0/b744af844935c6660e250eac0c998d91937613c42a87ccb39ec27a29940071c694f56deee70801b3abe6196980a3647723eb01556894c8b017af670af04cff51 + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" dependencies: - fill-range "^7.1.1" - -"corepack@file:../../../usr/local/lib/node_modules/corepack": - version "0.34.6" - resolved "file:../../../usr/local/lib/node_modules/corepack" - -cross-spawn@^7.0.3: - version "7.0.6" + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -execa@^5.1.1: - version "5.1.1" + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"execa@npm:^5.1.1": + version: 5.1.1 + resolution: "execa@npm:5.1.1" dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - -fast-glob@^3.3.2: - version "3.3.3" + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"fast-glob@npm:^3.3.2": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.8" - -fastq@^1.6.0: - version "1.20.1" + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.20.1 + resolution: "fastq@npm:1.20.1" dependencies: - reusify "^1.0.4" - -fill-range@^7.1.1: - version "7.1.1" + reusify: "npm:^1.0.4" + checksum: 10c0/e5dd725884decb1f11e5c822221d76136f239d0236f176fab80b7b8f9e7619ae57e6b4e5b73defc21e6b9ef99437ee7b545cff8e6c2c337819633712fa9d352e + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" dependencies: - to-regex-range "^5.0.1" - -get-stream@^6.0.0: - version "6.0.1" - -glob-parent@^5.1.2: - version "5.1.2" + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" dependencies: - is-glob "^4.0.1" - -human-signals@^2.1.0: - version "2.1.0" - -is-extglob@^2.1.1: - version "2.1.1" - -is-glob@^4.0.1: - version "4.0.3" + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - -is-stream@^2.0.0: - version "2.0.1" - -isexe@^2.0.0: - version "2.0.0" - -merge-stream@^2.0.0: - version "2.0.0" - -merge2@^1.3.0: - version "1.4.1" - -micromatch@^4.0.8: - version "4.0.8" + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: - braces "^3.0.3" - picomatch "^2.3.1" - -mimic-fn@^2.1.0: - version "2.1.0" - -npm-run-path@^4.0.1: - version "4.0.1" + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"myphpcms@workspace:.": + version: 0.0.0-use.local + resolution: "myphpcms@workspace:." dependencies: - path-key "^3.0.0" + balena-cloud-apps: "npm:^1.0.49" + languageName: unknown + linkType: soft -onetime@^5.1.2: - version "5.1.2" +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" dependencies: - mimic-fn "^2.1.0" - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - -picomatch@^2.3.1: - version "2.3.1" - -queue-microtask@^1.2.2: - version "1.2.3" - -reusify@^1.0.4: - version "1.1.0" - -run-parallel@^1.1.9: - version "1.2.0" + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" dependencies: - queue-microtask "^1.2.2" - -shebang-command@^2.0.0: - version "2.0.0" + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - -shelljs@^0.10.0: - version "0.10.0" + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" dependencies: - execa "^5.1.1" - fast-glob "^3.3.2" - -signal-exit@^3.0.3: - version "3.0.7" - -strip-final-newline@^2.0.0: - version "2.0.0" - -to-regex-range@^5.0.1: - version "5.0.1" + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shelljs@npm:^0.10.0": + version: 0.10.0 + resolution: "shelljs@npm:0.10.0" dependencies: - is-number "^7.0.0" - -which@^2.0.1: - version "2.0.2" + execa: "npm:^5.1.1" + fast-glob: "npm:^3.3.2" + checksum: 10c0/3a18d524e2302fedd6e2b143bc17fd1e4583f41d19cb8ab747f8b00cfe39370044835f72adcab63a25ce004cae1605a8825afb3fa4dd5f78217b17b9ef966468 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" dependencies: - isexe "^2.0.0" + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard From efb02e61186b3b6ba068e8e094abe6887332e429 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:34 +0000 Subject: [PATCH 192/283] armhf pushed ./balena-storage --- Dockerfile.armhf | 1 + 1 file changed, 1 insertion(+) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index 87d9fc0f5..ba0e406fe 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -11,6 +11,7 @@ RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ + && corepack install -g yarn \ && yarn install --immutable \ && yarn cache clean From 3eeb089612e102598e952fada58ca5d9b5e27889 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:35 +0000 Subject: [PATCH 193/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file From bfe079d8eced640bbeabc9265e409ebc9558799a Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:35 +0000 Subject: [PATCH 194/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 98bd1fdc64f3a0304f3825a06039141f4fdcafe9 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:36 +0000 Subject: [PATCH 195/283] x86_64 pushed ./balena-storage --- Dockerfile.x86_64 | 1 + balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Dockerfile.x86_64 b/Dockerfile.x86_64 index 82a95e22e..539c48d58 100644 --- a/Dockerfile.x86_64 +++ b/Dockerfile.x86_64 @@ -11,6 +11,7 @@ RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ + && corepack install -g yarn \ && yarn install --immutable \ && yarn cache clean diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From cce0399680907a1643194304e9a131fe29ad6dac Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:37 +0000 Subject: [PATCH 196/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 6baf13e168bcc7bd50603d7892c8795a0c052147 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:37 +0000 Subject: [PATCH 197/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From c294e6ab3703b557dfaf28bac9b6b5086a448dee Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:37 +0000 Subject: [PATCH 198/283] aarch64 pushed ./balena-storage --- Dockerfile.aarch64 | 1 + balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index efb0bc69d..45e848d1f 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -11,6 +11,7 @@ RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ + && corepack install -g yarn \ && yarn install --immutable \ && yarn cache clean diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From f3f077aa644b5cb7c164a760f0f93943b99885e1 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:38 +0000 Subject: [PATCH 199/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From faf93a1624d0c10dda2fc853a135c2f33fba5eb3 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:47 +0000 Subject: [PATCH 200/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file From fa9977562722cbb929e34aa98608bddeea03a30b Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:47 +0000 Subject: [PATCH 201/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From cf749d36eacb0c5021c35404dd04255bfd6c10ab Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:47 +0000 Subject: [PATCH 202/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 93957be76b0a74927a5950822e436bbe9d32dde1 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 19:56:50 +0000 Subject: [PATCH 203/283] Deployment was updated --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 85dddebf8b6a4b360cf9b2513356b8a08c158fbb Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:47 +0000 Subject: [PATCH 204/283] armhf pushed ./deployment/images/httpd --- .yarn/install-state.gz | Bin 13408 -> 13406 bytes deployment/images/mysqldb/Dockerfile.template | 1 + package.json | 2 +- yarn.lock | 16 ++++++++-------- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz index fa6b3eea5c0b733b75dd4fb9790e33781a2a1003..faaa6826858301e37b142a04f29f63c085270e08 100644 GIT binary patch delta 9687 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 diff --git a/deployment/images/mysqldb/Dockerfile.template b/deployment/images/mysqldb/Dockerfile.template index dc0dc16e8..75c0a50c2 100644 --- a/deployment/images/mysqldb/Dockerfile.template +++ b/deployment/images/mysqldb/Dockerfile.template @@ -1,4 +1,5 @@ ARG SECONDARY_HUB +ARG SECONDARY_TAG FROM ${SECONDARY_HUB:-%%SECONDARY_HUB%%}:${SECONDARY_TAG:-%%SECONDARY_TAG%%} ARG PUID diff --git a/package.json b/package.json index 0cd6b3a7f..ea9475200 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "myphpcms", + "name": "acake2php", "version": "1.0.0", "description": "A CakePHP and MariaDB website", "main": "index.php", diff --git a/yarn.lock b/yarn.lock index 3af397c82..f57c26d77 100644 --- a/yarn.lock +++ b/yarn.lock @@ -32,6 +32,14 @@ __metadata: languageName: node linkType: hard +"acake2php@workspace:.": + version: 0.0.0-use.local + resolution: "acake2php@workspace:." + dependencies: + balena-cloud-apps: "npm:^1.0.49" + languageName: unknown + linkType: soft + "balena-cloud-apps@npm:^1.0.49": version: 1.0.49 resolution: "balena-cloud-apps@npm:1.0.49" @@ -211,14 +219,6 @@ __metadata: languageName: node linkType: hard -"myphpcms@workspace:.": - version: 0.0.0-use.local - resolution: "myphpcms@workspace:." - dependencies: - balena-cloud-apps: "npm:^1.0.49" - languageName: unknown - linkType: soft - "npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" From 2771a5a0a704028e82db4fed1a36ab2d209db52e Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:47 +0000 Subject: [PATCH 205/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/Dockerfile.armhf | 1 + 1 file changed, 1 insertion(+) diff --git a/deployment/images/mysqldb/Dockerfile.armhf b/deployment/images/mysqldb/Dockerfile.armhf index 991b3a497..db8e509c3 100644 --- a/deployment/images/mysqldb/Dockerfile.armhf +++ b/deployment/images/mysqldb/Dockerfile.armhf @@ -1,4 +1,5 @@ ARG SECONDARY_HUB +ARG SECONDARY_TAG FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-arm32v7-10.6.13} ARG PUID From 0bef538b6967c49404053a4fbf4d80e552ae4c50 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:49 +0000 Subject: [PATCH 206/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file From a369f84c6fcc6b079fcfa5605d2c277e50b3def2 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:49 +0000 Subject: [PATCH 207/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- deployment/images/mysqldb/Dockerfile.x86_64 | 1 + 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g diff --git a/deployment/images/mysqldb/Dockerfile.x86_64 b/deployment/images/mysqldb/Dockerfile.x86_64 index 60af5da53..bad42bc2b 100644 --- a/deployment/images/mysqldb/Dockerfile.x86_64 +++ b/deployment/images/mysqldb/Dockerfile.x86_64 @@ -1,4 +1,5 @@ ARG SECONDARY_HUB +ARG SECONDARY_TAG FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-amd64-10.6.13} ARG PUID From adb8451d19447e58bb99edd3793ecfe418022898 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:50 +0000 Subject: [PATCH 208/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From f166eaa8ad0a2da891ae217fbf638ac3360bc44d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:50 +0000 Subject: [PATCH 209/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 71b5be4aa808e4d056f59065d51b04daf99a8342 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:51 +0000 Subject: [PATCH 210/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- deployment/images/mysqldb/Dockerfile.aarch64 | 1 + .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.aarch64 b/deployment/images/mysqldb/Dockerfile.aarch64 index 617a06211..5d38a38c3 100644 --- a/deployment/images/mysqldb/Dockerfile.aarch64 +++ b/deployment/images/mysqldb/Dockerfile.aarch64 @@ -1,4 +1,5 @@ ARG SECONDARY_HUB +ARG SECONDARY_TAG FROM ${SECONDARY_HUB:-linuxserver/mariadb}:${SECONDARY_TAG:-arm64v8-10.6.13} ARG PUID diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 839e0b29b813ac441173afb1322cee3a4dd341f7 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:51 +0000 Subject: [PATCH 211/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 5feb3457e040a541f9df88af2b2fa95913ce5921 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:52 +0000 Subject: [PATCH 212/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From cadf4c86e65e69698194cbbe5a148388f9e6eaaa Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:52 +0000 Subject: [PATCH 213/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file From dfe21afc4df73954deae7f4c1230dde8fda1c28c Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:52 +0000 Subject: [PATCH 214/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 284499c7c32ce54e7c95ebb6742187575057eabb Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:53 +0000 Subject: [PATCH 215/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From d2c9eda7d0b1f328aee7b5ab573836d33f5b7dae Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:50:53 +0000 Subject: [PATCH 216/283] Deployment was updated --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 9c185e4ce59b79947250f8394a71e18c082cbc44 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:22 +0000 Subject: [PATCH 217/283] armhf pushed ./deployment/images/httpd --- Dockerfile.template | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.template b/Dockerfile.template index 2c98af7dd..914a5e475 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build /usr/local/project/node_modules node_modules +COPY --from=node-build node_modules node_modules # END - Multi-stage Build ARG PUID From 6967265a746d4d84591f2693363a4eee55baa9a8 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:23 +0000 Subject: [PATCH 218/283] armhf pushed ./balena-storage --- Dockerfile.armhf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index ba0e406fe..c52f22322 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build /usr/local/project/node_modules node_modules +COPY --from=node-build node_modules node_modules # END - Multi-stage Build ARG PUID From 581425bccfd4f5095484343888e907683171fe9a Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:24 +0000 Subject: [PATCH 219/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file From 63bb3bf941ae297ff93dcb1d56e940679d9c5e64 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:24 +0000 Subject: [PATCH 220/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From c5bd97a0c22ce3169f4cec856b9bc84a3fd65380 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:25 +0000 Subject: [PATCH 221/283] x86_64 pushed ./balena-storage --- Dockerfile.x86_64 | 2 +- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Dockerfile.x86_64 b/Dockerfile.x86_64 index 539c48d58..a5df4c4a2 100644 --- a/Dockerfile.x86_64 +++ b/Dockerfile.x86_64 @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build /usr/local/project/node_modules node_modules +COPY --from=node-build node_modules node_modules # END - Multi-stage Build ARG PUID diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 67debca4f762351bf7e3220e08347abf2f5852c2 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:26 +0000 Subject: [PATCH 222/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- docker-compose.yml | 16 ++++++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From a3f5e07e9471944015a0515591131c7fd9277886 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:26 +0000 Subject: [PATCH 223/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From f7f50a3ff1559919fea26f4f1967bf87000fe8a8 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:27 +0000 Subject: [PATCH 224/283] aarch64 pushed ./balena-storage --- Dockerfile.aarch64 | 2 +- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 45e848d1f..2a733fc29 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build /usr/local/project/node_modules node_modules +COPY --from=node-build node_modules node_modules # END - Multi-stage Build ARG PUID diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 5269515b4a7f88ebf705b2a891c5b4894070abab Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:27 +0000 Subject: [PATCH 225/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From bbd83d048b2f2e7c6ed3f9a8e8c989cca6d5998d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:28 +0000 Subject: [PATCH 226/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file From 0f503aa09711a11fb744cef6f62fa199dd983c47 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:28 +0000 Subject: [PATCH 227/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 37eee4f8392ee931055a109b7fdfb34062f13da6 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:29 +0000 Subject: [PATCH 228/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 44b9c6fbfc9c807c5eb19f6a8d4c8b87751c23b5 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 20:56:29 +0000 Subject: [PATCH 229/283] Deployment was updated --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From f17c1de094f66b3ca0427c2a7c03bcdc19c1c84b Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Mon, 2 Feb 2026 22:17:10 +0100 Subject: [PATCH 230/283] Update Dockerfile.template --- deployment/images/httpd/Dockerfile.template | 23 +++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/deployment/images/httpd/Dockerfile.template b/deployment/images/httpd/Dockerfile.template index b0cdd07e7..19d1e69e7 100644 --- a/deployment/images/httpd/Dockerfile.template +++ b/deployment/images/httpd/Dockerfile.template @@ -1,3 +1,21 @@ +# BEGIN - Multi-stage Build +# Stage 1: Install NodeJS dependencies +FROM node:20-alpine3.22 AS node-build + +WORKDIR /usr/local/project + +# Copy Node.js dependency files, Fixing global modules issue +COPY package.json yarn.lock .yarnrc.yml ./ +COPY .yarn .yarn +RUN apk add --no-cache nodejs npm \ + && npm install -g corepack \ + && corepack enable \ + && corepack prepare yarn@4 --activate \ + && corepack install -g yarn \ + && yarn install --immutable \ + && yarn cache clean + +# Stage 2: Build HTTPD environment FROM httpd:2.4-alpine3.22 # Set up working directory and environment @@ -5,6 +23,11 @@ ARG HTDOCS ENV HTDOCS=${HTDOCS:-"/usr/local/apache2/htdocs"} WORKDIR ${HTDOCS} +# Add mor NodeJS, CakePHP and Composer commands to system path +ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" +COPY --from=node-build node_modules node_modules +# END - Multi-stage Build + # Install base packages RUN apk update \ && apk add --no-cache \ From c481792f10be3dbcdbabe21a0fc42c9182938e7c Mon Sep 17 00:00:00 2001 From: TiB Rkt Arimana <5566338+b23prodtm@users.noreply.github.com> Date: Mon, 2 Feb 2026 22:19:45 +0100 Subject: [PATCH 231/283] Update Dockerfile.template --- Dockerfile.template | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Dockerfile.template b/Dockerfile.template index 914a5e475..037c46923 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -88,18 +88,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-"db"} ARG MYSQL_TCP_PORT ENV MYSQL_TCP_PORT=${MYSQL_TCP_PORT:-3306} -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-"aria_db"} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-"mariadb"} ARG TEST_MYSQL_DATABASE ENV TEST_MYSQL_DATABASE=${TEST_MYSQL_DATABASE:-"test"} -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-"maria"} -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-"maria-abc"} -ARG HASH_PASSWORD -ENV HASH_PASSWORD=${HASH_PASSWORD:-"password"} + +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent +# ENV HASH_PASSWORD <-- intentionally absent # Install necessary PHP extensions and dependencies COPY --from=ghcr.io/mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ From 9db4b726a4345f88631f1f6ecfd1efd654b23a77 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:27 +0000 Subject: [PATCH 232/283] armhf pushed ./deployment/images/httpd --- deployment/images/httpd/Dockerfile.armhf | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/deployment/images/httpd/Dockerfile.armhf b/deployment/images/httpd/Dockerfile.armhf index b0cdd07e7..19d1e69e7 100644 --- a/deployment/images/httpd/Dockerfile.armhf +++ b/deployment/images/httpd/Dockerfile.armhf @@ -1,3 +1,21 @@ +# BEGIN - Multi-stage Build +# Stage 1: Install NodeJS dependencies +FROM node:20-alpine3.22 AS node-build + +WORKDIR /usr/local/project + +# Copy Node.js dependency files, Fixing global modules issue +COPY package.json yarn.lock .yarnrc.yml ./ +COPY .yarn .yarn +RUN apk add --no-cache nodejs npm \ + && npm install -g corepack \ + && corepack enable \ + && corepack prepare yarn@4 --activate \ + && corepack install -g yarn \ + && yarn install --immutable \ + && yarn cache clean + +# Stage 2: Build HTTPD environment FROM httpd:2.4-alpine3.22 # Set up working directory and environment @@ -5,6 +23,11 @@ ARG HTDOCS ENV HTDOCS=${HTDOCS:-"/usr/local/apache2/htdocs"} WORKDIR ${HTDOCS} +# Add mor NodeJS, CakePHP and Composer commands to system path +ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" +COPY --from=node-build node_modules node_modules +# END - Multi-stage Build + # Install base packages RUN apk update \ && apk add --no-cache \ From 4e56223d91fac73146f55bb8de2d2bfea008d086 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:28 +0000 Subject: [PATCH 233/283] armhf pushed ./balena-storage --- Dockerfile.armhf | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index c52f22322..f792f242d 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -88,18 +88,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-"db"} ARG MYSQL_TCP_PORT ENV MYSQL_TCP_PORT=${MYSQL_TCP_PORT:-3306} -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-"aria_db"} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-"mariadb"} ARG TEST_MYSQL_DATABASE ENV TEST_MYSQL_DATABASE=${TEST_MYSQL_DATABASE:-"test"} -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-"maria"} -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-"maria-abc"} -ARG HASH_PASSWORD -ENV HASH_PASSWORD=${HASH_PASSWORD:-"password"} + +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent +# ENV HASH_PASSWORD <-- intentionally absent # Install necessary PHP extensions and dependencies COPY --from=ghcr.io/mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ From 316d8c7a5701e38c74eeeb736453306e72167536 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:29 +0000 Subject: [PATCH 234/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.x86_64 | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.x86_64 b/deployment/images/httpd/Dockerfile.x86_64 index b0cdd07e7..19d1e69e7 100644 --- a/deployment/images/httpd/Dockerfile.x86_64 +++ b/deployment/images/httpd/Dockerfile.x86_64 @@ -1,3 +1,21 @@ +# BEGIN - Multi-stage Build +# Stage 1: Install NodeJS dependencies +FROM node:20-alpine3.22 AS node-build + +WORKDIR /usr/local/project + +# Copy Node.js dependency files, Fixing global modules issue +COPY package.json yarn.lock .yarnrc.yml ./ +COPY .yarn .yarn +RUN apk add --no-cache nodejs npm \ + && npm install -g corepack \ + && corepack enable \ + && corepack prepare yarn@4 --activate \ + && corepack install -g yarn \ + && yarn install --immutable \ + && yarn cache clean + +# Stage 2: Build HTTPD environment FROM httpd:2.4-alpine3.22 # Set up working directory and environment @@ -5,6 +23,11 @@ ARG HTDOCS ENV HTDOCS=${HTDOCS:-"/usr/local/apache2/htdocs"} WORKDIR ${HTDOCS} +# Add mor NodeJS, CakePHP and Composer commands to system path +ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" +COPY --from=node-build node_modules node_modules +# END - Multi-stage Build + # Install base packages RUN apk update \ && apk add --no-cache \ From 87c4988922d132eb7cab7c1043d5af193e466782 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:29 +0000 Subject: [PATCH 235/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 33867875fe9d7a1b644f63296c885aa643970991 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:30 +0000 Subject: [PATCH 236/283] x86_64 pushed ./balena-storage --- Dockerfile.x86_64 | 18 ++++++++--------- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/Dockerfile.x86_64 b/Dockerfile.x86_64 index a5df4c4a2..c164c8ac9 100644 --- a/Dockerfile.x86_64 +++ b/Dockerfile.x86_64 @@ -88,18 +88,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-"db"} ARG MYSQL_TCP_PORT ENV MYSQL_TCP_PORT=${MYSQL_TCP_PORT:-3306} -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-"aria_db"} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-"mariadb"} ARG TEST_MYSQL_DATABASE ENV TEST_MYSQL_DATABASE=${TEST_MYSQL_DATABASE:-"test"} -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-"maria"} -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-"maria-abc"} -ARG HASH_PASSWORD -ENV HASH_PASSWORD=${HASH_PASSWORD:-"password"} + +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent +# ENV HASH_PASSWORD <-- intentionally absent # Install necessary PHP extensions and dependencies COPY --from=ghcr.io/mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 4838d0f531764991bd70afd243140f9ea3da410c Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:31 +0000 Subject: [PATCH 237/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.aarch64 | 23 ++++++++++++++++++++++ docker-compose.yml | 16 +++++++-------- 4 files changed, 33 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.aarch64 b/deployment/images/httpd/Dockerfile.aarch64 index b0cdd07e7..19d1e69e7 100644 --- a/deployment/images/httpd/Dockerfile.aarch64 +++ b/deployment/images/httpd/Dockerfile.aarch64 @@ -1,3 +1,21 @@ +# BEGIN - Multi-stage Build +# Stage 1: Install NodeJS dependencies +FROM node:20-alpine3.22 AS node-build + +WORKDIR /usr/local/project + +# Copy Node.js dependency files, Fixing global modules issue +COPY package.json yarn.lock .yarnrc.yml ./ +COPY .yarn .yarn +RUN apk add --no-cache nodejs npm \ + && npm install -g corepack \ + && corepack enable \ + && corepack prepare yarn@4 --activate \ + && corepack install -g yarn \ + && yarn install --immutable \ + && yarn cache clean + +# Stage 2: Build HTTPD environment FROM httpd:2.4-alpine3.22 # Set up working directory and environment @@ -5,6 +23,11 @@ ARG HTDOCS ENV HTDOCS=${HTDOCS:-"/usr/local/apache2/htdocs"} WORKDIR ${HTDOCS} +# Add mor NodeJS, CakePHP and Composer commands to system path +ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" +COPY --from=node-build node_modules node_modules +# END - Multi-stage Build + # Install base packages RUN apk update \ && apk add --no-cache \ diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From b6a98bf45701d2b66bf8ef0c481a1998a4d81595 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:31 +0000 Subject: [PATCH 238/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 764b5e1c6459e7c521b841fca76b993515ce0244 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:31 +0000 Subject: [PATCH 239/283] aarch64 pushed ./balena-storage --- Dockerfile.aarch64 | 18 ++++++++--------- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 23 insertions(+), 25 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 2a733fc29..381d67b20 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -88,18 +88,16 @@ ARG MYSQL_HOST ENV MYSQL_HOST=${MYSQL_HOST:-"db"} ARG MYSQL_TCP_PORT ENV MYSQL_TCP_PORT=${MYSQL_TCP_PORT:-3306} -ARG MYSQL_DATABASE -ENV MYSQL_DATABASE=${MYSQL_DATABASE:-"aria_db"} -ARG MYSQL_ROOT_PASSWORD -ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-"mariadb"} ARG TEST_MYSQL_DATABASE ENV TEST_MYSQL_DATABASE=${TEST_MYSQL_DATABASE:-"test"} -ARG MYSQL_USER -ENV MYSQL_USER=${MYSQL_USER:-"maria"} -ARG MYSQL_PASSWORD -ENV MYSQL_PASSWORD=${MYSQL_PASSWORD:-"maria-abc"} -ARG HASH_PASSWORD -ENV HASH_PASSWORD=${HASH_PASSWORD:-"password"} + +# These are now expected at RUNTIME only — no ARG, no default values baked in +# They must be provided via: docker run --env-file, Docker secrets, or a secrets manager +# ENV MYSQL_ROOT_PASSWORD <-- intentionally absent +# ENV MYSQL_USER <-- intentionally absent +# ENV MYSQL_PASSWORD <-- intentionally absent +# ENV MYSQL_DATABASE <-- intentionally absent +# ENV HASH_PASSWORD <-- intentionally absent # Install necessary PHP extensions and dependencies COPY --from=ghcr.io/mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/ diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From ba59d55ea098361a5ae6922b73976b2571b3864d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:32 +0000 Subject: [PATCH 240/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From 1279567cc4bebb91210d225cac05068b154d6d51 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:32 +0000 Subject: [PATCH 241/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file From 59bfef88684f892b8f4d6492b456b8f227f4cff1 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:33 +0000 Subject: [PATCH 242/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 277468d18c144bf391609ef650696f19ca7b1529 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:33 +0000 Subject: [PATCH 243/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 226be54e2f088266efa1b7ff8d1ad7f3654d2461 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:20:34 +0000 Subject: [PATCH 244/283] Deployment was updated --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 21cd6eda5d9d1196d7f6f7bae1d0c32178345e45 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:02 +0000 Subject: [PATCH 245/283] armhf pushed ./deployment/images/httpd --- deployment/images/httpd/Dockerfile.armhf | 5 ++--- deployment/images/httpd/Dockerfile.template | 5 ++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/deployment/images/httpd/Dockerfile.armhf b/deployment/images/httpd/Dockerfile.armhf index 19d1e69e7..2ec871715 100644 --- a/deployment/images/httpd/Dockerfile.armhf +++ b/deployment/images/httpd/Dockerfile.armhf @@ -5,14 +5,13 @@ FROM node:20-alpine3.22 AS node-build WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue -COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ && corepack install -g yarn \ - && yarn install --immutable \ + && yarn add balena-cloud-apps \ + && npm link balena-cloud-apps \ && yarn cache clean # Stage 2: Build HTTPD environment diff --git a/deployment/images/httpd/Dockerfile.template b/deployment/images/httpd/Dockerfile.template index 19d1e69e7..2ec871715 100644 --- a/deployment/images/httpd/Dockerfile.template +++ b/deployment/images/httpd/Dockerfile.template @@ -5,14 +5,13 @@ FROM node:20-alpine3.22 AS node-build WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue -COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ && corepack install -g yarn \ - && yarn install --immutable \ + && yarn add balena-cloud-apps \ + && npm link balena-cloud-apps \ && yarn cache clean # Stage 2: Build HTTPD environment From ddb64d51c75f2d0ae80b1c99f8ef7ba0f7b6f126 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:04 +0000 Subject: [PATCH 246/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.x86_64 | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.x86_64 b/deployment/images/httpd/Dockerfile.x86_64 index 19d1e69e7..2ec871715 100644 --- a/deployment/images/httpd/Dockerfile.x86_64 +++ b/deployment/images/httpd/Dockerfile.x86_64 @@ -5,14 +5,13 @@ FROM node:20-alpine3.22 AS node-build WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue -COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ && corepack install -g yarn \ - && yarn install --immutable \ + && yarn add balena-cloud-apps \ + && npm link balena-cloud-apps \ && yarn cache clean # Stage 2: Build HTTPD environment From 0802ea161d3b85b82809884d707671d2de3b8f51 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:04 +0000 Subject: [PATCH 247/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From d1389ac062f37333661863eb8b1811d7f8bb330b Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:05 +0000 Subject: [PATCH 248/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 90a47eeefd5a75abd331020f8b842e1731b4ddaa Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:05 +0000 Subject: [PATCH 249/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.aarch64 | 5 ++--- docker-compose.yml | 16 ++++++++-------- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.aarch64 b/deployment/images/httpd/Dockerfile.aarch64 index 19d1e69e7..2ec871715 100644 --- a/deployment/images/httpd/Dockerfile.aarch64 +++ b/deployment/images/httpd/Dockerfile.aarch64 @@ -5,14 +5,13 @@ FROM node:20-alpine3.22 AS node-build WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue -COPY package.json yarn.lock .yarnrc.yml ./ -COPY .yarn .yarn RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ && corepack install -g yarn \ - && yarn install --immutable \ + && yarn add balena-cloud-apps \ + && npm link balena-cloud-apps \ && yarn cache clean # Stage 2: Build HTTPD environment diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 1d28bff67f5b26a84e4a66b18d6939e7644892cc Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:06 +0000 Subject: [PATCH 250/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 21fb8db424a9596bf0b40d9ce0a70cf09f43e59d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:06 +0000 Subject: [PATCH 251/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 01484511332f000edfb72a1698810bc7b48d7928 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:07 +0000 Subject: [PATCH 252/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From df0c65bf67049f869958b4b445888386e7973ae7 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:07 +0000 Subject: [PATCH 253/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file From e945dbf1cb0a0eb442b5a065b13745d477931f48 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:08 +0000 Subject: [PATCH 254/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 9b7f7f6620e3e2ea15b6f6114184faf68bee1d9f Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:08 +0000 Subject: [PATCH 255/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 23f7ec14b3e7e50ca82b4b6ac5e914f9f0a61c9f Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:29:09 +0000 Subject: [PATCH 256/283] Deployment was updated --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From 397cf78ab6cc60d55467dc0f524b3d9262bcfd9e Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:39:56 +0000 Subject: [PATCH 257/283] Updated Templates --- .../images/httpd/.yarn/install-state.gz | Bin 0 -> 13296 bytes deployment/images/httpd/Dockerfile.template | 5 +- deployment/images/httpd/README.md | 1 + deployment/images/httpd/package.json | 7 + deployment/images/httpd/yarn.lock | 335 ++++++++++++++++++ 5 files changed, 346 insertions(+), 2 deletions(-) create mode 100644 deployment/images/httpd/.yarn/install-state.gz create mode 100644 deployment/images/httpd/README.md create mode 100644 deployment/images/httpd/package.json create mode 100644 deployment/images/httpd/yarn.lock diff --git a/deployment/images/httpd/.yarn/install-state.gz b/deployment/images/httpd/.yarn/install-state.gz new file mode 100644 index 0000000000000000000000000000000000000000..4e375238b2358414b45938041d3568c935aa562b GIT binary patch literal 13296 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 literal 0 HcmV?d00001 diff --git a/deployment/images/httpd/Dockerfile.template b/deployment/images/httpd/Dockerfile.template index 2ec871715..19d1e69e7 100644 --- a/deployment/images/httpd/Dockerfile.template +++ b/deployment/images/httpd/Dockerfile.template @@ -5,13 +5,14 @@ FROM node:20-alpine3.22 AS node-build WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue +COPY package.json yarn.lock .yarnrc.yml ./ +COPY .yarn .yarn RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ && corepack install -g yarn \ - && yarn add balena-cloud-apps \ - && npm link balena-cloud-apps \ + && yarn install --immutable \ && yarn cache clean # Stage 2: Build HTTPD environment diff --git a/deployment/images/httpd/README.md b/deployment/images/httpd/README.md new file mode 100644 index 000000000..19b72fab2 --- /dev/null +++ b/deployment/images/httpd/README.md @@ -0,0 +1 @@ +# httpd diff --git a/deployment/images/httpd/package.json b/deployment/images/httpd/package.json new file mode 100644 index 000000000..f319bb1c3 --- /dev/null +++ b/deployment/images/httpd/package.json @@ -0,0 +1,7 @@ +{ + "name": "httpd", + "packageManager": "yarn@4.12.0", + "dependencies": { + "balena-cloud-apps": "^1.0.49" + } +} diff --git a/deployment/images/httpd/yarn.lock b/deployment/images/httpd/yarn.lock new file mode 100644 index 000000000..75c8acda4 --- /dev/null +++ b/deployment/images/httpd/yarn.lock @@ -0,0 +1,335 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"balena-cloud-apps@npm:^1.0.49": + version: 1.0.49 + resolution: "balena-cloud-apps@npm:1.0.49" + dependencies: + shelljs: "npm:^0.10.0" + bin: + auto_reboot: vendor/cni/auto_reboot.sh + balena_deploy: vendor/cni/balena_deploy.sh + clone_project: vendor/cni/clone_project.sh + docker_build: vendor/cni/docker_build.sh + git_fix_issue: vendor/cni/git_fix_issue.sh + git_fix_issue_close: vendor/cni/git_fix_issue_close.sh + git_retag: vendor/cni/git_retag.sh + init_functions: vendor/cni/init_functions.sh + post_install: vendor/cni/post_install.sh + update_templates: vendor/cni/update_templates.sh + checksum: 10c0/b744af844935c6660e250eac0c998d91937613c42a87ccb39ec27a29940071c694f56deee70801b3abe6196980a3647723eb01556894c8b017af670af04cff51 + languageName: node + linkType: hard + +"braces@npm:^3.0.3": + version: 3.0.3 + resolution: "braces@npm:3.0.3" + dependencies: + fill-range: "npm:^7.1.1" + checksum: 10c0/7c6dfd30c338d2997ba77500539227b9d1f85e388a5f43220865201e407e076783d0881f2d297b9f80951b4c957fcf0b51c1d2d24227631643c3f7c284b0aa04 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.3": + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 + languageName: node + linkType: hard + +"execa@npm:^5.1.1": + version: 5.1.1 + resolution: "execa@npm:5.1.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^6.0.0" + human-signals: "npm:^2.1.0" + is-stream: "npm:^2.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^4.0.1" + onetime: "npm:^5.1.2" + signal-exit: "npm:^3.0.3" + strip-final-newline: "npm:^2.0.0" + checksum: 10c0/c8e615235e8de4c5addf2fa4c3da3e3aa59ce975a3e83533b4f6a71750fb816a2e79610dc5f1799b6e28976c9ae86747a36a606655bf8cb414a74d8d507b304f + languageName: node + linkType: hard + +"fast-glob@npm:^3.3.2": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe + languageName: node + linkType: hard + +"fastq@npm:^1.6.0": + version: 1.20.1 + resolution: "fastq@npm:1.20.1" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/e5dd725884decb1f11e5c822221d76136f239d0236f176fab80b7b8f9e7619ae57e6b4e5b73defc21e6b9ef99437ee7b545cff8e6c2c337819633712fa9d352e + languageName: node + linkType: hard + +"fill-range@npm:^7.1.1": + version: 7.1.1 + resolution: "fill-range@npm:7.1.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/b75b691bbe065472f38824f694c2f7449d7f5004aa950426a2c28f0306c60db9b880c0b0e4ed819997ffb882d1da02cfcfc819bddc94d71627f5269682edf018 + languageName: node + linkType: hard + +"get-stream@npm:^6.0.0": + version: 6.0.1 + resolution: "get-stream@npm:6.0.1" + checksum: 10c0/49825d57d3fd6964228e6200a58169464b8e8970489b3acdc24906c782fb7f01f9f56f8e6653c4a50713771d6658f7cfe051e5eb8c12e334138c9c918b296341 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"httpd@workspace:.": + version: 0.0.0-use.local + resolution: "httpd@workspace:." + dependencies: + balena-cloud-apps: "npm:^1.0.49" + languageName: unknown + linkType: soft + +"human-signals@npm:^2.1.0": + version: 2.1.0 + resolution: "human-signals@npm:2.1.0" + checksum: 10c0/695edb3edfcfe9c8b52a76926cd31b36978782062c0ed9b1192b36bebc75c4c87c82e178dfcb0ed0fc27ca59d434198aac0bd0be18f5781ded775604db22304a + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-glob@npm:^4.0.1": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-stream@npm:^2.0.0": + version: 2.0.1 + resolution: "is-stream@npm:2.0.1" + checksum: 10c0/7c284241313fc6efc329b8d7f08e16c0efeb6baab1b4cd0ba579eb78e5af1aa5da11e68559896a2067cd6c526bd29241dda4eb1225e627d5aa1a89a76d4635a5 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.8": + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" + dependencies: + braces: "npm:^3.0.3" + picomatch: "npm:^2.3.1" + checksum: 10c0/166fa6eb926b9553f32ef81f5f531d27b4ce7da60e5baf8c021d043b27a388fb95e46a8038d5045877881e673f8134122b59624d5cecbd16eb50a42e7a6b5ca8 + languageName: node + linkType: hard + +"mimic-fn@npm:^2.1.0": + version: 2.1.0 + resolution: "mimic-fn@npm:2.1.0" + checksum: 10c0/b26f5479d7ec6cc2bce275a08f146cf78f5e7b661b18114e2506dd91ec7ec47e7a25bf4360e5438094db0560bcc868079fb3b1fb3892b833c1ecbf63f80c95a4 + languageName: node + linkType: hard + +"npm-run-path@npm:^4.0.1": + version: 4.0.1 + resolution: "npm-run-path@npm:4.0.1" + dependencies: + path-key: "npm:^3.0.0" + checksum: 10c0/6f9353a95288f8455cf64cbeb707b28826a7f29690244c1e4bb61ec573256e021b6ad6651b394eb1ccfd00d6ec50147253aba2c5fe58a57ceb111fad62c519ac + languageName: node + linkType: hard + +"onetime@npm:^5.1.2": + version: 5.1.2 + resolution: "onetime@npm:5.1.2" + dependencies: + mimic-fn: "npm:^2.1.0" + checksum: 10c0/ffcef6fbb2692c3c40749f31ea2e22677a876daea92959b8a80b521d95cca7a668c884d8b2045d1d8ee7d56796aa405c405462af112a1477594cc63531baeb8f + languageName: node + linkType: hard + +"path-key@npm:^3.0.0, path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.1.0 + resolution: "reusify@npm:1.1.0" + checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"shelljs@npm:^0.10.0": + version: 0.10.0 + resolution: "shelljs@npm:0.10.0" + dependencies: + execa: "npm:^5.1.1" + fast-glob: "npm:^3.3.2" + checksum: 10c0/3a18d524e2302fedd6e2b143bc17fd1e4583f41d19cb8ab747f8b00cfe39370044835f72adcab63a25ce004cae1605a8825afb3fa4dd5f78217b17b9ef966468 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.3": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"strip-final-newline@npm:^2.0.0": + version: 2.0.0 + resolution: "strip-final-newline@npm:2.0.0" + checksum: 10c0/bddf8ccd47acd85c0e09ad7375409d81653f645fda13227a9d459642277c253d877b68f2e5e4d819fe75733b0e626bac7e954c04f3236f6d196f79c94fa4a96f + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"which@npm:^2.0.1": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard From 5ee17b9fc7c81877a1ee53104161383088a38904 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:15 +0000 Subject: [PATCH 258/283] armhf pushed ./deployment/images/httpd --- deployment/images/httpd/Dockerfile.armhf | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/deployment/images/httpd/Dockerfile.armhf b/deployment/images/httpd/Dockerfile.armhf index 2ec871715..19d1e69e7 100644 --- a/deployment/images/httpd/Dockerfile.armhf +++ b/deployment/images/httpd/Dockerfile.armhf @@ -5,13 +5,14 @@ FROM node:20-alpine3.22 AS node-build WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue +COPY package.json yarn.lock .yarnrc.yml ./ +COPY .yarn .yarn RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ && corepack install -g yarn \ - && yarn add balena-cloud-apps \ - && npm link balena-cloud-apps \ + && yarn install --immutable \ && yarn cache clean # Stage 2: Build HTTPD environment From ebf9c4c1c8c64cd3871eb9d0e8741aa73deac9fb Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:17 +0000 Subject: [PATCH 259/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.x86_64 | 5 +++-- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.x86_64 b/deployment/images/httpd/Dockerfile.x86_64 index 2ec871715..19d1e69e7 100644 --- a/deployment/images/httpd/Dockerfile.x86_64 +++ b/deployment/images/httpd/Dockerfile.x86_64 @@ -5,13 +5,14 @@ FROM node:20-alpine3.22 AS node-build WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue +COPY package.json yarn.lock .yarnrc.yml ./ +COPY .yarn .yarn RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ && corepack install -g yarn \ - && yarn add balena-cloud-apps \ - && npm link balena-cloud-apps \ + && yarn install --immutable \ && yarn cache clean # Stage 2: Build HTTPD environment From febf81f1cc302bc4cacfbda938bdb31f68d3ded9 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:17 +0000 Subject: [PATCH 260/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 428b77f6442c42bb7c30ac20f01a63139b1fbf99 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:18 +0000 Subject: [PATCH 261/283] x86_64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 5224ef67afe254455ca7ffcbdb8582657972716c Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:18 +0000 Subject: [PATCH 262/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.aarch64 | 5 +++-- docker-compose.yml | 16 ++++++++-------- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.aarch64 b/deployment/images/httpd/Dockerfile.aarch64 index 2ec871715..19d1e69e7 100644 --- a/deployment/images/httpd/Dockerfile.aarch64 +++ b/deployment/images/httpd/Dockerfile.aarch64 @@ -5,13 +5,14 @@ FROM node:20-alpine3.22 AS node-build WORKDIR /usr/local/project # Copy Node.js dependency files, Fixing global modules issue +COPY package.json yarn.lock .yarnrc.yml ./ +COPY .yarn .yarn RUN apk add --no-cache nodejs npm \ && npm install -g corepack \ && corepack enable \ && corepack prepare yarn@4 --activate \ && corepack install -g yarn \ - && yarn add balena-cloud-apps \ - && npm link balena-cloud-apps \ + && yarn install --immutable \ && yarn cache clean # Stage 2: Build HTTPD environment diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From 5758dca44dfa1d81c8af03d4348a974524012493 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:19 +0000 Subject: [PATCH 263/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 64457778edf90ddee3349a787463fff8e244a0f0 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:19 +0000 Subject: [PATCH 264/283] aarch64 pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From cca849d0a80b4032d174b88b0aa4893801cab73c Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:19 +0000 Subject: [PATCH 265/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From b2eea07ffa5d6a3b665a151e834a5e684f62a5fd Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:20 +0000 Subject: [PATCH 266/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file From e8b58e947e31902948a3e40a1ba852d3fc03da76 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:20 +0000 Subject: [PATCH 267/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 96a4c1534e11aaf5b5cbd59fec11a4ca07a8ba47 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:21 +0000 Subject: [PATCH 268/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 6aa64efd77b38b63d1c2ed5394a00a99aaef25ce Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:40:21 +0000 Subject: [PATCH 269/283] Deployment was updated --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only From e9ff0f050785a8d1f6c072849e72c5c4c3852806 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:41:32 +0000 Subject: [PATCH 270/283] yarn modules --- deployment/images/httpd/.yarnrc.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 deployment/images/httpd/.yarnrc.yml diff --git a/deployment/images/httpd/.yarnrc.yml b/deployment/images/httpd/.yarnrc.yml new file mode 100644 index 000000000..3186f3f07 --- /dev/null +++ b/deployment/images/httpd/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules From b8685ad0dbf09136400e532da9664425913e82ad Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:44 +0000 Subject: [PATCH 271/283] armhf pushed ./deployment/images/httpd --- Dockerfile.template | 2 +- deployment/images/httpd/Dockerfile.armhf | 2 +- deployment/images/httpd/Dockerfile.template | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile.template b/Dockerfile.template index 037c46923..26db88f95 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build node_modules node_modules +COPY --from=node-build /usr/local/project/node_modules node_modules # END - Multi-stage Build ARG PUID diff --git a/deployment/images/httpd/Dockerfile.armhf b/deployment/images/httpd/Dockerfile.armhf index 19d1e69e7..e793f330e 100644 --- a/deployment/images/httpd/Dockerfile.armhf +++ b/deployment/images/httpd/Dockerfile.armhf @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build node_modules node_modules +COPY --from=node-build /usr/local/project/node_modules node_modules # END - Multi-stage Build # Install base packages diff --git a/deployment/images/httpd/Dockerfile.template b/deployment/images/httpd/Dockerfile.template index 19d1e69e7..e793f330e 100644 --- a/deployment/images/httpd/Dockerfile.template +++ b/deployment/images/httpd/Dockerfile.template @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build node_modules node_modules +COPY --from=node-build /usr/local/project/node_modules node_modules # END - Multi-stage Build # Install base packages From ce049966f4eb98a67458c0189aa4e50e57af123e Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:45 +0000 Subject: [PATCH 272/283] armhf pushed ./balena-storage --- Dockerfile.armhf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile.armhf b/Dockerfile.armhf index f792f242d..d23a04cb4 100644 --- a/Dockerfile.armhf +++ b/Dockerfile.armhf @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build node_modules node_modules +COPY --from=node-build /usr/local/project/node_modules node_modules # END - Multi-stage Build ARG PUID From 2b70b24412ecff065598121aa011b64506776c01 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:46 +0000 Subject: [PATCH 273/283] x86_64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.x86_64 | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.env b/.env index 4382e4c94..159b7d28c 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.x86_64 b/deployment/images/httpd/Dockerfile.x86_64 index 19d1e69e7..e793f330e 100644 --- a/deployment/images/httpd/Dockerfile.x86_64 +++ b/deployment/images/httpd/Dockerfile.x86_64 @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build node_modules node_modules +COPY --from=node-build /usr/local/project/node_modules node_modules # END - Multi-stage Build # Install base packages From 4ea8f52c4237033073a8fa33b1fee69c43f7643e Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:46 +0000 Subject: [PATCH 274/283] x86_64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 4382e4c94..159b7d28c 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 3be8e7b6b0b7fedf1963dfa6b320db31c5f7f90d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:47 +0000 Subject: [PATCH 275/283] x86_64 pushed ./balena-storage --- Dockerfile.x86_64 | 2 +- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Dockerfile.x86_64 b/Dockerfile.x86_64 index c164c8ac9..a378b2aac 100644 --- a/Dockerfile.x86_64 +++ b/Dockerfile.x86_64 @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build node_modules node_modules +COPY --from=node-build /usr/local/project/node_modules node_modules # END - Multi-stage Build ARG PUID diff --git a/balena-storage/.env b/balena-storage/.env index 4382e4c94..159b7d28c 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/armhf.env \ No newline at end of file +/var/www/html/x86_64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index 6c38d95fe..ce7598ba4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g -s/(Dockerfile\.)[^\.]*/\1armhf/g -s/%%BALENA_ARCH%%/armhf/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g -s#%%PLATFORM%%#linux/arm/v7#g +s/%%BALENA_MACHINE_NAME%%/intel-nuc/g +s/(Dockerfile\.)[^\.]*/\1x86_64/g +s/%%BALENA_ARCH%%/x86_64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g +s#%%PLATFORM%%#linux/amd64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g -s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g -s#%%BALENA_ARCH%%#armhf#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g -s#%%PHP_EXTENSIONS%%##g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g +s#%%SECONDARY_TAG%%#amd64-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g +s#%%BALENA_ARCH%%#x86_64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g +s#%%BALENA_MACHINE_NAME%%#intel-nuc#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g +s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g From 996a2fdaf4d72983970a9b853022555d39944ba5 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:47 +0000 Subject: [PATCH 276/283] aarch64 pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- deployment/images/httpd/Dockerfile.aarch64 | 2 +- docker-compose.yml | 16 ++++++++-------- 4 files changed, 11 insertions(+), 11 deletions(-) diff --git a/.env b/.env index 159b7d28c..355ddb7a5 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/httpd/Dockerfile.aarch64 b/deployment/images/httpd/Dockerfile.aarch64 index 19d1e69e7..e793f330e 100644 --- a/deployment/images/httpd/Dockerfile.aarch64 +++ b/deployment/images/httpd/Dockerfile.aarch64 @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build node_modules node_modules +COPY --from=node-build /usr/local/project/node_modules node_modules # END - Multi-stage Build # Install base packages diff --git a/docker-compose.yml b/docker-compose.yml index c87bd4e3c..7e1b8421a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - armhf.env + - x86_64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - armhf.env + - x86_64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - armhf.env + - x86_64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.armhf + dockerfile: Dockerfile.x86_64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - armhf.env + - x86_64.env networks: - cake # Docker-Compose >=3.4 only From a19b0e21bf56cd4c2fd1f4684eeeee726952b6e7 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:48 +0000 Subject: [PATCH 277/283] aarch64 pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 28 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 159b7d28c..355ddb7a5 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From ac10e296f5faf715b0d87a7bbc60e546ae4fe87d Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:48 +0000 Subject: [PATCH 278/283] aarch64 pushed ./balena-storage --- Dockerfile.aarch64 | 2 +- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 28 +++++++++++++------------- 3 files changed, 16 insertions(+), 16 deletions(-) diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 381d67b20..8063f5388 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -25,7 +25,7 @@ WORKDIR ${HTDOCS} # Add mor NodeJS, CakePHP and Composer commands to system path ENV PATH="${HTDOCS}/node_modules/.bin:${HTDOCS}/app/bin:${HTDOCS}/bin:${PATH}" -COPY --from=node-build node_modules node_modules +COPY --from=node-build /usr/local/project/node_modules node_modules # END - Multi-stage Build ARG PUID diff --git a/balena-storage/.env b/balena-storage/.env index 159b7d28c..355ddb7a5 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/x86_64.env \ No newline at end of file +/var/www/html/aarch64.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index ce7598ba4..c079202a4 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/intel-nuc/g -s/(Dockerfile\.)[^\.]*/\1x86_64/g -s/%%BALENA_ARCH%%/x86_64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1x86_64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/amd64#g -s#%%PLATFORM%%#linux/amd64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g +s/(Dockerfile\.)[^\.]*/\1aarch64/g +s/%%BALENA_ARCH%%/aarch64/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g +s#%%PLATFORM%%#linux/arm64#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1amd64-10.6.13#g -s#%%SECONDARY_TAG%%#amd64-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1x86_64#g -s#%%BALENA_ARCH%%#x86_64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1intel-nuc#g -s#%%BALENA_MACHINE_NAME%%#intel-nuc#g -s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1"xdebug redis memcached"#g -s#%%PHP_EXTENSIONS%%#"xdebug redis memcached"#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g +s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g +s#%%BALENA_ARCH%%#aarch64#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g +s#%%PHP_EXTENSIONS%%##g From 191e98eda072fa13ca32f88c8a092c9f71a0ecbd Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:49 +0000 Subject: [PATCH 279/283] Updated Templates --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 7e1b8421a..86ad345a5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - x86_64.env + - aarch64.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - x86_64.env + - aarch64.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - x86_64.env + - aarch64.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.x86_64 + dockerfile: Dockerfile.aarch64 image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - x86_64.env + - aarch64.env networks: - cake # Docker-Compose >=3.4 only From aa3bb67914ba635955ab46f19a9511cb5ff037fc Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:49 +0000 Subject: [PATCH 280/283] armhf pushed ./deployment/images/httpd --- .env | 2 +- deployment/images/httpd/.env | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.env b/.env index 355ddb7a5..4382e4c94 120000 --- a/.env +++ b/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/httpd/.env b/deployment/images/httpd/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/httpd/.env +++ b/deployment/images/httpd/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file From 71438afbd8f0a8efe0e704a800bd8b5e856064ac Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:50 +0000 Subject: [PATCH 281/283] armhf pushed ./deployment/images/mysqldb --- deployment/images/mysqldb/.env | 2 +- .../images/mysqldb/Dockerfile.template.sed | 24 +++++++++---------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/deployment/images/mysqldb/.env b/deployment/images/mysqldb/.env index 355ddb7a5..4382e4c94 120000 --- a/deployment/images/mysqldb/.env +++ b/deployment/images/mysqldb/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/deployment/images/mysqldb/Dockerfile.template.sed b/deployment/images/mysqldb/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/deployment/images/mysqldb/Dockerfile.template.sed +++ b/deployment/images/mysqldb/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 552fa2a92216526480c8c5baa6e26d3a8251e9a3 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:50 +0000 Subject: [PATCH 282/283] armhf pushed ./balena-storage --- balena-storage/.env | 2 +- balena-storage/Dockerfile.template.sed | 24 ++++++++++++------------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/balena-storage/.env b/balena-storage/.env index 355ddb7a5..4382e4c94 120000 --- a/balena-storage/.env +++ b/balena-storage/.env @@ -1 +1 @@ -/var/www/html/aarch64.env \ No newline at end of file +/var/www/html/armhf.env \ No newline at end of file diff --git a/balena-storage/Dockerfile.template.sed b/balena-storage/Dockerfile.template.sed index c079202a4..6c38d95fe 100644 --- a/balena-storage/Dockerfile.template.sed +++ b/balena-storage/Dockerfile.template.sed @@ -1,18 +1,18 @@ -s/%%BALENA_MACHINE_NAME%%/raspberrypi3-64/g -s/(Dockerfile\.)[^\.]*/\1aarch64/g -s/%%BALENA_ARCH%%/aarch64/g -s/(BALENA_ARCH[=:-]+)[^$ }]+/\1aarch64/g -s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm64#g -s#%%PLATFORM%%#linux/arm64#g +s/%%BALENA_MACHINE_NAME%%/raspberrypi3/g +s/(Dockerfile\.)[^\.]*/\1armhf/g +s/%%BALENA_ARCH%%/armhf/g +s/(BALENA_ARCH[=:-]+)[^$ }]+/\1armhf/g +s#(PLATFORM[=:-]+)[^$ }]+#\1linux/arm/v7#g +s#%%PLATFORM%%#linux/arm/v7#g s#(IMG_TAG[=:-]+)[^$ }]+#\1latest#g s#%%IMG_TAG%%#latest#g s#(SECONDARY_HUB[=:-]+)[^$ }]+#\1linuxserver/mariadb#g s#%%SECONDARY_HUB%%#linuxserver/mariadb#g -s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm64v8-10.6.13#g -s#%%SECONDARY_TAG%%#arm64v8-10.6.13#g -s#(BALENA_ARCH[=:-]+)[^$ }]+#\1aarch64#g -s#%%BALENA_ARCH%%#aarch64#g -s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3-64#g -s#%%BALENA_MACHINE_NAME%%#raspberrypi3-64#g +s#(SECONDARY_TAG[=:-]+)[^$ }]+#\1arm32v7-10.6.13#g +s#%%SECONDARY_TAG%%#arm32v7-10.6.13#g +s#(BALENA_ARCH[=:-]+)[^$ }]+#\1armhf#g +s#%%BALENA_ARCH%%#armhf#g +s#(BALENA_MACHINE_NAME[=:-]+)[^$ }]+#\1raspberrypi3#g +s#%%BALENA_MACHINE_NAME%%#raspberrypi3#g s#(PHP_EXTENSIONS[=:-]+)[^$ }]+#\1#g s#%%PHP_EXTENSIONS%%##g From 7436f2e79a0025534faee7c10f956a74c908e833 Mon Sep 17 00:00:00 2001 From: add-MAINTAINER-email-to-environment Date: Mon, 2 Feb 2026 21:46:50 +0000 Subject: [PATCH 283/283] Deployment was updated --- docker-compose.yml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 86ad345a5..c87bd4e3c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ services: db: build: context: deployment/images/mysqldb - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -26,13 +26,13 @@ services: - cake env_file: - common.env - - aarch64.env + - armhf.env labels: io.balena.features.dbus: "1" php-fpm: build: context: . - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -42,7 +42,7 @@ services: image: betothreeprod/php-fpm:latest env_file: - common.env - - aarch64.env + - armhf.env # secrets: # - mysql_root_password # - mysql_user @@ -64,7 +64,7 @@ services: httpd: build: context: deployment/images/httpd - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf args: PUID: 1000 PGID: 1000 @@ -72,7 +72,7 @@ services: image: betothreeprod/httpd:latest env_file: - common.env - - aarch64.env + - armhf.env volumes: - localtime:/etc/localtime:ro - www:/var/www/html @@ -85,12 +85,12 @@ services: balena-storage: build: context: balena-storage - dockerfile: Dockerfile.aarch64 + dockerfile: Dockerfile.armhf image: betothreeprod/balena-storage:latest privileged: true env_file: - common.env - - aarch64.env + - armhf.env networks: - cake # Docker-Compose >=3.4 only