Skip to content

Commit c0634a3

Browse files
authored
Merge pull request #1080 from cmu-delphi/m1
Fix packages incompatibility with Apple M1 by defaulting to linux/amd64 containers
2 parents 97a1eeb + 27db272 commit c0634a3

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

dev/local/Makefile

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,11 @@ LOG_DB:=delphi_database_epidata_$(NOW).log
6767
WEB_CONTAINER_ID:=$(shell docker ps -q --filter 'name=delphi_web_epidata')
6868
DATABASE_CONTAINER_ID:=$(shell docker ps -q --filter 'name=delphi_database_epidata')
6969

70+
M1=
71+
ifeq ($(shell uname -smp), Darwin arm64 arm)
72+
$(info M1 system detected, changing docker platform to linux/amd64.)
73+
override M1 =--platform linux/amd64
74+
endif
7075

7176
.PHONY=web
7277
web:
@@ -80,11 +85,14 @@ web:
8085

8186
@# Build the web_epidata image
8287
@cd repos/delphi/delphi-epidata;\
83-
docker build -t delphi_web_epidata -f ./devops/Dockerfile .;\
88+
docker build -t delphi_web_epidata\
89+
$(M1) \
90+
-f ./devops/Dockerfile .;\
8491
cd -
8592

8693
@# Run the web server
8794
@docker run --rm -p 127.0.0.1:10080:80 \
95+
$(M1) \
8896
--env "SQLALCHEMY_DATABASE_URI=$(sqlalchemy_uri)" \
8997
--env "FLASK_SECRET=abc" --env "FLASK_PREFIX=/epidata" --env "LOG_DEBUG" \
9098
--network delphi-net --name delphi_web_epidata \
@@ -102,10 +110,12 @@ db:
102110

103111
@# Build the database_epidata image
104112
@docker build -t delphi_database_epidata \
113+
$(M1) \
105114
-f repos/delphi/delphi-epidata/dev/docker/database/epidata/Dockerfile .
106115

107116
@# Run the database
108117
@docker run --rm -p 127.0.0.1:13306:3306 \
118+
$(M1) \
109119
--network delphi-net --name delphi_database_epidata \
110120
--cap-add=sys_nice \
111121
delphi_database_epidata >$(LOG_DB) 2>&1 &
@@ -120,6 +130,7 @@ db:
120130
.PHONY=py
121131
py:
122132
@docker build -t delphi_web_python \
133+
$(M1) \
123134
-f repos/delphi/delphi-epidata/dev/docker/python/Dockerfile .
124135

125136
.PHONY=all
@@ -128,6 +139,7 @@ all: db web py
128139
.PHONY=test
129140
test:
130141
@docker run -i --rm --network delphi-net \
142+
$(M1) \
131143
--mount type=bind,source=$(CWD)repos/delphi/delphi-epidata,target=/usr/src/app/repos/delphi/delphi-epidata,readonly \
132144
--mount type=bind,source=$(CWD)repos/delphi/delphi-epidata/src,target=/usr/src/app/delphi/epidata,readonly \
133145
--env "SQLALCHEMY_DATABASE_URI=$(sqlalchemy_uri)" \
@@ -137,6 +149,7 @@ test:
137149
.PHONY=bash
138150
bash:
139151
@docker run -it --rm --network delphi-net \
152+
$(M1) \
140153
--mount type=bind,source=$(CWD)repos/delphi/delphi-epidata,target=/usr/src/app/repos/delphi/delphi-epidata,readonly \
141154
--mount type=bind,source=$(CWD)repos/delphi/delphi-epidata/src,target=/usr/src/app/delphi/epidata,readonly \
142155
--env "SQLALCHEMY_DATABASE_URI=$(sqlalchemy_uri)" \

0 commit comments

Comments
 (0)