-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
74 lines (53 loc) · 2.37 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
.PHONY: clean fclean re all makedir copy_resume generate_certs
###################################################################################
# Configurations #
###################################################################################
COMPOSE = docker compose
ENV_PATH = ./srcs/.env
CONF_PATH = ./srcs/docker-compose.yml
BONUS_DIR = ./srcs/requirements/bonus
TOOLS_DIR = ./srcs/requirements/tools
CV_PATH = ${BONUS_DIR}/resume
include ${ENV_PATH}
IMAGES = nginx mariadb wordpress redis adminer ftps cadvisor prometheus
VOLUMES_NAMES = ${PV_MDB_NAME} ${PV_WP_NAME} ${PV_CV_NAME} ${PV_CERTS_NAME} ${PV_ADM_NAME} ${PV_MONITOR_NAME}
VOLUMES_PATHS = ${PV_MDB_PATH} ${PV_WP_PATH} ${PV_CV_PATH} ${PV_CERTS_PATH} ${PV_ADM_PATH} ${PV_MONITOR_PATH}
###################################################################################
# Commands #
###################################################################################
all: makedir copy_resume generate_certs build up
makedir:
mkdir -p ${VOLUMES_PATHS}
copy_resume:
cp -r ${CV_PATH}/* ${PV_CV_PATH}
generate_certs:
cp ${TOOLS_DIR}/gencert.sh ${PV_CERTS_PATH}
chmod +x ${PV_CERTS_PATH}/gencert.sh
cd ${PV_CERTS_PATH} && ./gencert.sh ${DOMAIN_NAME} ${DOMAIN_IP} ${LOGIN}
### update-ca-certificates available on ubuntu and debian
### Not working need to add crt explicitly to the browser
sudo cp ${PV_CERTS_PATH}/${LOGIN}_CA.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates
build:
${COMPOSE} --env-file=${ENV_PATH} -f ${CONF_PATH} build
up:
${COMPOSE} --env-file=${ENV_PATH} -f ${CONF_PATH} up -d
down:
${COMPOSE} --env-file=${ENV_PATH} -f ${CONF_PATH} down
stop:
${COMPOSE} --env-file=${ENV_PATH} -f ${CONF_PATH} stop
ls:
${COMPOSE} --env-file=${ENV_PATH} -f ${CONF_PATH} ls
ps:
${COMPOSE} --env-file=${ENV_PATH} -f ${CONF_PATH} ps
logs:
${COMPOSE} -f ${CONF_PATH} logs --tail=100 -f
pre:
sudo docker stop $(shell docker ps -qa) || true
sudo docker rm $(shell docker ps -qa) || true
sudo docker rmi -f $(shell docker images -qa) || true
sudo docker volume rm $(shell docker volume ls -q) || true
sudo docker network rm $(shell docker network ls -q) || true
clean:
sudo docker volume rm ${VOLUMES_NAMES} || true
sudo rm -rf ${VOLUMES_PATHS} || true