Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/workflows/publish-7.2-fpm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ jobs:
- name: Test 7.2 WordPress Image
run: ./workflow-test.sh ./php7.2/fpm-alpine/docker-compose.yml
shell: bash
working-directory: ./
- uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_USERNAME }}
Expand Down
17 changes: 5 additions & 12 deletions scripts/build-scrambled.sh → build-scrambled.sh
Original file line number Diff line number Diff line change
@@ -1,30 +1,23 @@
#!/bin/bash
# Copyright (c) 2020 Polyverse Corporation

if [ ! -v PHP_EXEC ]; then
PHP_EXEC=/usr/local/bin
fi

if [ ! -f "${PHP_EXEC}/s_php" ]; then
cp -p $PHP_EXEC/php $PHP_EXEC/s_php
fi

if [ ! -d "${POLYSCRIPT_PATH}/vanilla-save" ]; then
mkdir $POLYSCRIPT_PATH/vanilla-save
cp -p $PHP_SRC_PATH/Zend/zend_language_scanner.l /usr/local/bin/polyscripting/vanilla-save/zend_language_scanner.l
cp -p $PHP_SRC_PATH/Zend/zend_language_parser.y /usr/local/bin/polyscripting/vanilla-save/zend_language_parser.y
cp -p $PHP_SRC_PATH/ext/phar/phar.php /usr/local/bin/polyscripting/vanilla-save/phar.php
fi

$POLYSCRIPT_PATH//php-scrambler
$POLYSCRIPT_PATH/php-scrambler

cp -p $PHP_SRC_PATH/ext/phar/phar.php .

$PHP_EXEC/s_php tok-php-transformer.php -p $POLYSCRIPT_PATH//phar.php --replace
mv $POLYSCRIPT_PATH//phar.php $PHP_SRC_PATH/ext/phar/phar.php
$POLYSCRIPT_PATH/s_php tok-php-transformer.php -p $POLYSCRIPT_PATH/phar.php --replace
mv $POLYSCRIPT_PATH/phar.php $PHP_SRC_PATH/ext/phar/phar.php

cd $PHP_SRC_PATH; make -o ext/phar/phar.php install -k; cd $POLYSCRIPT_PATH;

touch /usr/local/bin/polyscripting/vanilla-save/*
cp -p /usr/local/bin/polyscripting/vanilla-save/zend_language_scanner.l $PHP_SRC_PATH/Zend/zend_language_scanner.l
cp -p /usr/local/bin/polyscripting/vanilla-save/zend_language_parser.y $PHP_SRC_PATH/Zend/zend_language_parser.y
cp -p /usr/local/bin/polyscripting/vanilla-save/phar.php $PHP_SRC_PATH/ext/phar/phar.php
cp -p /usr/local/bin/polyscripting/vanilla-save/phar.php $PHP_SRC_PATH/ext/phar/phar.php
11 changes: 11 additions & 0 deletions default.run.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#-------------------------CONTAINER CONFIGURATION--------------------------------
export CONTAINER_NAME=wordpress
export CONTAINER_PORT=80
export HOST_PORT=8000
export CONTAINER_ADDRESS="http://localhost:$CONTAINER_PORT"


export WORDPRESS_DIR=$PWD/wordpress
export MODE=unpolyscripted


7 changes: 5 additions & 2 deletions php7.2/fpm-alpine/publish-image.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/bash

set -e
image="polyverse/polyscripted-wordpress"
echo "$(date) Obtaining current git sha for tagging the docker image"
Expand All @@ -7,16 +8,18 @@ headsha=$(git rev-parse --verify HEAD)
echo "Copying scripts into current directory for docker build context..."
cp -Rp ../../scripts .

#Build and Tage
echo "Building and Tagging"
#Build and Tag
docker build -t $image:alpine-7.2-$headsha .
docker tag $image:alpine-7.2-$headsha $image:alpine-7.2
docker tag $image:alpine-7.2-$headsha $image:alpine-7.2-latest
docker tag $image:alpine-7.2-$headsha $image:latest

#Dockerhub Respository
if [[ "$1" == "-p" ]]; then
echo "Pushing to Docker Hub"
docker push $image:alpine-7.2-$headsha
docker push $image:alpine-7.2-latest
docker push $image:latest
fi
#Github Container Repository
if [[ "$1" == "-g" ]]; then
Expand Down
6 changes: 5 additions & 1 deletion php7.4/apache/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM polyverse/ps-php7.4-apache:latest
FROM polyverse/ps-php7.4-buster-apache:latest

# persistent dependencies
RUN set -eux; \
Expand All @@ -19,7 +19,10 @@ RUN set -ex; \
libfreetype6-dev \
libjpeg-dev \
ncat \
cron \
incron \
vim \
git \
libmagickwand-dev \
libpng-dev \
libzip-dev \
Expand Down Expand Up @@ -115,6 +118,7 @@ RUN curl -L -o /usr/local/bin/tini https://github.com/krallin/tini/releases/late

WORKDIR $POLYSCRIPT_PATH
COPY scripts/* $POLYSCRIPT_PATH/
RUN mv scramble.sh /usr/local/bin

# apache2-foreground comes from inherited container's CMD, which we chain
ENTRYPOINT ["/usr/local/bin/tini", "-g", "--", "bash", "-c"]
Expand Down
5 changes: 0 additions & 5 deletions php7.4/apache/default.run.config

This file was deleted.

3 changes: 2 additions & 1 deletion php7.4/apache/run-self-contained.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ echo "Running under mode: $MODE"
image="polyverse/polyscripted-wordpress"
echo "$(date) Obtaining current git sha for tagging the docker image"
headsha=$(git rev-parse --verify HEAD)
php_version=apache-7.4

docker run --name mysql-host -e MYSQL_ROOT_PASSWORD=qwerty -d mysql:5.7
docker run --rm -e MODE=$MODE --name wordpress -v $PWD/wordpress:/wordpress --link mysql-host:mysql -p 8000:80 $image:apache-7.4-$headsha
docker run --rm -e MODE=$MODE -e CONTAINER_ADDRESS="http://localhost:80" --name wordpress -v $PWD/wordpress:/wordpress --link mysql-host:mysql -p 8000:80 $image:$php_version-$headsha
74 changes: 30 additions & 44 deletions php7.4/apache/run.sh
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
#!/bin/bash



# 80-character wide dashes for intermittent use
# echo "--------------------------------------------------------------------------------"

CONTAINER_NAME=wordpress
php_version=apache-7.4

if [[ "$CONTAINER_NAME" == "" ]]; then
echo "No container name env variable found, defaulting to wordpress."
CONTAINER_NAME=wordpress
fi
if [[ "$CONTAINER_PORT" == "" ]]; then
echo "No override container port found, using default exposed port 80."
CONTAINER_PORT=80
fi
if [[ "$HOST_PORT" == "" ]]; then
echo "No host port env variable found, defaulting to port 8000."
HOST_PORT=8000
fi
if [[ "$CONTAINER_ADDRESS" == "" ]]; then
echo "Defaulting to localhost for cron."
CONTAINER_ADDRESS="http://localhost:$CONTAINER_PORT"
fi

function getContainerHealth {
docker inspect --format "{{.State.Health.Status}}" $1
Expand Down Expand Up @@ -81,7 +95,7 @@ fi


echo "---------------------------WORDPRESS DIRECTORY---------------------------------"
if [[ "$WORDPRESSDIR" == "" ]]; then
if [[ "$WORDPRESS_DIR" == "" ]]; then
echo " A Wordpress directory was not specified. Using a default directory"
echo " under the current path: $PWD/wordpress."
echo ""
Expand All @@ -91,13 +105,13 @@ if [[ "$WORDPRESSDIR" == "" ]]; then
while true; do
read -p "Do you wish to use this wordpress directory?" yn
case $yn in
[Yy]* ) export WORDPRESSDIR=$PWD/wordpress; break;;
[Yy]* ) export WORDPRESS_DIR=$PWD/wordpress; break;;
[Nn]* ) exit;;
* ) echo "Please answer yes or no.";;
esac
done
else
echo "Using wordpress installation from directory: $WORDPRESSDIR"
echo "Using wordpress installation from directory: $WORDPRESS_DIR"
fi

echo "-------------------------WORDPRESS CONFIGURATION--------------------------------"
Expand Down Expand Up @@ -143,54 +157,26 @@ else
echo "Found existing database configuration."
fi

echo "-------------------------SYSTEM CRON ----------------------------------------"
echo "For optimization a system cron is utilized for the plugin."
echo "Set CONTAINER_ADDRESS to configure this cron."
echo "To disable cron jobs set WP_DISABLE_CRON and WP_DISABLE_INCRON to true."
echo ""

echo "-------------------------WORDPRESS STARTUP--------------------------------------"
echo "$(date) Obtaining current git sha for tagging the docker image"
headsha=$(git rev-parse --verify HEAD)
if [[ "$CONTAINERPORT" == "" ]]; then
echo "No override container port found, using default exposed port 80."
CONTAINERPORT=80
fi
if [[ "$HOSTPORT" == "" ]]; then
echo "No host port env variable found, defaulting to port 8000."
HOSTPORT=8000
fi
wpcmd="docker run -t -d -e MODE=$MODE --name $CONTAINER_NAME -v $WORDPRESSDIR:/wordpress -p $HOSTPORT:$CONTAINERPORT $wpvarparams $dblink polyverse/polyscripted-wordpress:apache-7.4-$headsha bash"
if [[ "$*" == "-f" ]]
then
echo "YES"
else
echo "NO"
fi

function startBackgroundTasks() {
if [[ $PLUGIN != "true" ]]; then
while true; do
read -p "Do you want to start dispatcher for the polyscripting plugin to allow scrambling from the wordpress plugin?"
case $yn in
[Yy]* ) docker exec -d $CONTAINER_NAME ./dispatch.sh 2323; echo "Set PLUGIN to true to skip this prompt."; break;;
[Nn]* ) echo "To enable dispatcher in the future run: docker exec -d $CONTAINER_NAME ./dispatch.sh 2323; break;;"; break;;
* ) echo "Please answer yes or no.";;
esac
done
else
docker exec -d $CONTAINER_NAME ./dispatch.sh 2323;
fi
echo "Starting apache server inside $CONTAINER_NAME"
docker exec -e MODE=$MODE --workdir /usr/local/bin $CONTAINER_NAME ./docker-entrypoint.sh apache2-foreground;
}
wpcmd="docker run -t -e MODE=$MODE -e CONTAINER_ADDRESS=$CONTAINER_ADDRESS --name $CONTAINER_NAME -v $WORDPRESS_DIR:/wordpress -p $HOST_PORT:$CONTAINER_PORT $wpvarparams $dblink polyverse/polyscripted-wordpress:$php_version-$headsha"

function startContainer() {
if [[ $(docker ps -aq -f status=exited -f name=$CONTAINER_NAME) ]]; then
echo "Existing container found, but it is stopped. Starting now."
docker start $CONTAINER_NAME
startBackgroundTasks
echo "Existing container found, but it is stopped."
echo "Restart, rename, or delete existing container."
elif [[ $(docker ps -q -f status=running -f name=$CONTAINER_NAME) ]]; then
echo "Container already running."
echo "To start dispatcher run: 'docker exec -d $CONTAINER_NAME ./dispatch.sh 2323'"
echo "To start apache run: 'docker exec -e MODE=$MODE --workdir /usr/local/bin $CONTAINER_NAME ./docker-entrypoint.sh apache2-foreground;'"
else
eval $wpcmd;
startBackgroundTasks
fi
}

Expand Down
Loading