equal
deleted
inserted
replaced
|
1 # set base image (host OS) |
|
2 FROM docker.io/python:alpine as base |
|
3 |
|
4 ARG DEV=false |
|
5 ENV PATH="/code/.venv/bin:$PATH" |
|
6 WORKDIR /code |
|
7 |
|
8 FROM base as builder |
|
9 |
|
10 ENV POETRY_NO_INTERACTION=1 \ |
|
11 POETRY_VIRTUALENVS_IN_PROJECT=1 \ |
|
12 POETRY_VIRTUALENVS_CREATE=1 \ |
|
13 POETRY_CACHE_DIR=/tmp/poetry_cache |
|
14 |
|
15 RUN \ |
|
16 apk add --no-cache libmemcached zlib && \ |
|
17 apk add --no-cache musl-dev build-base libmemcached-dev zlib-dev linux-headers |
|
18 |
|
19 |
|
20 # Install Poetry |
|
21 RUN pip install poetry |
|
22 |
|
23 # Install the app |
|
24 COPY src/pyproject.toml src/poetry.lock ./ |
|
25 RUN if [ $DEV ]; then \ |
|
26 poetry install --with dev --no-root && rm -rf $POETRY_CACHE_DIR; \ |
|
27 else \ |
|
28 poetry install --without dev --no-root && rm -rf $POETRY_CACHE_DIR; \ |
|
29 fi |
|
30 |
|
31 FROM base as runtime |
|
32 |
|
33 RUN apk add --no-cache libmemcached zlib bash |
|
34 |
|
35 COPY --from=builder /code/.venv /code/.venv |
|
36 COPY src/catedit /code/catedit |
|
37 COPY docker/catedit.yml /code/ |
|
38 COPY docker/config.py /code/ |
|
39 ENV CATEDIT_SETTINGS=/code/config.py |
|
40 |
|
41 |
|
42 CMD ["uwsgi", "--yaml", "/code/catedit.yml"] |