diff --git a/.env b/.env index 5665fdc..8ec30b5 100644 --- a/.env +++ b/.env @@ -8,7 +8,7 @@ WORDPRESS_DB_PASSWORD=wordpress WORDPRESS_TABLE_PREFIX=wp_ WORDPRESS_DEBUG=1 WORDPRESS_OFFLINE_MODE=1 -WORDPRESS_ACCESSIBLE_HOSTS=localhost,127.0.0.1,::1,wordpress,db +WORDPRESS_ACCESSIBLE_HOSTS=localhost,127.0.0.1,::1,wordpress,db,backend-web MYSQL_DATABASE=wordpress MYSQL_USER=wordpress diff --git a/Archive.zip b/Archive.zip new file mode 100644 index 0000000..2241902 Binary files /dev/null and b/Archive.zip differ diff --git a/Dockerfile b/Dockerfile index e6d56d2..346a87b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,14 @@ -FROM mirror-docker.runflare.com/wordpress:php8.2-apache +FROM mirror-docker.runflare.com/wordpress:php8.2-apache + +COPY ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube_loaders_lin_x86-64.tar.gz + +RUN set -eux; \ + php_ext_dir="$(php -r 'echo ini_get("extension_dir");')"; \ + php_version="$(php -r 'echo PHP_MAJOR_VERSION . "." . PHP_MINOR_VERSION;')"; \ + tar -xzf /tmp/ioncube_loaders_lin_x86-64.tar.gz -C /tmp; \ + cp "/tmp/ioncube/ioncube_loader_lin_${php_version}.so" "${php_ext_dir}/"; \ + echo "zend_extension=${php_ext_dir}/ioncube_loader_lin_${php_version}.so" > /usr/local/etc/php/conf.d/00-ioncube.ini; \ + rm -rf /tmp/ioncube /tmp/ioncube_loaders_lin_x86-64.tar.gz # Enable common WordPress-friendly Apache and PHP defaults. RUN a2enmod rewrite \ diff --git a/docker-compose.yml b/docker-compose.yml index 796aa6f..8a031a1 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -41,11 +41,12 @@ services: WORDPRESS_TABLE_PREFIX: ${WORDPRESS_TABLE_PREFIX} WORDPRESS_DEBUG: ${WORDPRESS_DEBUG} WORDPRESS_OFFLINE_MODE: ${WORDPRESS_OFFLINE_MODE:-1} - WORDPRESS_ACCESSIBLE_HOSTS: ${WORDPRESS_ACCESSIBLE_HOSTS:-localhost,127.0.0.1,::1,wordpress,db} + WORDPRESS_ACCESSIBLE_HOSTS: ${WORDPRESS_ACCESSIBLE_HOSTS:-localhost,127.0.0.1,::1,wordpress,db,backend-web} ports: - "${WORDPRESS_PORT}:80" volumes: - - ./:/var/www/html + - ./wp-content:/var/www/html/wp-content + - ./wp-config.php:/var/www/html/wp-config.php networks: - wp_internal - wp_public diff --git a/scripts/download-ioncube.sh b/scripts/download-ioncube.sh new file mode 100755 index 0000000..e2116ef --- /dev/null +++ b/scripts/download-ioncube.sh @@ -0,0 +1,22 @@ +#!/usr/bin/env sh +set -eu + +ROOT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd) +ARCHIVE_NAME="ioncube_loaders_lin_x86-64.tar.gz" +ARCHIVE_PATH="${ROOT_DIR}/${ARCHIVE_NAME}" +IONCUBE_URL="${IONCUBE_URL:-https://downloads.ioncube.com/loader_downloads/${ARCHIVE_NAME}}" + +if [ -s "${ARCHIVE_PATH}" ]; then + echo "ionCube archive already exists: ${ARCHIVE_PATH}" + exit 0 +fi + +TMP_PATH="${ARCHIVE_PATH}.tmp" +trap 'rm -f "${TMP_PATH}"' INT TERM EXIT + +echo "Downloading ionCube archive to ${ARCHIVE_PATH}" +curl -fL --connect-timeout 10 --max-time 120 "${IONCUBE_URL}" -o "${TMP_PATH}" +mv "${TMP_PATH}" "${ARCHIVE_PATH}" +trap - INT TERM EXIT + +echo "ionCube archive saved: ${ARCHIVE_PATH}" diff --git a/wp-config.php b/wp-config.php index 9b81f41..8fd98b7 100644 --- a/wp-config.php +++ b/wp-config.php @@ -124,13 +124,13 @@ $wordpress_offline_mode = filter_var( if ( $wordpress_offline_mode ) { define( 'WP_HTTP_BLOCK_EXTERNAL', true ); - define( - 'WP_ACCESSIBLE_HOSTS', - getenv_docker('WORDPRESS_ACCESSIBLE_HOSTS', 'localhost,127.0.0.1,::1,wordpress,db') - ); - define( 'AUTOMATIC_UPDATER_DISABLED', true ); - define( 'WP_AUTO_UPDATE_CORE', false ); -} + define( + 'WP_ACCESSIBLE_HOSTS', + getenv_docker('WORDPRESS_ACCESSIBLE_HOSTS', 'localhost,127.0.0.1,::1,wordpress,db,backend-web') + ); + define( 'AUTOMATIC_UPDATER_DISABLED', true ); + define( 'WP_AUTO_UPDATE_CORE', false ); +} // If we're behind a proxy server and using HTTPS, we need to alert WordPress of that fact // see also https://wordpress.org/support/article/administration-over-ssl/#using-a-reverse-proxy diff --git a/wp-content/mu-plugins/croplogic-performance-guards.php b/wp-content/mu-plugins/croplogic-performance-guards.php new file mode 100644 index 0000000..a63d5a3 --- /dev/null +++ b/wp-content/mu-plugins/croplogic-performance-guards.php @@ -0,0 +1,56 @@ + .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}} \ No newline at end of file