1
0
mirror of https://github.com/pgrondek/config.git synced 2024-11-22 12:03:43 +00:00
config/docker/Makefile
2019-11-26 10:35:19 +01:00

75 lines
1.9 KiB
Makefile

CLEAN_PACKAGES=\
docker \
docker-engine \
docker.io \
containerd \
runc
REQUIRED_PACKAGES=\
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
DOCKER_PACKAGES=\
docker-ce \
docker-ce-cli \
containerd.io
HOME_BIN_DIR=$(HOME)/bin
DOCKER_BIN=/usr/bin/docker
DOCKER_COMPOSE_BIN=$(HOME_BIN_DIR)/docker-compose
DOCKER_REPO_FILE=/etc/apt/sources.list.d/docker.list
DOCKER_COMPOSE_VERSION=1.25.0
DOCKER_COMPOSE_URL=https://github.com/docker/compose/releases/download/$(DOCKER_COMPOSE_VERSION)/docker-compose-$(shell uname -s)-$(shell uname -m)
ROOT_TEE=sudo tee
ROOT_APT=sudo aptitude
ROOT_ADD_KEY=sudo apt-key
ROOT_ADD_USER_TO_GROUP=sudo adduser
RELEASE:=$(shell lsb_release -cs)
clean: clean_docker clean_compose
clean_docker:
-docker system prune
-$(ROOT_APT) remove $(DOCKER_PACKAGES)
sudo rm -f $(DOCKER_REPO_FILE)
-$(ROOT_ADD_KEY) del Docker
clean_compose:
rm -f $(DOCKER_COMPOSE_BIN)
install: install_docker install_compose
install_docker: $(DOCKER_BIN)
install_compose:
ifeq ("$(wildcard $(DOCKER_COMPOSE_BIN))","")
$(MAKE) download_install_compose
else ifneq ($(shell docker-compose -v | awk -F'[, ]' '{print $$3}'), $(DOCKER_COMPOSE_VERSION))
$(MAKE) download_install_compose
endif
force_update_compose: clean_compose install_compose
$(DOCKER_BIN):
-$(ROOT_APT) remove $(CLEAN_PACKAGES)
$(ROOT_APT) update
$(ROOT_APT) install -y $(REQUIRED_PACKAGES)
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | $(ROOT_ADD_KEY) add -
echo "deb https://download.docker.com/linux/ubuntu $(RELEASE) stable" \
| $(ROOT_TEE) $(DOCKER_REPO_FILE)
$(ROOT_APT) update
$(ROOT_APT) install -y $(DOCKER_PACKAGES)
$(ROOT_ADD_USER_TO_GROUP) $(shell id -nu) docker
download_install_compose: $(HOME_BIN_DIR)
curl -L $(DOCKER_COMPOSE_URL) -o $(DOCKER_COMPOSE_BIN)
chmod +x $(DOCKER_COMPOSE_BIN)
$(HOME_BIN_DIR):
mkdir -p $(HOME_BIN_DIR)