summaryrefslogtreecommitdiff
path: root/sandcastle
diff options
context:
space:
mode:
authorJavier Sepulveda <javier.sepulveda@uv.es>2023-03-21 12:42:18 +0100
committerJavier Sepulveda <javier.sepulveda@uv.es>2023-03-21 12:42:18 +0100
commit1022ff4302d59bb8456784867cca649d196f77f7 (patch)
tree4f2446699ccab962bb818d1fc904dcd5735e9e04 /sandcastle
parent800f9bd771f4566717c1f55286e093a39182ae17 (diff)
downloaddeployment-1022ff4302d59bb8456784867cca649d196f77f7.tar.gz
deployment-1022ff4302d59bb8456784867cca649d196f77f7.tar.bz2
deployment-1022ff4302d59bb8456784867cca649d196f77f7.zip
Sandcastle, woocommerce, Docker deployment
Diffstat (limited to 'sandcastle')
-rw-r--r--sandcastle/images/woocommerce/Dockerfile86
-rw-r--r--sandcastle/images/woocommerce/docker-compose.yml33
-rwxr-xr-xsandcastle/images/woocommerce/entry-point.sh50
-rw-r--r--sandcastle/images/woocommerce/tags.conf9
4 files changed, 178 insertions, 0 deletions
diff --git a/sandcastle/images/woocommerce/Dockerfile b/sandcastle/images/woocommerce/Dockerfile
new file mode 100644
index 0000000..01070d4
--- /dev/null
+++ b/sandcastle/images/woocommerce/Dockerfile
@@ -0,0 +1,86 @@
+FROM debian:bullseye
+
+# This file is in the public domain.
+
+LABEL docker-woocommerce.demo.taler.net="0.0.1-beta"
+
+WORKDIR /root/
+
+COPY tags.conf /root/
+COPY entry-point.sh /root/
+COPY setup-mariadb.sql /root/
+
+# Install dependencies
+
+
+RUN apt-get update && apt-get install -y \
+ software-properties-common \
+ ca-certificates \
+ lsb-release \
+ apt-transport-https \
+ wget \
+ curl \
+ git \
+ unzip \
+ gnupg
+
+RUN sh -c 'echo "deb https://packages.sury.org/php/ bullseye main" > /etc/apt/sources.list.d/php.list'
+
+RUN wget -qO - https://packages.sury.org/php/apt.gpg | apt-key add -
+
+RUN apt-get update
+
+RUN . /root/tags.conf \
+ && apt-get install \
+ php${PHP_VERSION} \
+ php${PHP_VERSION}-common \
+ php${PHP_VERSION}-mbstring \
+ php${PHP_VERSION}-xmlrpc \
+ php${PHP_VERSION}-soap \
+ php${PHP_VERSION}-gd \
+ php${PHP_VERSION}-xml \
+ php${PHP_VERSION}-intl \
+ php${PHP_VERSION}-mysql \
+ php${PHP_VERSION}-cli \
+ php${PHP_VERSION}-ldap \
+ php${PHP_VERSION}-zip \
+ php${PHP_VERSION}-curl\
+ php${PHP_VERSION}-zip \
+ php${PHP_VERSION}-fpm -y
+
+# Download Wordpress, plugins and theme + extract
+
+RUN . /root/tags.conf \
+ && mkdir -p /var/www/wordpress/wp-content/plugins \
+ && mkdir -p /var/www/wordpress/wp-content/themes \
+ && wget https://wordpress.org/wordpress-${WORDPRESS_VERSION}.tar.gz \
+ && tar -xzf wordpress-${WORDPRESS_VERSION}.tar.gz -C /var/www/ \
+ && wget https://downloads.wordpress.org/plugin/woocommerce.${WOOCOMMERCE_VERSION}.zip \
+ && unzip woocommerce.${WOOCOMMERCE_VERSION}.zip -d /var/www/wordpress/wp-content/plugins \
+ && wget https://downloads.wordpress.org/theme/ecommerce-star.${WORDPRESS_PARENT_THEME_VERSION}.zip \
+ && unzip ecommerce-star.${WORDPRESS_PARENT_THEME_VERSION}.zip -d /var/www/wordpress/wp-content/themes \
+ && wget https://downloads.wordpress.org/theme/shop-here.${WORDPRESS_CHILD_THEME_VERSION}.zip \
+ && unzip shop-here.${WORDPRESS_CHILD_THEME_VERSION}.zip -d /var/www/wordpress/wp-content/themes \
+ && wget https://downloads.wordpress.org/plugin/gnu-taler-payment-for-woocommerce.zip \
+ && unzip gnu-taler-payment-for-woocommerce.zip -d /var/www/wordpress/wp-content/plugins
+
+# Install wp-cli
+
+RUN wget https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar \
+ && chmod +x wp-cli.phar \
+ && mv wp-cli.phar /usr/local/bin/wp
+
+
+RUN chown -R www-data:www-data /var/www/wordpress
+
+# Remove downloads
+
+RUN rm -Rf *.zip
+
+RUN chmod +x entry-point.sh
+
+#ENTRYPOINT /root/entry-point.sh
+
+# Additional steps after entrypoint.
+
+#CMD [".sh", "command"]
diff --git a/sandcastle/images/woocommerce/docker-compose.yml b/sandcastle/images/woocommerce/docker-compose.yml
new file mode 100644
index 0000000..b29d0f8
--- /dev/null
+++ b/sandcastle/images/woocommerce/docker-compose.yml
@@ -0,0 +1,33 @@
+version: '3'
+services:
+ db:
+ image: mariadb
+ environment:
+ MYSQL_DATABASE: exampledb
+ MYSQL_USER: wordpress_user
+ MYSQL_PASSWORD: wordpress_password
+ MYSQL_RANDOM_ROOT_PASSWORD: "1"
+ ports:
+ - "3306:3306"
+ volumes:
+ - mariadb_data:/var/lib/mysql
+
+ wordpress:
+ build: images/woocommerce
+ image: woo
+ container_name: woocommerce_taler
+ depends_on:
+ - db
+ ports:
+ - 8080:80
+ restart: always
+ environment:
+ WORDPRESS_DB_HOST: mysql:3306
+ WORDPRESS_DB_USER: wordpress_user
+ WORDPRESS_DB_PASSWORD: wordpress_password
+ WORDPRESS_DB_NAME: exampledb
+ volumes:
+ - /var/www/wordpress:/var/www/wordpress
+
+volumes:
+ mariadb_data:
diff --git a/sandcastle/images/woocommerce/entry-point.sh b/sandcastle/images/woocommerce/entry-point.sh
new file mode 100755
index 0000000..8c62f05
--- /dev/null
+++ b/sandcastle/images/woocommerce/entry-point.sh
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+source /root/tags.conf
+
+# Enable php-fpm NGINX
+
+#systemctl reload nginx
+
+# Enable MariaDB
+
+#systemctl restart mariadb
+
+# Import datbase (if wp-cli works, this wont be necessary)
+
+#mysql -u ${MARIADB_USER} -p${MARIADB_PASSWORD} ${MARIADB_DATABASE_NAME} < woocommerce.sql
+
+# Rename wordpress config file
+
+mv /var/www/wordpress/wp-config-sample.php /var/www/wordpress/wp-config.php
+
+# Replace values database connection
+
+# Replace values with .env VARIABLES
+
+sed -ie "s/database_name_here/${WORDPRESS_DATABASE_NAME}/g" /var/www/wordpress/wp-config.php \
+ && sed -ie "s/username_here/${WORDPRESS_DATABASE_USER}/g" /var/www/wordpress/wp-config.php \
+ && sed -ie "s/password_here/${WORDPRESS_DATABASE_PASSWORD}/g" /var/www/wordpress/wp-config.php
+
+# Install WP
+
+wp core install --url=test.woocommerce.taler.net --title=GNU Taler for WooCommerce --admin_user=supervisor --admin_password=strongpassword --admin_email=info@example.com
+
+# Enable theme shop-here
+
+wp theme enable shop-here
+
+# Activate Woocommerce plugin
+
+wp plugin activate woocommerce
+
+# Activate GNU Taler plugin
+
+wp plugin activate gnu-taler-payment-for-woocommerce
+
+# Import products into database
+
+# Need to prepare the export.xml file first
+
+#wp import /woocommerce-products-backup.xml --authors=create
+
diff --git a/sandcastle/images/woocommerce/tags.conf b/sandcastle/images/woocommerce/tags.conf
new file mode 100644
index 0000000..d7510d6
--- /dev/null
+++ b/sandcastle/images/woocommerce/tags.conf
@@ -0,0 +1,9 @@
+
+# Software versions
+
+PHP_VERSION="8.2"
+WOOCOMMERCE_VERSION="7.1.1"
+WORDPRESS_VERSION="6.1"
+WORDPRESS_PARENT_THEME_VERSION="1.3.9"
+WORDPRESS_CHILD_THEME_VERSION="1.0.2"
+