57 lines
1.6 KiB
Makefile
57 lines
1.6 KiB
Makefile
|
|
CLIENT=tt-nextcloud
|
|
|
|
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)
|
|
$(info $(USAGE))
|
|
$(error Exiting)
|
|
endif
|
|
|
|
DC_OVERRIDE := $(shell test -e conf/docker-compose.override.yml && echo "--file conf/docker-compose.override.yml")
|
|
DC_OVERRIDE_ENV := $(shell test -e conf/docker-compose.$(ENV).yml && echo "--file conf/docker-compose.$(ENV).yml")
|
|
|
|
DC=ENV=$(ENV) CLIENT=$(CLIENT) $(DOCKERCOMPOSE) --project-name "$(CLIENT)_$(ENV)" --file conf/docker-compose.yml $(DC_OVERRIDE) $(DC_OVERRIDE_ENV)
|
|
|
|
default:
|
|
$(info $(USAGE))
|
|
$(error Exiting)
|
|
|
|
docker-build:
|
|
$(DC) build
|
|
$(DC) up -d
|
|
|
|
docker-start:
|
|
$(DC) start
|
|
|
|
docker-stop:
|
|
$(DC) stop
|
|
|
|
docker-restart: docker-stop docker-start
|
|
|
|
docker-rm: docker-stop
|
|
$(DC) rm
|
|
|
|
config:
|
|
@echo "Configuring docker for environment '$(ENV)'"
|
|
|
|
@echo " --> Generating mysql auth file"
|
|
@cat conf/env/mysql.env \
|
|
| python -c "import sys; import string; v=sys.stdin.readline().split('MYSQL_ROOT_PASSWORD=')[1]; print(string.Template(open('conf/build/mysql/my.cnf').read()).substitute({'PASSWORD':v}))" \
|
|
| docker exec -i $(CLIENT).mysql.$(ENV) sh -c 'cat > /root/.my.cnf'
|
|
|
|
db-backup:
|
|
@echo "Backing up database"
|
|
@mkdir -p backup/
|
|
@docker exec --tty --interactive $(CLIENT).mysql.$(ENV) mysqldump -uroot database > backup/mysql_dump_`date +%d-%m-%Y"_"%H_%M_%S`.sql
|
|
|
|
db-restore:
|
|
@echo "Restoring file to database (backup/mysql.sql)"
|
|
@docker exec -i $(CLIENT).mysql.$(ENV) mysql -uroot database < backup/mysql.sql
|