-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
75 lines (59 loc) · 2.24 KB
/
Copy pathMakefile
File metadata and controls
75 lines (59 loc) · 2.24 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
75
.PHONY: help build build-dev build-prod dev-up dev-down dev-logs dev-rebuild prod-up prod-down prod-logs prod-rebuild stop clean prune
APP_NAME := skygenesisenterprise/zenthcloud
help:
@echo "Available targets:"
@echo " build - Build production image (default Dockerfile)"
@echo " build-dev - Build development image (NODE_ENV=development)"
@echo " build-prod - Build production image (NODE_ENV=production)"
@echo " dev-up - Start dev environment (compose --profile dev)"
@echo " dev-down - Stop dev environment"
@echo " dev-logs - View dev environment logs"
@echo " dev-rebuild - Rebuild and restart dev environment"
@echo " prod-up - Start production environment (default profile)"
@echo " prod-down - Stop production environment"
@echo " prod-logs - View production environment logs"
@echo " prod-rebuild - Rebuild and restart production environment"
@echo " stop - Stop all containers"
@echo " clean - Remove build artifacts"
@echo " prune - Clean up Docker system"
build:
docker build -f Dockerfile -t $(APP_NAME):latest .
build-dev:
docker build -f Dockerfile \
--build-arg NODE_ENV=development \
--build-arg BUILD_STATIC=0 \
-t $(APP_NAME):dev .
build-prod:
docker build -f Dockerfile \
--build-arg NODE_ENV=production \
--build-arg BUILD_STATIC=1 \
-t $(APP_NAME):latest .
dev-up:
APP_IMAGE_TAG=dev NODE_ENV=development WORKER_COMMAND=air BUILD_STATIC=0 \
docker compose --profile dev up -d
dev-down:
docker compose --profile dev down
dev-logs:
docker compose --profile dev logs -f
dev-rebuild:
docker compose --profile dev down
APP_IMAGE_TAG=dev NODE_ENV=development WORKER_COMMAND=air BUILD_STATIC=0 \
docker compose --profile dev up -d --build
prod-up:
APP_IMAGE_TAG=latest NODE_ENV=production WORKER_COMMAND=worker BUILD_STATIC=1 \
docker compose up -d
prod-down:
docker compose down
prod-logs:
docker compose logs -f
prod-rebuild:
docker compose down
APP_IMAGE_TAG=latest NODE_ENV=production WORKER_COMMAND=worker BUILD_STATIC=1 \
docker compose up -d --force-recreate --build
stop:
docker compose down 2>/dev/null || true
clean:
rm -rf apps/.next
rm -rf server/aether-server
prune:
docker system prune -f