diff -r 26faef513d90 -r 640fb0f13022 docker/server.dockerfile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/docker/server.dockerfile Wed Aug 14 22:08:14 2024 +0200 @@ -0,0 +1,42 @@ +# set base image (host OS) +FROM docker.io/python:alpine as base + +ARG DEV=false +ENV PATH="/code/.venv/bin:$PATH" +WORKDIR /code + +FROM base as builder + +ENV POETRY_NO_INTERACTION=1 \ + POETRY_VIRTUALENVS_IN_PROJECT=1 \ + POETRY_VIRTUALENVS_CREATE=1 \ + POETRY_CACHE_DIR=/tmp/poetry_cache + +RUN \ + apk add --no-cache libmemcached zlib && \ + apk add --no-cache musl-dev build-base libmemcached-dev zlib-dev linux-headers + + +# Install Poetry +RUN pip install poetry + +# Install the app +COPY src/pyproject.toml src/poetry.lock ./ +RUN if [ $DEV ]; then \ + poetry install --with dev --no-root && rm -rf $POETRY_CACHE_DIR; \ + else \ + poetry install --without dev --no-root && rm -rf $POETRY_CACHE_DIR; \ + fi + +FROM base as runtime + +RUN apk add --no-cache libmemcached zlib bash + +COPY --from=builder /code/.venv /code/.venv +COPY src/catedit /code/catedit +COPY docker/catedit.yml /code/ +COPY docker/config.py /code/ +ENV CATEDIT_SETTINGS=/code/config.py + + +CMD ["uwsgi", "--yaml", "/code/catedit.yml"] \ No newline at end of file