mirror of
https://github.com/pgrondek/config.git
synced 2024-11-25 21:25:39 +00:00
75 lines
1.9 KiB
Makefile
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)
|