From 2bbfec832b904aba67501a623756684b637b8457 Mon Sep 17 00:00:00 2001 From: Michael Becker Date: Mon, 13 Jan 2025 13:27:50 -0500 Subject: [PATCH] finalizing stuff --- docker-build | 33 +++++++++++++++++++-------- docker-run | 8 +++---- mocha-suv/docker/Dockerfile | 10 ++++---- mocha-suv/docker/Dockerfile.php-8.2 | 31 +++++++++++++++++++++++++ mocha-suv/docker/fs/usr/sbin/mochactl | 5 ++++ 5 files changed, 69 insertions(+), 18 deletions(-) create mode 100644 mocha-suv/docker/Dockerfile.php-8.2 diff --git a/docker-build b/docker-build index f022602..9f54538 100755 --- a/docker-build +++ b/docker-build @@ -1,19 +1,34 @@ #!/bin/bash # update .NET -pushd ../mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server -dotnet build -popd -# build the libraries -pushd mocha-common/mocha-common -./build -popd +REBUILD=false +if [ "$1" == "--rebuild" ]; then + REBUILD=true + shift +fi + +if [ "$REBUILD" == "true" ]; then + pushd ../mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server + dotnet build + popd + + # build the libraries + pushd mocha-common/mocha-common + ./build + popd + +fi + +if [ ! -d ./mocha-suv/docker/fs/usr/lib/mocha/oms ]; then + mkdir -p ./mocha-suv/docker/fs/usr/lib/mocha/oms +fi -mkdir -p ./mocha-suv/docker/fs/usr/lib/mocha/oms cp -r ../mocha-dotnet/mocha-dotnet/src/app/Mocha.Oms.Server/bin/Debug/net8.0/* ./mocha-suv/docker/fs/usr/lib/mocha/oms -mkdir -p ./mocha-suv/docker/fs/usr/share/mocha/system +if [ ! -d ./mocha-suv/docker/fs/usr/share/mocha/system ]; then + mkdir -p ./mocha-suv/docker/fs/usr/share/mocha/system +fi cp mocha-common/mocha-common/output/net.alcetech.Mocha.System.mcl ./mocha-suv/docker/fs/usr/share/mocha/system cp mocha-common/mocha-common/output/net.alcetech.Mocha.Web.mcl ./mocha-suv/docker/fs/usr/share/mocha/system diff --git a/docker-run b/docker-run index 5815bf5..b886706 100755 --- a/docker-run +++ b/docker-run @@ -2,7 +2,7 @@ USE_SSL=false -./docker-build +./docker-build ${1+"$@"} Q=$? if [ $Q -ne 0 ]; then @@ -51,16 +51,16 @@ if [ "$PORT_FORWARD" != "" ]; then if [ "$USE_SSL" == "true" ]; then - docker run --name $SUV_NAME -d -p $PORT_FORWARD:443 mocha-httpd + docker run -h $SUV_NAME$SUV_DOMAINNAME --name $SUV_NAME -d -p $PORT_FORWARD:443 mocha-httpd else - docker run --name $SUV_NAME -d -p $PORT_FORWARD:80 mocha-httpd + docker run -h $SUV_NAME$SUV_DOMAINNAME --name $SUV_NAME -d -p $PORT_FORWARD:80 mocha-httpd fi else - docker run --name $SUV_NAME -d --net mocha-docker -it mocha-httpd # -p 8000:80 mocha-httpd + docker run -h $SUV_NAME$SUV_DOMAINNAME --name $SUV_NAME -d --net mocha-docker -it mocha-httpd # -p 8000:80 mocha-httpd fi echo "waiting for network to settle..." diff --git a/mocha-suv/docker/Dockerfile b/mocha-suv/docker/Dockerfile index f995394..e729ed9 100644 --- a/mocha-suv/docker/Dockerfile +++ b/mocha-suv/docker/Dockerfile @@ -1,9 +1,6 @@ -# FROM httpd FROM ubuntu - RUN apt update && apt upgrade -y && apt install -y php php-mbstring php-curl php-xml pwgen dotnet-runtime-8.0 -# RUN rm /usr/local/apache2/htdocs/index.html RUN rm /var/www/html/index.html && a2enmod ssl && a2enmod rewrite && service apache2 restart RUN mkdir /usr/lib/mocha && mkdir /etc/mocha && mkdir /var/mocha @@ -17,8 +14,11 @@ COPY mocha-php/mocha-php/src/mocha-php /var/www/html COPY mocha-php/phast/lib/phast/server /var/www/html/lib/phast COPY mocha-php/phast/lib/phast/client/scripts /var/www/html/scripts/phast -COPY mocha-suv/common/certs/localhost.crt /etc/ssl/certs -COPY mocha-suv/common/certs/localhost.key /etc/ssl/certs +COPY mocha-suv/common/certs /etc/ssl/certs + +COPY mocha-suv/common/libexec/* /usr/lib/mocha/ +COPY mocha-suv/common/libexec/mocha /usr/bin +RUN chmod a+x /usr/bin/mocha /usr/lib/mocha/mocha-* # COPY mocha-suv/docker/httpd.conf /usr/local/apache2/conf/httpd.conf # COPY mocha-suv/docker/ports.conf /usr/local/apache2/conf/ports.conf diff --git a/mocha-suv/docker/Dockerfile.php-8.2 b/mocha-suv/docker/Dockerfile.php-8.2 new file mode 100644 index 0000000..4a286a1 --- /dev/null +++ b/mocha-suv/docker/Dockerfile.php-8.2 @@ -0,0 +1,31 @@ +FROM php:8.2-apache + +RUN apt update && apt upgrade -y && apt install -y libcurl pwgen +RUN docker-php-ext-install curl xml + +RUN a2enmod ssl && a2enmod rewrite && service apache2 restart + +RUN mkdir /usr/lib/mocha && mkdir /etc/mocha && mkdir /var/mocha + +# install the root file system overlay +COPY mocha-suv/docker/fs / +COPY mocha-common/mocha-common/data/uploads /var/mocha/uploads + +# COPY mocha-php/mocha-php/src/mocha-php /usr/local/apache2/htdocs/ +COPY mocha-php/mocha-php/src/mocha-php /var/www/html +COPY mocha-php/phast/lib/phast/server /var/www/html/lib/phast +COPY mocha-php/phast/lib/phast/client/scripts /var/www/html/scripts/phast + +COPY mocha-suv/common/certs /etc/ssl/certs + +# COPY mocha-suv/docker/httpd.conf /usr/local/apache2/conf/httpd.conf +# COPY mocha-suv/docker/ports.conf /usr/local/apache2/conf/ports.conf +COPY mocha-suv/docker/ports.conf /etc/apache2/ports.conf + +# COPY mocha-suv/docker/site.conf /usr/local/apache2/conf/site.conf +COPY mocha-suv/docker/site.conf /etc/apache2/sites-available/000-default.conf + +EXPOSE 443 + +CMD [ "mochactl", "start" ] + diff --git a/mocha-suv/docker/fs/usr/sbin/mochactl b/mocha-suv/docker/fs/usr/sbin/mochactl index 14f06a0..5fba3b2 100755 --- a/mocha-suv/docker/fs/usr/sbin/mochactl +++ b/mocha-suv/docker/fs/usr/sbin/mochactl @@ -11,4 +11,9 @@ case "$1" in exec $EXECPATH/$EXECFILE & apache2ctl -D FOREGROUND ;; + "up") + exec $EXECPATH/$EXECFILE & + mocha up + apache2ctl -D FOREGROUND + ;; esac