This repository was archived by the owner on Jan 19, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMakefile
More file actions
155 lines (117 loc) · 5.03 KB
/
Makefile
File metadata and controls
155 lines (117 loc) · 5.03 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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
ARGS = $(filter-out $@,$(MAKECMDGOALS))
list:
@sh -c "echo; $(MAKE) -p no_targets__ | awk -F':' '/^[a-zA-Z0-9][^\$$#\/\\t=]*:([^=]|$$)/ {split(\$$1,A,/ /);for(i in A)print A[i]}' | grep -v '__\$$' | grep -v 'Makefile'| sort"
#############################
# Main actions
#############################
install:
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Checking docker binary (may use sudo):\033[0m"
which docker || ( \
curl -fsSL https://get.docker.com -o /tmp/get-docker.sh && \
sh /tmp/get-docker.sh \
bash -c "sudo usermod -aG docker ${USER}" \
echo "You may need to restart your laptop before starting the local environment." \
exit 1 \
)
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Checking docker-compose binary (may use sudo):\033[0m"
which docker-compose || ( \
sudo curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose && \
sudo chmod +x /usr/local/bin/docker-compose \
)
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Checking mkcert binary (may use sudo):\033[0m"
which mkcert || ( \
wget -P /tmp/ https://github.com/FiloSottile/mkcert/releases/download/v1.3.0/mkcert-v1.3.0-linux-amd64 && \
chmod +x /tmp/mkcert-v1.3.0-linux-amd64 && \
sudo mv -f /tmp/mkcert-v1.3.0-linux-amd64 /usr/local/bin/mkcert \
)
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "mkcert certificate storage installation:\033[0m"
mkcert -install
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Create *.ryzencontroller.localhost certificate:\033[0m"
mkcert -cert-file "./docker/traefik/certs/_wildcard.ryzencontroller.localhost.pem" \
-key-file "./docker/traefik/certs/_wildcard.ryzencontroller.localhost.key" \
"*.ryzencontroller.localhost"
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Docker build:\033[0m"
docker-compose build
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Admin yarn install:\033[0m"
docker-compose run --rm admin yarn install --frozen-lockfile
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Encore yarn install:\033[0m"
docker-compose run --rm yarn
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Building app assets:\033[0m"
docker-compose run --rm yarn encore dev
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Starting services:\033[0m"
docker-compose up -d
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Create jwt key:\033[0m"
docker-compose exec php bin/create-jwt-keys
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Fix file's permissions:\033[0m"
bash -c "sudo chown `id -u`:`id -g` -R ."
@echo "\n\033[1;34m----------------------------------------------------------------------"
@echo "Waiting for container php to be ready (See api/docker/php/docker-entrypoint.sh):\033[0m"
@bash -c "until docker-compose exec php ls /tmp/ready > /dev/null 2>&1; do sleep 1; done;"
@echo "\n\033[1;32m----------------------------------------------------------------------"
@echo "Installation done. Services available:\033[0m"
@echo "- http://localhost:8080/ => traefik router"
@echo "- https://api.ryzencontroller.localhost/"
@echo "- https://admin.ryzencontroller.localhost/"
@echo "- Database: tcp://localhost:5432/"
permission-fix:
bash -c "sudo chown `id -u`:`id -g` -R ."
uninstall: permission-fix
docker-compose down -v
git clean -fdx
#############################
# Docker machine states
#############################
logs:
docker-compose logs -f --tail=10 ${ARGS}
state:
docker-compose ps
start:
docker-compose start
__silent-start:
@docker-compose start > /dev/null 2>&1
restart:
docker-compose restart
stop:
docker-compose stop
after-dockerfile-update:
docker-compose down
docker-compose build --pull
docker-compose up -d
after-dockercompose-update:
docker-compose up -d
#############################
# Toolsets
#############################
admin-yarn: __silent-start
docker-compose stop admin
docker-compose run --rm admin yarn ${ARGS}
yarn:
docker-compose run --rm yarn ${ARGS}
shell: __silent-start
docker-compose exec php sh -c "${ARGS}"
__no-tty-shell: __silent-start
@docker-compose exec -T php sh -c "${ARGS}"
console: __silent-start
docker-compose exec php bin/console ${ARGS}
composer: __silent-start
docker-compose exec php composer ${ARGS}
docker-compose exec php bin/console cache:clear
db-psql: __silent-start
docker-compose exec db psql postgres://api-platform:\!ChangeMe\!@db/api ${ARGS}
#############################
# To avoid ${ARGS} errors
#############################
%::
@: