|
1 # set base image (host OS) |
|
2 FROM docker.io/python:2.7-alpine as builder |
|
3 |
|
4 ENV VIRTUALENV=/opt/venv |
|
5 |
|
6 # set the working directory in the container |
|
7 WORKDIR /code |
|
8 |
|
9 RUN \ |
|
10 pip install virtualenv && \ |
|
11 virtualenv $VIRTUALENV |
|
12 |
|
13 ENV PATH="$VIRTUALENV/bin:$PATH" |
|
14 |
|
15 # copy the dependencies file to the working directory |
|
16 COPY docker/server/requirements.txt . |
|
17 |
|
18 |
|
19 RUN \ |
|
20 apk add --no-cache postgresql-client postgresql-libs libxml2 libxslt libmemcached curl tar && \ |
|
21 apk add --no-cache --virtual .build-deps git gcc musl-dev postgresql-dev libxml2-dev libxslt-dev linux-headers libmemcached-dev libffi-dev libgcc openssl-dev curl jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev && \ |
|
22 pip install -r requirements.txt && \ |
|
23 curl -L https://www.iri.centrepompidou.fr/dev/hg/renkan/archive/V00.13.04.tar.gz | tar zxvf - --strip-components=4 renkan-V00.13.04/server/python/django/renkanmanager |
|
24 |
|
25 |
|
26 FROM docker.io/python:2.7-alpine |
|
27 |
|
28 COPY --from=builder /opt/venv /opt/venv |
|
29 COPY --from=builder /code/renkanmanager /code/renkanmanager |
|
30 COPY src/ /code/ |
|
31 |
|
32 |
|
33 ENV BASEDIR="/code" |
|
34 ENV PATH="/opt/venv/bin:$BASEDIR:$PATH" |
|
35 |
|
36 WORKDIR $BASEDIR |
|
37 |
|
38 RUN \ |
|
39 apk add --no-cache postgresql-client postgresql-libs libxml2 libxslt bash libmemcached py-pathlib2 jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev && \ |
|
40 mkdir -p /static |
|
41 |
|
42 |
|
43 COPY docker/server/config.py ./hdalab/ |
|
44 |
|
45 COPY docker/server/hdalab.yml . |
|
46 COPY --chmod=0755 docker/server/entrypoint.sh / |
|
47 |
|
48 ENV PYTHONPATH "/code/" |
|
49 ENV DJANGO_SETTINGS_MODULE hdalab.settings |
|
50 ENV DEBUG "False" |
|
51 ENV DATABASE_URL "" |
|
52 ENV ES_HOST "es" |
|
53 ENV DJANGO_SECRET "" |
|
54 ENV ADMIN_EMAIL "" |
|
55 ENV BROKER_PASSWORD "" |
|
56 |
|
57 |
|
58 EXPOSE 8000 |
|
59 |
|
60 ENTRYPOINT ["/entrypoint.sh"] |
|
61 |
|
62 # command to run on container start |
|
63 CMD [ "/opt/venv/bin/uwsgi", "--yaml", "/code/hdalab.yml"] |