-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
74 lines (63 loc) · 1.89 KB
/
Makefile
File metadata and controls
74 lines (63 loc) · 1.89 KB
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
74
include .env
IMGNAME?=ghcr.io/libertech-fr/sesame-app-manager
APPNAME?=sesame-app-manager
APP_PORT?=3002
PLATFORM?=linux/amd64
CERT_DIR = ./certificates
COMMON_NAME = localhost
DAYS_VALID = 365
$(shell mkdir -p $(CERT_DIR))
.DEFAULT_GOAL := help
help:
@printf "\033[33mUsage:\033[0m\n make [target] [arg=\"val\"...]\n\n\033[33mTargets:\033[0m\n"
@grep -E '^[-a-zA-Z0-9_\.\/]+:.*?## .*$$' $(MAKEFILE_LIST) \
| sort | awk 'BEGIN {FS = ":.*?## "}; {printf " \033[32m%-15s\033[0m %s\n", $$1, $$2}'
build:
docker build --platform $(PLATFORM) -t $(IMGNAME) .
dev:
docker run --rm -it \
-e NODE_ENV=development \
-e NODE_TLS_REJECT_UNAUTHORIZED=0 \
-e DEV=1 \
--add-host host.docker.internal:host-gateway \
--name $(APPNAME) \
--network dev \
-p $(APP_PORT):3000 \
-p 24678:24678 \
-v $(CURDIR):/data \
$(IMGNAME) yarn dev
prod:
docker run --rm -it \
-e NODE_ENV=production \
-e NODE_TLS_REJECT_UNAUTHORIZED=0 \
--add-host host.docker.internal:host-gateway \
--name $(APPNAME) \
--network dev \
-p $(APP_PORT):3000 \
-p 24678:24678 \
-v $(CURDIR):/data \
$(IMGNAME) yarn start:prod
install:
docker run -it --rm \
-e NODE_ENV=development \
-v $(CURDIR):/data \
$(IMGNAME) yarn install
exec:
docker exec -it $(APPNAME) bash
generate-ssl-cert: ## Générer les certificats HTTPS auto-signés
@echo "Génération des certificats HTTPS auto-signés..."
@openssl req -x509 \
-newkey rsa:4096 \
-keyout $(CERT_DIR)/server.key \
-out $(CERT_DIR)/server.crt \
-days $(DAYS_VALID) \
-nodes \
-subj "/CN=$(COMMON_NAME)"
@chmod 600 $(CERT_DIR)/server.key
@chmod 644 $(CERT_DIR)/server.crt
@echo "Certificats générés avec succès dans $(CERT_DIR)"
clean-ssl-cert: ## Nettoyer les certificats HTTPS
@rm -rf $(CERT_DIR)
@echo "Certificats supprimés"
show-cert-info: ## Afficher les informations du certificat
@openssl x509 -in $(CERT_DIR)/server.crt -text -noout