92 lines
3.0 KiB
Makefile
92 lines
3.0 KiB
Makefile
# **************************************************************************** #
|
|
# #
|
|
# :::::::: #
|
|
# Makefile :+: :+: #
|
|
# +:+ #
|
|
# By: whaffman <whaffman@student.codam.nl> +#+ #
|
|
# +#+ #
|
|
# 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)
|