Skip to content

Commit 6d82286

Browse files
committed
System: update delphi_web_python Docker image
- merge operations repo delphi_python Dockerfile into delphi_web_python - copy Python requirements file to this directory - copy setup.sh to this directory
1 parent c6f2e80 commit 6d82286

File tree

3 files changed

+77
-1
lines changed

3 files changed

+77
-1
lines changed

dev/docker/python/Dockerfile

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
# start with the `delphi_python` image
2-
FROM delphi_python
2+
FROM python:3.8-buster
3+
4+
# use delphi's timezome
5+
RUN ln -s -f /usr/share/zoneinfo/America/New_York /etc/localtime
6+
7+
# specify a working directory inside the container
8+
WORKDIR /usr/src/app
9+
10+
# install python packages
11+
COPY repos/delphi/delphi-epidata/dev/docker/python/requirements.txt .
12+
RUN pip install --no-cache-dir -r requirements.txt
13+
14+
# copy over all source files
15+
COPY repos repos
16+
RUN chmod -R o+r repos/
17+
18+
# configure the image to match the delphi server
19+
COPY repos/delphi/delphi-epidata/dev/docker/python/setup.sh .
20+
RUN bash setup.sh
321

422
RUN pip install --no-cache-dir -r repos/delphi/delphi-epidata/requirements.txt -r repos/delphi/delphi-epidata/requirements.dev.txt

dev/docker/python/requirements.txt

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
aiohttp
2+
beautifulsoup4
3+
covidcast
4+
delphi_utils
5+
docker
6+
dropbox
7+
epiweeks
8+
Flask==1.1.2
9+
freezegun
10+
google-api-python-client
11+
lxml
12+
matplotlib
13+
mysql-connector
14+
mysqlclient==2.0.2
15+
newrelic
16+
numpy
17+
orjson==3.4.7
18+
pandas==1.2.3
19+
pycountry
20+
pymysql
21+
pytest
22+
pytest-check
23+
python-dotenv==0.15.0
24+
requests
25+
sas7bdat
26+
scikit-learn
27+
scipy==1.6.2
28+
selenium
29+
SQLAlchemy==1.3.22
30+
structlog
31+
xlrd

dev/docker/python/setup.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# This script sets up the correct directory structure within the `delphi_img`
2+
# docker image.
3+
4+
# Some notes on package structure:
5+
# - Python package names can't contain hyphens, so hyphens in repo names are
6+
# replaced with underscores in the package hierarchy. (An exception is the
7+
# repo `delphi-epidata`, which is renamed to simply `epidata`.)
8+
# - Repos are organized such that the main code for the package is inside of
9+
# a `src/` directory. When deployed, `src/` is elided. (An exception is the
10+
# legacy `undef-analysis` repo, which has sources at the top-level.)
11+
12+
# bail if anything fails
13+
set -e
14+
15+
# create python package `undefx`
16+
mkdir undefx
17+
mv repos/undefx/py3tester/src undefx/py3tester
18+
mv repos/undefx/undef-analysis undefx/undef_analysis
19+
20+
# create python package `delphi`
21+
mkdir delphi
22+
mv repos/delphi/operations/src delphi/operations
23+
mv repos/delphi/utils/src delphi/utils
24+
mv repos/delphi/github-deploy-repo/src delphi/github_deploy_repo
25+
mv repos/delphi/delphi-epidata/src delphi/epidata
26+
mv repos/delphi/flu-contest/src delphi/flu_contest
27+
mv repos/delphi/nowcast/src delphi/nowcast

0 commit comments

Comments
 (0)