From 5bdcb4a6a8d43eddec70d15c422af0b4aa185c25 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 14:08:13 +0300 Subject: [PATCH 01/16] Update docker-compose.yml --- docker-compose.yml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 9ce3eed..5bf01c1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -119,6 +119,26 @@ services: cpus: "0.5" memory: "1GB" + phpmyadmin: + build: + context: . + dockerfile: phpmyadmin/Dockerfile + image: ghcr.io/psaux-it/wordpress-nginx-cache-docker/phpmyadmin:latest + container_name: phpmyadmin + env_file: + - .env + environment: + - PMA_HOST=db + - PMA_PORT=3306 + - PMA_ABSOLUTE_URI=${WORDPRESS_SITE_URL_}/phpmyadmin/ + - WORDPRESS_DB_USER=${WORDPRESS_DB_USER} + - WORDPRESS_DB_PASSWORD=${WORDPRESS_DB_PASSWORD} + - WORDPRESS_DB_NAME=${WORDPRESS_DB_NAME} + networks: + - npp_network + depends_on: + - db + nginx: build: context: . From 2cc7a7ae465f79d324b7b4508e6c83c6d5b9f786 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 14:10:12 +0300 Subject: [PATCH 02/16] Create Dockerfile --- phpmyadmin/Dockerfile | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 phpmyadmin/Dockerfile diff --git a/phpmyadmin/Dockerfile b/phpmyadmin/Dockerfile new file mode 100644 index 0000000..96f4630 --- /dev/null +++ b/phpmyadmin/Dockerfile @@ -0,0 +1,23 @@ +# Dockerfile for NPP-Optimized WordPress Setup # +# ---------------------------------------------------------------------------- # +# Author: [Hasan ÇALIŞIR] # +# Purpose: Full-stack Dockerized environment for NPP WordPress plugin, including # +# WordPress, PHP-FPM, Nginx, MySQL, WP-CLI, and necessary PHP extensions. # +# ---------------------------------------------------------------------------- # + +# Here the magic, the rest of it is ordinary +FROM phpmyadmin:5.2.2-apache + +# Install necessary packages +RUN apt-get update && apt-get install -y \ + procps \ + mariadb-client + +# Copy the entrypoint script into the container +COPY phpmyadmin/entrypoint-adm.sh /entrypoint-adm.sh + +# Make sure the entrypoint script is executable +RUN chmod +x /entrypoint-adm.sh + +# CMD +CMD ["/entrypoint-adm.sh", "apache2-foreground"] From c954ae4ed027182d54fd6819eebf6dab36d6ac1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 14:11:51 +0300 Subject: [PATCH 03/16] Create entrypoint-adm.sh --- phpmyadmin/entrypoint-adm.sh | 57 ++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 phpmyadmin/entrypoint-adm.sh diff --git a/phpmyadmin/entrypoint-adm.sh b/phpmyadmin/entrypoint-adm.sh new file mode 100644 index 0000000..79628ca --- /dev/null +++ b/phpmyadmin/entrypoint-adm.sh @@ -0,0 +1,57 @@ +#!/usr/bin/env bash +# +# Copyright (C) 2024 Hasan CALISIR +# Distributed under the GNU General Public License, version 2.0. +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# SCRIPT DESCRIPTION: +# ------------------- +# NPP (Nginx Cache Purge & Preload for WordPress) Dockerized entrypoint +# https://github.com/psaux-it/nginx-fastcgi-cache-purge-and-preload +# https://wordpress.org/plugins/fastcgi-cache-purge-and-preload-nginx/ + +set -Eeuo pipefail + +# Define color codes +COLOR_RESET='\033[0m' +COLOR_GREEN='\033[0;32m' +COLOR_YELLOW='\033[0;33m' +COLOR_RED='\033[0;31m' +COLOR_CYAN='\033[0;36m' +COLOR_BOLD='\033[1m' +COLOR_WHITE='\033[0;97m' +COLOR_BLACK='\033[0;30m' +COLOR_LIGHT_CYAN='\033[0;96m' + +# Check if required environment variables are set +for var in \ + WORDPRESS_DB_USER \ + WORDPRESS_DB_PASSWORD \ + WORDPRESS_DB_NAME; do + if [[ -z "${!var:-}" ]]; then + echo -e "${COLOR_RED}${COLOR_BOLD}NPP-WP-FATAL:${COLOR_RESET} Missing required environment variable(s): ${COLOR_LIGHT_CYAN}${var}${COLOR_RESET} - ${COLOR_RED}Exiting...${COLOR_RESET}" + exit 1 + fi +done + +# Wait for the 'wordpress-db' to be ready +until mysql -h wordpress-db -u"${WORDPRESS_DB_USER}" -p"${WORDPRESS_DB_PASSWORD}" "${WORDPRESS_DB_NAME}" -e "SELECT 1" > /dev/null 2>&1; do + echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-ADM:${COLOR_RESET} The ${COLOR_LIGHT_CYAN}MySQL database${COLOR_RESET} is not available yet. Retrying..." + sleep 6 +done +echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-ADM:${COLOR_RESET} The ${COLOR_LIGHT_CYAN}MySQL database${COLOR_RESET} is ready! Proceeding..." + +# Start Apache +exec /docker-entrypoint.sh "$@" From e6d61e00dfe68737aaac6b3ac5d6fd2374de20de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 14:30:55 +0300 Subject: [PATCH 04/16] Update default.conf --- nginx/default.conf | 98 +++++++++++++++++++++++++++------------------- 1 file changed, 58 insertions(+), 40 deletions(-) diff --git a/nginx/default.conf b/nginx/default.conf index df18e3e..da4de78 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -6,18 +6,18 @@ # ---------------------------------------------------------------------------- # # FastCGI Cache Path -#################### +##################### fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=NPP:100m max_size=400m inactive=30d; -#################### +##################### server { # Listen HTTP - ################################## + ################# listen 80; server_name localhost; # HTTPS Redirect - ################################## + ################# location / { rewrite ^ https://$host$request_uri? permanent; } @@ -25,16 +25,34 @@ server { server { # Listen HTTPS - ################################## + ################# listen 443 ssl; server_name localhost; - # Document root - ############### + # phpMyAdmin Reverse Proxy + ################# + location = /phpmyadmin { + return 301 $scheme://$host/phpmyadmin/; + } + + location ~ \/phpmyadmin { + rewrite ^/phpmyadmin(/.*)$ $1 break; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Scheme $scheme; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header X-Real-IP $remote_addr; + proxy_pass http://phpmyadmin:80; + } + # End + ##### + + # WP Document root + ################# root /var/www/html; index index.php index.html index.htm; - # Cache Settings + # FCGI Cache Settings ################# set $skip_cache 0; @@ -61,7 +79,7 @@ server { ##### # Stop Nginx from logging - ######################### + ################# location = /favicon.ico { log_not_found off; access_log off; @@ -75,8 +93,8 @@ server { # End ##### - # Serve content - ################## + # Serve WP content + ################# location / { try_files $uri $uri/ /index.php$is_args$args; } @@ -84,7 +102,7 @@ server { ##### # PHP-FPM Configuration - ################ + ################# location ~ \.php$ { # Use NPP "Cache Key Regex" option for non-default structers # This structer supported in default by NPP @@ -107,47 +125,47 @@ server { # End ##### - # WP Security Settings - ####################### + # WP Security Settings (Enable on Production) + ################# # Deny access to hidden files and directories (except .well-known) - location ~ /\.(?!well-known/) { - deny all; - } + # location ~ /\.(?!well-known/) { + # deny all; + # } # Deny access to wp-config files and other critical files - location ~* ^/(?:wp-config\.php|wp-config-sample\.php|readme\.html|license\.txt)$ { - deny all; - } + # location ~* ^/(?:wp-config\.php|wp-config-sample\.php|readme\.html|license\.txt)$ { + # deny all; + # } # Deny access to PHP files in uploads, files, plugins, themes - location ~* /(?:uploads|files|wp-content|wp-includes)/.*\.php$ { - deny all; - } + # location ~* /(?:uploads|files|wp-content|wp-includes)/.*\.php$ { + # deny all; + # } # Deny access to script file types - location ~* .(pl|cgi|py|sh|lua|asp)$ { - deny all; - } + # location ~* .(pl|cgi|py|sh|lua|asp)$ { + # deny all; + # } # Block access to wp-content plugin/theme log files - location ~* ^/wp-content/(plugins|themes)/.*\.(txt|log|md)$ { - deny all; - } + # location ~* ^/wp-content/(plugins|themes)/.*\.(txt|log|md)$ { + # deny all; + # } # Block common attack patterns - location ~* "(eval\(.*\)|base64_encode\(.*\)|\{0\}|phpinfo|self/environ)" { - deny all; - } + # location ~* "(eval\(.*\)|base64_encode\(.*\)|\{0\}|phpinfo|self/environ)" { + # deny all; + # } # Block dangerous file access - location ~* "/(thumb|timthumb|config|settings|sqlpatch|webshell|phpinfo)\.php" { - deny all; - } + # location ~* "/(thumb|timthumb|config|settings|sqlpatch|webshell|phpinfo)\.php" { + # deny all; + # } # End ##### # Browser Cache (Enable on Production) - ############### + ################# # location ~*.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|css|rss|atom|js|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ { # expires max; # log_not_found off; @@ -165,7 +183,7 @@ server { ##### # SSL Settings (Enable on Production) - ############## + ################# # ssl_protocols TLSv1.2 TLSv1.3; # ssl_prefer_server_ciphers on; # ssl_ciphers ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS; @@ -178,7 +196,7 @@ server { ##### # Security Headers (Enable on Production) - ################## + ################# # add_header Content-Security-Policy upgrade-insecure-requests; # add_header Permissions-Policy "microphone=(), camera=(), interest-cohort=(), browsing-topics=()"; # add_header Referrer-Policy no-referrer-when-downgrade; @@ -190,7 +208,7 @@ server { ##### # FastCGI Cache Status Header - ############################# + ################# add_header NPP-FastCGI-Cache $upstream_cache_status; - ############################# + ################# } From 4994566f4558adf545aae1bbd69011c63a857e04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 14:34:00 +0300 Subject: [PATCH 05/16] Update default.conf --- nginx/default.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nginx/default.conf b/nginx/default.conf index da4de78..fbe3f2d 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -101,7 +101,7 @@ server { # End ##### - # PHP-FPM Configuration + # WP PHP-FPM PASS ################# location ~ \.php$ { # Use NPP "Cache Key Regex" option for non-default structers From 489bdd6b06cea8ff4d2814447d8d9462a1219308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 14:48:37 +0300 Subject: [PATCH 06/16] Update default.conf --- nginx/default.conf | 1 + 1 file changed, 1 insertion(+) diff --git a/nginx/default.conf b/nginx/default.conf index fbe3f2d..7964de7 100644 --- a/nginx/default.conf +++ b/nginx/default.conf @@ -27,6 +27,7 @@ server { # Listen HTTPS ################# listen 443 ssl; + http2 on; server_name localhost; # phpMyAdmin Reverse Proxy From 2732b5b8d58f8cc8035867cc961db23eb1a28e70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 14:56:56 +0300 Subject: [PATCH 07/16] Update wp-post.sh --- wordpress/wp-post.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/wordpress/wp-post.sh b/wordpress/wp-post.sh index 35c8c2d..5e91fcd 100755 --- a/wordpress/wp-post.sh +++ b/wordpress/wp-post.sh @@ -63,9 +63,10 @@ for var in \ NPP_USER \ NPP_UID \ NPP_GID \ - NPP_DEV_ENABLED \ + NPP_EDGE \ NPP_HTTP_HOST \ NPP_HACK_HOST \ + NPP_WEB_ROOT \ NPP_DEV_PLUGIN_NAME \ NPP_DEV_PLUGIN_DIR \ NPP_DEV_TMP_CLONE_DIR \ @@ -74,7 +75,6 @@ for var in \ WORDPRESS_DB_USER \ WORDPRESS_DB_PASSWORD \ WORDPRESS_DB_NAME \ - NPP_WEB_ROOT \ WORDPRESS_SITE_URL \ WORDPRESS_SITE_TITLE \ WORDPRESS_ADMIN_USER \ @@ -143,7 +143,7 @@ resolve_host() { # - To work around this, we update the wordpress containers "/etc/hosts" file to remap "localhost" to either # "host.docker.internal" or the actual "Nginx container IP". This forces to retrieve resources # from the correct endpoint, enabling the Nginx Cache Preload action during development. -# - Keep in mind! Below settings will not work here because of priority issue in /etc/hosts +# - Keep in mind! Below settings will not work in dev environment because of the priority issue in /etc/hosts # extra_hosts: # - "localhost:Nginx_LAN_IP" # @@ -297,7 +297,7 @@ else fi # Check development deploy wanted -if [[ "${NPP_DEV_ENABLED}" -eq 1 ]]; then +if [[ "${NPP_EDGE}" -eq 1 ]]; then # Set variables PLUGIN_NAME="${NPP_DEV_PLUGIN_NAME}" PLUGIN_DIR="${NPP_DEV_PLUGIN_DIR}" From 65ec5351c215a7ada1034b3396e2fb6e3b49ae3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:00:00 +0300 Subject: [PATCH 08/16] Update .env --- .env | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.env b/.env index ada66ac..2d5053c 100644 --- a/.env +++ b/.env @@ -45,6 +45,7 @@ export NPP_PHP_CONF=./php/npp.ini export NGINX_SSL_CERTS=./ssl # NPP Specific Settings +export NPP_HACK_HOST_=1 export NGINX_WEB_USER_=nginx export NPP_NGINX_CACHE_PATH_=/var/cache/nginx export MOUNT_DIR_=${NPP_NGINX_CACHE_PATH_}-npp @@ -53,9 +54,8 @@ export NPP_USER_=npp export NPP_UID_=18978 export NPP_GID_=33749 -# NPP Development environment -export NPP_DEV_ENABLED_=1 -export NPP_HACK_HOST_=1 +# NPP EDGE +export NPP_EDGE_=1 export NPP_DEV_PLUGIN_NAME_=fastcgi-cache-purge-and-preload-nginx export NPP_DEV_PLUGIN_DIR_="${NPP_WEB_ROOT_}/wp-content/plugins/${NPP_DEV_PLUGIN_NAME_}" export NPP_DEV_TMP_CLONE_DIR_="/tmp/${NPP_DEV_PLUGIN_NAME_}" From 8919ffbe7549757cf6bd73de0cee518556594741 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:00:46 +0300 Subject: [PATCH 09/16] Update docker-compose.yml --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5bf01c1..78de174 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -40,7 +40,7 @@ services: - NPP_PLUGINS=${NPP_PLUGINS_} - NPP_THEMES=${NPP_THEMES_} - NPP_HACK_HOST=${NPP_HACK_HOST_} - - NPP_DEV_ENABLED=${NPP_DEV_ENABLED_} + - NPP_EDGE=${NPP_EDGE_} - NPP_DEV_PLUGIN_NAME=${NPP_DEV_PLUGIN_NAME_} - NPP_DEV_PLUGIN_DIR=${NPP_DEV_PLUGIN_DIR_} - NPP_DEV_TMP_CLONE_DIR=${NPP_DEV_TMP_CLONE_DIR_} From 854a25b800363fa32783f7d5430fcf1949424073 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:08:33 +0300 Subject: [PATCH 10/16] Update .env --- .env | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.env b/.env index 2d5053c..2793e80 100644 --- a/.env +++ b/.env @@ -34,6 +34,9 @@ export WORDPRESS_ADMIN_USER_=npp export WORDPRESS_ADMIN_PASSWORD_=npp export WORDPRESS_ADMIN_EMAIL_=npp@psauxit.com +# phpMyAdmin Settings +export PMA_ABSOLUTE_URI_=${WORDPRESS_SITE_URL_}/phpmyadmin/ + # FPM Settings export NPP_FPM_CONF=./fpm/www.conf export FPM_DOCKER_CONF=./fpm/zz-docker.conf From 0805b5fcfcdb0c30a5cf0f1375d4c2d79ca362c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:09:42 +0300 Subject: [PATCH 11/16] Update docker-compose.yml --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 78de174..01f5209 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -130,7 +130,7 @@ services: environment: - PMA_HOST=db - PMA_PORT=3306 - - PMA_ABSOLUTE_URI=${WORDPRESS_SITE_URL_}/phpmyadmin/ + - PMA_ABSOLUTE_URI=${PMA_ABSOLUTE_URI_} - WORDPRESS_DB_USER=${WORDPRESS_DB_USER} - WORDPRESS_DB_PASSWORD=${WORDPRESS_DB_PASSWORD} - WORDPRESS_DB_NAME=${WORDPRESS_DB_NAME} From b01198282fe64a5733f71fe9ea68df5961838161 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:22:25 +0300 Subject: [PATCH 12/16] Update wp-post.sh --- wordpress/wp-post.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wordpress/wp-post.sh b/wordpress/wp-post.sh index 5e91fcd..f909068 100755 --- a/wordpress/wp-post.sh +++ b/wordpress/wp-post.sh @@ -296,7 +296,7 @@ else echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-WP-CLI:${COLOR_RESET} ${COLOR_CYAN}Permalink structure${COLOR_RESET} is already properly set. Skipping..." fi -# Check development deploy wanted +# Deploy bleeding edge NPP if [[ "${NPP_EDGE}" -eq 1 ]]; then # Set variables PLUGIN_NAME="${NPP_DEV_PLUGIN_NAME}" From 9534e7ad2582d72110148f711029afb91392f1fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:33:51 +0300 Subject: [PATCH 13/16] Update .env --- .env | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.env b/.env index 2793e80..4b21d9d 100644 --- a/.env +++ b/.env @@ -69,4 +69,4 @@ export NPP_DEV_GITHUB_REPO_="https://github.com/psaux-it/nginx-fastcgi-cache-pur export NPP_PLUGINS_="${NPP_DEV_PLUGIN_NAME_}" # Themes to auto Install (comma seperated) -export NPP_THEMES_="blue-note" +export NPP_THEMES_="" From 198ba5db4a0d58518eac970db128ccc0997312e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:38:15 +0300 Subject: [PATCH 14/16] Update Dockerfile --- phpmyadmin/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/phpmyadmin/Dockerfile b/phpmyadmin/Dockerfile index 96f4630..7777029 100644 --- a/phpmyadmin/Dockerfile +++ b/phpmyadmin/Dockerfile @@ -14,10 +14,10 @@ RUN apt-get update && apt-get install -y \ mariadb-client # Copy the entrypoint script into the container -COPY phpmyadmin/entrypoint-adm.sh /entrypoint-adm.sh +COPY phpmyadmin/entrypoint-pma.sh /entrypoint-pma.sh # Make sure the entrypoint script is executable -RUN chmod +x /entrypoint-adm.sh +RUN chmod +x /entrypoint-pma.sh # CMD -CMD ["/entrypoint-adm.sh", "apache2-foreground"] +CMD ["/entrypoint-pma.sh", "apache2-foreground"] From f56b3dd9520dc38e0b95cbc8948b2b2843196992 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:38:28 +0300 Subject: [PATCH 15/16] Rename entrypoint-adm.sh to entrypoint-pma.sh --- phpmyadmin/{entrypoint-adm.sh => entrypoint-pma.sh} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename phpmyadmin/{entrypoint-adm.sh => entrypoint-pma.sh} (100%) diff --git a/phpmyadmin/entrypoint-adm.sh b/phpmyadmin/entrypoint-pma.sh similarity index 100% rename from phpmyadmin/entrypoint-adm.sh rename to phpmyadmin/entrypoint-pma.sh From 50648598fe1354ecbaf01bacf94326c505bcb50c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20=C3=87ALI=C5=9EIR?= Date: Sat, 15 Feb 2025 15:42:58 +0300 Subject: [PATCH 16/16] Update wp-post.sh --- wordpress/wp-post.sh | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/wordpress/wp-post.sh b/wordpress/wp-post.sh index f909068..c3f9917 100755 --- a/wordpress/wp-post.sh +++ b/wordpress/wp-post.sh @@ -320,11 +320,11 @@ if [[ "${NPP_EDGE}" -eq 1 ]]; then REMOTE_COMMIT_HASH=$(git ls-remote --heads "${GITHUB_REPO}" "refs/heads/${TARGET_BRANCH}" \ | awk '{print substr($1,1,7)}' | awk '{$1=$1;print}') - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} ${COLOR_LIGHT_CYAN}######################${COLOR_RESET}" - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Latest branch: ${COLOR_CYAN}${TARGET_BRANCH}${COLOR_RESET}" - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Latest dev version: ${COLOR_CYAN}${LATEST_VERSION}${COLOR_RESET}" - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Remote commit: ${COLOR_CYAN}${REMOTE_COMMIT_HASH}${COLOR_RESET}" - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} ${COLOR_LIGHT_CYAN}######################${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} ${COLOR_LIGHT_CYAN}######################${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Latest branch: ${COLOR_CYAN}${TARGET_BRANCH}${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Latest dev version: ${COLOR_CYAN}${LATEST_VERSION}${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Remote commit: ${COLOR_CYAN}${REMOTE_COMMIT_HASH}${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} ${COLOR_LIGHT_CYAN}######################${COLOR_RESET}" # ----------------------------------------------------------------------------- # 2. Retrieve the installed plugin version and commit hash @@ -334,15 +334,15 @@ if [[ "${NPP_EDGE}" -eq 1 ]]; then if [[ -f "${PLUGIN_FILE}" ]]; then CURRENT_VERSION=$(grep -i "Version:" "${PLUGIN_FILE}" | head -n1 | awk '{print $NF}' | awk '{$1=$1;print}') - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Local version: ${COLOR_CYAN}${CURRENT_VERSION}${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Local version: ${COLOR_CYAN}${CURRENT_VERSION}${COLOR_RESET}" if grep -qi "Latest Commit:" "${PLUGIN_FILE}"; then INSTALLED_COMMIT_HASH=$(grep -i "Latest Commit:" "${PLUGIN_FILE}" | head -n1 | awk '{print $NF}' | awk '{$1=$1;print}') - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Local commit: ${COLOR_CYAN}${INSTALLED_COMMIT_HASH}${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Local commit: ${COLOR_CYAN}${INSTALLED_COMMIT_HASH}${COLOR_RESET}" else - echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} ${COLOR_CYAN}No commit history${COLOR_RESET} in plugin header." + echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} ${COLOR_CYAN}No commit history${COLOR_RESET} in plugin header." fi else - echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Plugin not installed; proceeding with fresh deployment." + echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Plugin not installed; proceeding with fresh deployment." fi # ----------------------------------------------------------------------------- @@ -354,13 +354,13 @@ if [[ "${NPP_EDGE}" -eq 1 ]]; then # Check for version mismatch (installed version is older than latest) if [[ "${CURRENT_VERSION}" != "${LATEST_VERSION}" && \ "$(echo -e "${CURRENT_VERSION}\n${LATEST_VERSION}" | sort -V | head -n1)" != "${LATEST_VERSION}" ]]; then - echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Version discrepancy found..." + echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Version discrepancy found..." need_update=1 fi # Check for commit hash mismatch if [[ "${INSTALLED_COMMIT_HASH}" != "${REMOTE_COMMIT_HASH}" ]]; then - echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Commit hash discrepancy found..." + echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Commit hash discrepancy found..." need_update=1 fi else @@ -371,7 +371,7 @@ if [[ "${NPP_EDGE}" -eq 1 ]]; then # 4. Deploy/update the plugin if required # ----------------------------------------------------------------------------- if [[ "${need_update}" -eq 1 ]]; then - echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Deploying development build ${COLOR_CYAN}${LATEST_VERSION}${COLOR_RESET}..." + echo -e "${COLOR_YELLOW}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Deploying development build ${COLOR_CYAN}${LATEST_VERSION}${COLOR_RESET}..." # Remove the current plugin directory (if it exists) rm -rf "${PLUGIN_DIR:?}" @@ -397,20 +397,20 @@ if [[ "${NPP_EDGE}" -eq 1 ]]; then sed -i "s/^\(\s*\*\s*Version:\s*\).*$/\1${LATEST_VERSION}/" "${PLUGIN_FILE}" if grep -qi "Latest Commit:" "${PLUGIN_FILE}"; then sed -i "s/^\(\s*\*\s*Latest Commit:\s*\).*$/\1${CLONED_COMMIT_HASH}/" "${PLUGIN_FILE}" - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Updated plugin header commit hash to ${COLOR_CYAN}${CLONED_COMMIT_HASH}${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Updated plugin header commit hash to ${COLOR_CYAN}${CLONED_COMMIT_HASH}${COLOR_RESET}" else sed -i "/Version:/a \ * Latest Commit: ${CLONED_COMMIT_HASH}" "${PLUGIN_FILE}" - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Added commit hash ${COLOR_CYAN}${CLONED_COMMIT_HASH}${COLOR_RESET} to plugin header." + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Added commit hash ${COLOR_CYAN}${CLONED_COMMIT_HASH}${COLOR_RESET} to plugin header." fi fi # Adjust ownership (ensure NPP_USER is set in the environment) chown -R "${NPP_USER}":"${NPP_USER}" "${PLUGIN_DIR}" - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Deployed build ${COLOR_CYAN}${TARGET_BRANCH}${COLOR_RESET} with (commit ${COLOR_CYAN}${CLONED_COMMIT_HASH}${COLOR_RESET})." - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} ${COLOR_LIGHT_CYAN}######################${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Deployed build ${COLOR_CYAN}${TARGET_BRANCH}${COLOR_RESET} with (commit ${COLOR_CYAN}${CLONED_COMMIT_HASH}${COLOR_RESET})." + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} ${COLOR_LIGHT_CYAN}######################${COLOR_RESET}" else - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} Plugin is up-to-date with commit ${COLOR_CYAN}${REMOTE_COMMIT_HASH}${COLOR_RESET}." - echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-DEV:${COLOR_RESET} ${COLOR_LIGHT_CYAN}######################${COLOR_RESET}" + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} Plugin is up-to-date with commit ${COLOR_CYAN}${REMOTE_COMMIT_HASH}${COLOR_RESET}." + echo -e "${COLOR_GREEN}${COLOR_BOLD}NPP-EDGE:${COLOR_RESET} ${COLOR_LIGHT_CYAN}######################${COLOR_RESET}" fi fi