Files
damp-shop/Makefile

144 lines
5.7 KiB
Makefile
Raw Normal View History

include .env
DOCKERCOMPOSE := $(shell command -v docker-compose 2> /dev/null)
USAGE := Usage: make ENV={prod|preprod|dev} {docker-build|docker-start|docker-stop|docker-restart}
ifndef DOCKERCOMPOSE
$(error docker-compose is not available)
endif
ifndef ENV
$(info Environment variable is not set, using default (dev))
$(info $(USAGE))
# $(error Exiting)
endif
DC_OVERRIDE := $(shell test -e docker-compose.override.yml && echo "--file docker-compose.override.yml")
DC_OVERRIDE_ENV := $(shell test -e docker-compose.$(ENV).yml && echo "--file docker-compose.$(ENV).yml")
DC=ENV=$(ENV) PROJECT=$(PROJECT) $(DOCKERCOMPOSE) --project-name "$(PROJECT)_$(ENV)" --file docker-compose.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
CC=$(CMS)
default:
@echo "projet: " ${PROJECT}
@echo "No command given"
@echo "Usage: make {docker-build|docker-start|docker-stop|docker-restart}"
@false
docker-build:
$(shell conf/scripts/create-cert.sh)
$(DC) build
$(DC) up -d
@cp volume/app/www/html/info.php volume/www/html/index.php
@open https://${DOMAIN}
docker-start:
$(DC) start
docker-stop:
$(DC) stop
docker-down:
$(DC) down
docker-restart: docker-stop docker-start
docker-rm: docker-stop
$(DC) rm
init-ssl:
$(shell conf/scripts/create-cert.sh)
db-backup:
@echo "Backing up database"
@mkdir -p backup/
@docker exec --tty --interactive $(PROJECT).mariadb.$(ENV) mariadb-dump -uuser -ppassword database > backup/db_`date +%d-%m-%Y"_"%H_%M_%S`.sql
db-restore:
@echo "Restoring file to database (backup/db.sql)"
@docker exec -i $(PROJECT).mariadb.$(ENV) mmariadb -uuser -ppassword < backup/db.sql
config-db-root:
@echo " --> Generating mariadb auth file"
@cat conf/env/mariadb.env \
| python3 -c "import sys; import string; v=sys.stdin.readline().split('MYSQL_ROOT_PASSWORD=')[1]; print(string.Template(open('conf/build/mariadb/my.cnf').read()).substitute({'PASSWORD':v}))" \
| docker exec -i $(PROJECT).mariadb.$(ENV) sh -c 'cat > /root/.my.cnf'
get-cms:
ifeq ($(CMS),prestashop)
# turn the detached message off
@git config --global advice.detachedHead false
@echo "cms ok: " ${CMS}
rm -f -r volume/www/html/*
@curl -L https://github.com/PrestaShop/PrestaShop/releases/download/$(CMSVERSION)/prestashop_$(CMSVERSION).zip --output volume/www/html/prestashop.zip
@unzip -o volume/www/html/prestashop.zip -d volume/www/html
@unzip -o volume/www/html/prestashop.zip -d volume/www/html
rm volume/www/html/Install_PrestaShop.html
rm volume/www/html/prestashop.zip
@mv volume/www/html/admin volume/www/html/administrator
@mkdir -p backup/
@echo "Saving database"
@docker exec --tty --interactive $(PROJECT).mariadb.$(ENV) mysqldump -uuser -ppassword --all-databases > backup/db_`date +%d-%m-%Y"_"%H_%M_%S`.sql
@echo "Creating database"
-@docker exec --tty --interactive $(PROJECT).mariadb.$(ENV) mysqladmin -uroot -ppassword -f create or replace database 'database'
@mkdir -p ../
@git clone https://github.com/Oksydan/falcon.git
@mv falcon volume/www/html/themes/falcon
@php volume/www/html/install/index_cli.php --domain=myshop.local \
--db_server=127.0.0.1 \
--db_name=database \
--db_user=user \
--db_password=password \
--db_create=1 \
--name=${PROJECT} \
--email=${EMAIL} \
--password=${PASSWORD} \
--prefix=${PREFIX} \
--language=fr \
--ssl=1
@curl -L https://github.com/Oksydan/is_themecore/releases/download/v4.1.1/is_themecore.zip --output volume/www/html/modules/is_themecore.zip
@unzip -o volume/www/html/modules/is_themecore.zip -d volume/www/html/modules
@curl -L https://github.com/Oksydan/is_searchbar/releases/download/v3.0.1/is_searchbar.zip --output volume/www/html/modules/is_searchbar.zip
@unzip -o volume/www/html/modules/is_searchbar.zip -d volume/www/html/modules
@curl -L https://github.com/Oksydan/is_imageslider/releases/download/v2.3.2/is_imageslider.zip --output volume/www/html/modules/is_imageslider.zip
@unzip -o volume/www/html/modules/is_imageslider.zip -d volume/www/html/modules
@curl -L https://github.com/Oksydan/is_shoppingcart/releases/download/v3.0.1/is_shoppingcart.zip --output volume/www/html/modules/is_shoppingcart.zip
@unzip -o volume/www/html/modules/is_shoppingcart.zip -d volume/www/html/modules
@cp volume/app/prestashop/falconchild.zip volume/www/html/themes/
@unzip -o volume/www/html/themes/falconchild.zip -d volume/www/html/themes/
rm volume/www/html/themes/falconchild.zip
@mv volume/www/html/install volume/www/html/installator
@cp volume/app/www/html/info.php volume/www/html/info.php
@cp volume/app/prestashop/parameters.php volume/www/html/app/config/parameters.php
@cp volume/app/prestashop/defines.inc.php volume/www/html/config/defines.inc.php
@open https://${DOMAIN}/administrator
else
@echo "Nothing to CMS"
endif
ifeq ($(CMS),wordpress)
@rm -f -r volume/www/*
@composer create-project roots/bedrock
@mv bedrock volume/www/html
@cp volume/app/bedrock/.env volume/www/html/.env
@cp volume/app/bedrock/picostrap5.zip volume/www/html/web/app/themes/picostrap5.zip
@unzip -o volume/www/html/web/app/themes/picostrap5.zip -d volume/www/html/web/app/themes
rm volume/www/html/web/app/themes/picostrap5.zip
@cp volume/app/bedrock/picostrap5-child.zip volume/www/html/web/app/themes/picostrap5-child.zip
@unzip -o volume/www/html/web/app/themes/picostrap5-child.zip -d volume/www/html/web/app/themes
rm volume/www/html/web/app/themes/picostrap5-child.zip
@cp volume/app/bedrock/plugins.zip volume/www/html/web/app/themes/plugins.zip
@unzip -o volume/www/html/web/app/themes/plugins.zip -d volume/www/html/web/app/plugins
rm volume/www/html/web/app/themes/plugins.zip
else
@echo "Nothing to CMS"
endif
get-all-plugins:
@git clone https://github.com/ldesmarets/myWpPlugin.git wp-plugins
@unzip -o "wp-plugins/*.zip" -d volume/bedrock/web/app/plugins/
rm -f -r wp-plugins