SHELL=/bin/bash ifndef VERBOSE .SILENT: endif CLEAR="\033[0m" BOLD="\033[1m" GREEN="\033[32m" RED="\033[31m" BLUE="\033[34m" WHITE="\033[37m" .PHONY: clean list_targets build build-arch build-debian arch archlinux debian run ansible release all: list_targets list_targets: echo "List of targets:" @grep '^[^#[:space:]].*:' Makefile debian: clean build-debian run arch archlinux: clean build-arch run build: build-arch build-debian: Dockerfile.debian docker build -t brethil/dotfiles:dev -f Dockerfile.debian .. build-arch: Dockerfile.archlinux docker build -t brethil/dotfiles:dev -f Dockerfile.archlinux .. run: _run echo -e ${GREEN} "***" ${CLEAR} Watching logs from the container. Hit Ctrl+C to stop watching. docker logs -f dotfiles-dev _run: clean build # docker run -d --rm --name=dotfiles-dev -v ${PWD}/..:/root/.dotfiles:ro brethil/dotfiles:dev docker run -d --rm --name=dotfiles-dev brethil/dotfiles:dev echo -en ${GREEN} "***" ${CLEAR} Started container, listening on echo -e ${BOLD}${WHITE} `docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' dotfiles-dev`:22 ${CLEAR} echo -e ${BLUE} "***" ${CLEAR} Run \`make clean\` to stop and remove the container, \`make run\` to check the logs. ansible: SHELL:=/bin/bash ansible: ../playbook.yml _run @ip_address=$$(docker inspect dotfiles-dev --format '{{.NetworkSettings.IPAddress}}'); \ if [[ -z "$$ip_address" ]]; then \ echo "ip address is not defined, is your container running?" >&2; \ exit 1; \ else \ sed -i "s/172.18.0.2/$$ip_address/" ansible-hosts; \ ANSIBLE_HOST_KEY_CHECKING=False ansible-playbook -i ansible-hosts ../playbook.yml; \ fi release: build-arch ansible docker commit -m "install and initialize dotfiles (ansible)" dotfiles-dev brethil/dotfiles:latest docker tag brethil/dotfiles:latest brethil/dotfiles:`git rev-parse --short HEAD &2>/dev/null` echo -e ${GREEN} "***" ${CLEAR} committed and tagged the \"dockerfiles-dev\" to brethil/dotfiles:latest and :`git rev-parse HEAD --short` if ! git diff --quiet --exit-code; then \ docker tag brethil/dotfiles:latest brethil/dotfiles:dev && \ echo -e ${GREEN} "***" ${CLEAR} committed and tagged the \"dockerfiles-dev\" to brethil/dotfiles:dev; \ fi clean: echo -e ${GREEN} "***" ${CLEAR} Stopping and removing \"dockerfiles-dev\" container... docker kill dotfiles-dev &>/dev/null &>/dev/null && echo -e ${GREEN} "***" ${CLEAR} Killed container: dotfiles-dev || echo -e ${BLUE} "***" ${CLEAR} no containers to stop docker stop dotfiles-dev &>/dev/null && echo -e ${GREEN} "***" ${CLEAR} Removed container: dotfiles-dev || echo -e ${BLUE} "***" ${CLEAR} no containers to remove