# **************************************************************************** # # # # :::::::: # # Makefile :+: :+: # # +:+ # # By: whaffman +#+ # # +#+ # # Created: 2025/05/12 15:33:56 by whaffman #+# #+# # # Updated: 2025/05/22 16:23:30 by whaffman ######## odam.nl # # # # **************************************************************************** # DOCKER_COMPOSE = docker compose DOCKER_COMPOSE_FILE = ./srcs/docker-compose.yml DOCKER_ENV_FILE = ./srcs/.env DATA_DIR = /home/whaffman/data WORDPRESS_DATA_DIR = $(DATA_DIR)/wordpress MARIADB_DATA_DIR = $(DATA_DIR)/mariadb UID := $(shell id -u) DC = $(DOCKER_COMPOSE) -f $(DOCKER_COMPOSE_FILE) --env-file $(DOCKER_ENV_FILE) --project-name "" .PHONY: all build up down remove all: build up $(DATA_DIR): @echo "$(gub)Creating data directory...$(reset)" @mkdir -p $(DATA_DIR) @chmod 777 $(DATA_DIR) $(WORDPRESS_DATA_DIR): $(DATA_DIR) @echo "$(gub)Creating WordPress data directory...$(reset)" @mkdir -p $(WORDPRESS_DATA_DIR) @chmod 777 $(WORDPRESS_DATA_DIR) $(MARIADB_DATA_DIR): $(DATA_DIR) @echo "$(gub)Creating MariaDB data directory...$(reset)" @mkdir -p $(MARIADB_DATA_DIR) @chmod 777 $(MARIADB_DATA_DIR) build: $(WORDPRESS_DATA_DIR) $(MARIADB_DATA_DIR) @echo "$(gub)Building Docker containers...$(reset)" $(DC) build --build-arg HOST_UID=$(UID) up: $(WORDPRESS_DATA_DIR) $(MARIADB_DATA_DIR) @echo "$(gub)Starting Docker containers...$(reset)" $(DC) up -d down: @echo "$(gub)Stopping Docker containers...$(reset)" $(DC) down clean: @echo "$(gub)Cleaning up Docker containers...$(reset)" $(DC) down --rmi local --volumes --remove-orphans @echo "$(gub)Removing data directories...$(reset)" @rm -rf $(DATA_DIR) @echo "$(gub)Removing Docker networks...$(reset)" @docker network prune -f @echo "$(gub)Removing Docker volumes...$(reset)" @docker volume prune -f @echo "$(gub)Removing Docker images...$(reset)" @docker rmi -f $(shell docker images -q) logs: @echo "$(gub)Displaying logs...$(reset)" @$(DC) logs ps: @echo "$(gub)Displaying running containers...$(reset)" @$(DC) ps @echo "$(gub)Displaying networks...$(reset)" @docker network ls @echo "$(gub)Displaying volumes...$(reset)" @docker volume ls @echo "$(gub)Displaying images...$(reset)" @docker images @echo "$(gub)Displaying all containers...$(reset)" @docker ps -a # Colors green:=$(shell tput setaf 2) bold:=$(shell tput bold) uncerline:=$(shell tput smul) gub:=$(green)$(underline)$(bold) reset:=$(shell tput sgr0)