Created
October 27, 2017 17:31
-
-
Save FredNandrin/3ee12a22837e60fa34ec6449ccf310f7 to your computer and use it in GitHub Desktop.
Basic makefile for docker stack with symfony
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Run `make ENVIRONMENT=machinename` to override the default | |
# | |
ENVIRONMENT=default | |
TLS_VERIFY=$(shell docker-machine env $(ENVIRONMENT) | grep 'DOCKER_TLS_VERIFY=".*"' | cut -d\" -f2) | |
HOST=$(shell docker-machine env $(ENVIRONMENT) | grep 'DOCKER_HOST=".*"' | cut -d\" -f2) | |
CERT_PATH=$(shell docker-machine env $(ENVIRONMENT) | grep 'DOCKER_CERT_PATH=".*"' | cut -d\" -f2) | |
MACHINE_NAME=$(shell docker-machine env $(ENVIRONMENT) | grep 'DOCKER_MACHINE_NAME=".*"' | cut -d\" -f2) | |
DOCKER_MACHINE_NAME=$(MACHINE_NAME) | |
DOCKER_TLS_VERIFY=$(TLS_VERIFY) | |
DOCKER_HOST=$(HOST) | |
DOCKER_CERT_PATH=$(CERT_PATH) | |
# MySQL | |
MYSQL_DUMPS_DIR=data/db/dumps | |
help: | |
@echo "" | |
@echo "usage: make COMMAND" | |
@echo "" | |
@echo "Commands:" | |
@echo " docker-start Create and start containers" | |
@echo " docker-stop Stop and clear all services" | |
@echo " docker-logs Follow log output" | |
@echo " ccl Cache clear on symfony app" | |
@echo " mysql-dump Create backup of whole database" | |
@echo " mysql-restore Restore backup from whole database" | |
docker-start: init | |
docker-compose up -d | |
make ccl | |
docker-stop: | |
@docker-compose down -v | |
docker-logs: | |
@docker-compose logs -f | |
mysql-dump: | |
@mkdir -p $(MYSQL_DUMPS_DIR) | |
@docker-compose exec -T db mysqldump --all-databases -u"$(MYSQL_ROOT_USER)" -p"$(MYSQL_ROOT_PASSWORD)" > $(MYSQL_DUMPS_DIR)/db.sql 2>/dev/null | |
@make resetOwner | |
mysql-restore: | |
docker-compose exec -T db mysql -u"$(MYSQL_ROOT_USER)" -p"$(MYSQL_ROOT_PASSWORD)" < $(MYSQL_DUMPS_DIR)/db.sql | |
ccl: | |
@docker-compose exec -T php ./bin/console c:cl --no-warmup | |
@docker-compose exec -T php ./bin/console c:cl --no-warmup --env=prod | |
@make resetOwner | |
resetOwner: | |
@$(shell chown -Rf $(SUDO_USER):$(id -g -n $(SUDO_USER)) $(MYSQL_DUMPS_DIR) "$(pwd)/etc/ssl" "$(pwd)/web/app" 2> /dev/null) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment