-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker.mk
More file actions
136 lines (100 loc) · 3.52 KB
/
Copy pathdocker.mk
File metadata and controls
136 lines (100 loc) · 3.52 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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
COMPOSE_BASE = -f infra/compose/docker-compose.base.yml
COMPOSE_DEV = -f infra/compose/docker-compose.dev.yml
COMPOSE_STG = -f infra/compose/docker-compose.stg.yml
COMPOSE_PRO = -f infra/compose/docker-compose.pro.yml
COMPOSE_PROXY = -f infra/compose/docker-compose.proxy.yml
DEV_COMPOSE = docker compose --env-file env/.env.dev $(COMPOSE_BASE) $(COMPOSE_DEV)
STG_COMPOSE = docker compose --env-file env/.env.stg $(COMPOSE_BASE) $(COMPOSE_STG)
PRO_COMPOSE = docker compose --env-file env/.env.pro $(COMPOSE_BASE) $(COMPOSE_PRO)
PROXY_COMPOSE = docker compose --env-file env/.env.proxy $(COMPOSE_PROXY)
DEV_MANAGE = $(DEV_COMPOSE) run --rm backend-api python manage.py
DEV_MANAGE_NO_DEPS = $(DEV_COMPOSE) run --rm --no-deps backend-api python manage.py
DEV_MANAGE_TEST = $(DEV_COMPOSE) run --rm --no-deps -e DJANGO_SETTINGS_MODULE=backend.settings.test backend-api python manage.py
DB = postgres redis
OBSERVE = alloy loki grafana
APP = backend-api backend-task-scheduler backend-task-worker frontend alienmark
.PHONY: dev-db-up dev-observe-up dev-up dev-down dev-down-v \
dev-backend-bash dev-backend-shell dev-backend-runserver \
dev-backend-makemigrations dev-backend-migrate dev-backend-createsuperuser \
dev-backend-test dev-backend-check \
dev-backend-init-tasks dev-backend-runscheduler dev-backend-runrqworker \
stg-up stg-down stg-down-v stg-backend-api-bash stg-backend-api-log stg-frontend-log \
pro-up pro-down pro-backend-api-bash pro-backend-api-log pro-frontend-log \
proxy-check proxy-network proxy-up proxy-down proxy-log
# DEVELOPMENT
dev-db-up:
$(DEV_COMPOSE) up $(DB)
dev-observe-up:
$(DEV_COMPOSE) up $(OBSERVE)
dev-up:
$(DEV_COMPOSE) up -d $(DB)
$(DEV_COMPOSE) run --rm backend-init
$(DEV_COMPOSE) up -d $(OBSERVE)
$(DEV_COMPOSE) up --build $(APP)
dev-down:
$(DEV_COMPOSE) down
dev-down-v:
$(DEV_COMPOSE) down -v
dev-backend-bash:
$(DEV_COMPOSE) run --rm backend-api bash
dev-backend-shell:
$(DEV_MANAGE) shell
dev-backend-runserver:
$(DEV_COMPOSE) run --rm --service-ports backend-api python manage.py runserver 0.0.0.0:8000
dev-backend-makemigrations:
$(DEV_MANAGE_NO_DEPS) makemigrations
dev-backend-migrate:
$(DEV_MANAGE) migrate
dev-backend-createsuperuser:
$(DEV_MANAGE) createsuperuser
dev-backend-test:
$(DEV_MANAGE_TEST) test
dev-backend-check:
$(DEV_MANAGE_NO_DEPS) check
dev-backend-init-tasks:
$(DEV_MANAGE) init_tasks
dev-backend-runscheduler:
$(DEV_MANAGE) runscheduler
dev-backend-runrqworker:
$(DEV_MANAGE) rqworker default email maintenance
# STAGING
stg-up: proxy-network
$(STG_COMPOSE) up -d $(DB)
$(STG_COMPOSE) run --rm backend-init
$(STG_COMPOSE) up -d $(OBSERVE)
$(STG_COMPOSE) up -d --build $(APP)
stg-down:
$(STG_COMPOSE) down
stg-down-v:
$(STG_COMPOSE) down -v
stg-backend-api-bash:
$(STG_COMPOSE) exec backend-api bash
stg-backend-api-log:
$(STG_COMPOSE) logs backend-api
stg-frontend-log:
$(STG_COMPOSE) logs frontend
# PRODUCTION
pro-up: proxy-network
$(PRO_COMPOSE) up -d $(DB)
$(PRO_COMPOSE) run --rm backend-init
$(PRO_COMPOSE) up -d $(OBSERVE)
$(PRO_COMPOSE) up -d --build $(APP)
pro-down:
$(PRO_COMPOSE) down
pro-backend-api-bash:
$(PRO_COMPOSE) exec backend-api bash
pro-backend-api-log:
$(PRO_COMPOSE) logs backend-api
pro-frontend-log:
$(PRO_COMPOSE) logs frontend
# PROXY
proxy-check:
$(PROXY_COMPOSE) config --quiet
proxy-network:
@docker network inspect aliencommons-proxy >/dev/null 2>&1 || docker network create aliencommons-proxy
proxy-up: proxy-network
$(PROXY_COMPOSE) up -d
proxy-down:
$(PROXY_COMPOSE) down
proxy-log:
$(PROXY_COMPOSE) logs traefik