3
3
# TODO: add flavours by combinging docker-compose files. Namely development, test and production.
4
4
VERSION := $(shell uname -a)
5
5
# SAN this is a hack so that docker-compose works in the linux virtual environment under Windows
6
+ WINDOWS_MODE =OFF
6
7
ifneq (,$(findstring Microsoft,$(VERSION ) ) )
7
8
$(info detected WSL)
8
9
export DOCKER_COMPOSE =docker-compose
@@ -11,13 +12,22 @@ export RUN_DOCKER_ENGINE_ROOT=1
11
12
# Windows does not have these things defined... but they are needed to execute a local swarm
12
13
export DOCKER_GID =1042
13
14
export HOST_GID =1000
15
+ WINDOWS_MODE =ON
14
16
else ifeq ($(OS), Windows_NT)
15
17
$(info detected Powershell/CMD)
16
18
export DOCKER_COMPOSE =docker-compose.exe
17
19
export DOCKER =docker.exe
18
20
export RUN_DOCKER_ENGINE_ROOT =1
19
21
export DOCKER_GID =1042
20
22
export HOST_GID =1000
23
+ WINDOWS_MODE =ON
24
+ else ifneq (,$(findstring Darwin,$(VERSION)))
25
+ $(info detected OSX)
26
+ export DOCKER_COMPOSE =docker-compose
27
+ export DOCKER =docker
28
+ export RUN_DOCKER_ENGINE_ROOT =1
29
+ export DOCKER_GID =1042
30
+ export HOST_GID =1000
21
31
else
22
32
$(info detected native linux)
23
33
export DOCKER_COMPOSE =docker-compose
30
40
31
41
PY_FILES = $(strip $(shell find services packages -iname '* .py' -not -path "* egg* " -not -path "* contrib* " -not -path "* -sdk/python* " -not -path "* generated_code* " -not -path "* datcore.py" -not -path "* web/server* ") )
32
42
43
+ TEMPCOMPOSE := $(shell mktemp)
44
+
33
45
export PYTHONPATH=${CURDIR}/packages/s3wrapper/src :${CURDIR}/packages/simcore-sdk/src
34
46
35
47
all :
@@ -49,6 +61,10 @@ rebuild-devel:
49
61
up-devel :
50
62
${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.devel.yml -f services/docker-compose.tools.yml up
51
63
64
+ up-webclient-devel : up-swarm-devel remove-intermediate-file file-watcher
65
+ ${DOCKER} service rm services_webclient
66
+ ${DOCKER_COMPOSE} -f services/web/client/docker-compose.yml up qx
67
+
52
68
build :
53
69
${DOCKER_COMPOSE} -f services/docker-compose.yml build
54
70
60
76
61
77
up-swarm :
62
78
${DOCKER} swarm init
63
- ${DOCKER} stack deploy -c services/docker-compose.yml -c services/docker-compose.deploy.yml -c services/docker-compose.tools.yml services
79
+ ${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.deploy.yml -f services/docker-compose.tools.yml config > $(TEMPCOMPOSE ) .tmp-compose.yml ;
80
+ ${DOCKER} stack deploy -c $(TEMPCOMPOSE ) .tmp-compose.yml services
64
81
65
82
up-swarm-devel :
66
83
${DOCKER} swarm init
67
- ${DOCKER} stack deploy -c services/docker-compose.yml -c services/docker-compose.devel.yml -c services/docker-compose.deploy.devel.yml -c services/docker-compose.tools.yml services
84
+ ${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.devel.yml -f services/docker-compose.deploy.devel.yml -f services/docker-compose.tools.yml config > $(TEMPCOMPOSE ) .tmp-compose.yml
85
+ ${DOCKER} stack deploy -c $(TEMPCOMPOSE ) .tmp-compose.yml services
86
+
87
+ ifeq ($(WINDOWS_MODE ) ,ON)
88
+ remove-intermediate-file :
89
+ $(info .tmp-compose.yml not removed)
90
+ else
91
+ remove-intermediate-file :
92
+ rm $(TEMPCOMPOSE ) .tmp-compose.yml
93
+ endif
94
+
95
+ ifeq ($(WINDOWS_MODE ) ,ON)
96
+ file-watcher :
97
+ pip install docker-windows-volume-watcher
98
+ # unfortunately this is not working properly at the moment
99
+ # docker-windows-volume-watcher python package will be installed but not executed
100
+ # you will have to run 'docker-volume-watcher *qx*' in a different process in ./services/web/client/source
101
+ # docker-volume-watcher &
102
+ else
103
+ file-watcher :
104
+ true
105
+ endif
68
106
69
107
down :
70
- ${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.tools.yml down
108
+ ${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.tools.yml down
71
109
${DOCKER_COMPOSE} -f services/docker-compose.yml -f services/docker-compose.devel.yml down
72
110
73
111
down-swarm :
@@ -155,4 +193,4 @@ push_platform_images:
155
193
156
194
157
195
158
- .PHONY : all clean build-devel rebuild-devel up-devel build up down test after_test push_platform_images
196
+ .PHONY : all clean build-devel rebuild-devel up-devel build up down test after_test push_platform_images file-watcher up-webclient-devel
0 commit comments