Compare commits

...

6 commits

Author SHA1 Message Date
5ac5c16937
push to 2.8.0
Some checks failed
Build Multiarch Container Image / call-reusable-workflow (push) Failing after 6m47s
2025-04-24 11:03:32 +02:00
e2ce7ed14a
push to 2.4.2
Some checks failed
Build Multiarch Container Image / call-reusable-workflow (push) Failing after 6m40s
2025-01-10 16:08:37 +01:00
d4d8857899
push to 2.3.0
Some checks failed
Build Multiarch Container Image / call-reusable-workflow (push) Failing after 5m20s
2024-11-27 11:40:54 +01:00
571c36b7e2
push to 2.1.0
All checks were successful
Build Multiarch Container Image / call-reusable-workflow (push) Successful in 53m53s
2024-11-01 10:10:59 +01:00
cddf5597d6
push to 2.0.0
All checks were successful
Build Multiarch Container Image / call-reusable-workflow (push) Successful in 53m52s
2024-10-23 10:59:35 +02:00
50c31b93a6
push to 2.0.0 2024-10-23 10:26:33 +02:00

View file

@ -1,4 +1,4 @@
FROM docker.io/alpine:3.19 AS builder
FROM docker.io/alpine:3.21 AS builder
ENV POETRY_VIRTUALENVS_IN_PROJECT=true
ENV POETRY_NO_INTERACTION=1
@ -8,7 +8,6 @@ ENV PIP_NO_CACHE_DIR=off
RUN apk --no-cache add \
yarn \
poetry \
git \
musl-dev \
gcc \
@ -20,16 +19,28 @@ RUN apk --no-cache add \
jpeg-dev \
grep \
sed \
libffi-dev
libffi-dev \
poetry
ENV VERSION=13edefbf4168ee56f12a1ab5d9d1358094772b09
ENV FLORET_VERSION=v0.10.5
RUN git clone https://github.com/explosion/floret.git /floret
RUN cd /floret && git checkout $FLORET_VERSION
RUN sed -i '/^#include <vector>/a #include <cstdint>' /floret/src/args.h
ENV VERSION=v2.8.0
RUN git clone https://github.com/mealie-recipes/mealie.git
WORKDIR /mealie
RUN git checkout $VERSION
RUN poetry install -E pgsql --only main
RUN find .venv/bin -type f -exec grep -lZ "^#!/mealie/.venv/bin/python" {} + | xargs -0 -I {} sed -i "1s|^#!/mealie/.venv/bin/python|#!/py-pkgs/bin/python|" {}
RUN echo "/home/mealie/app/" > /mealie/.venv/lib/python3.11/site-packages/mealie.pth
RUN poetry export --only=main --without-hashes --extras=pgsql --output=requirements.txt
RUN sed -i 's|floret==0.10.5 ; python_version >= "3.12" and python_version < "3.13"|floret @ file:///floret ; python_version >= "3.12" and python_version < "3.13"|' requirements.txt
RUN python3 -m venv env
RUN env/bin/pip3 install -r requirements.txt
RUN find env/bin -type f -exec grep -lZ "^#!/mealie/env/bin/python" {} + | xargs -0 -I {} sed -i "1s|^#!/mealie/env/bin/python|#!/py-pkgs/bin/python|" {}
RUN echo "/home/mealie/app/" > /mealie/env/lib/python3.12/site-packages/mealie.pth
WORKDIR /mealie/frontend
RUN yarn install \
@ -41,26 +52,8 @@ RUN yarn install \
--ignore-engines
RUN echo "n" | yarn generate
FROM docker.io/alpine:3.19 as crfpp
ENV VERSION=c56dd9f29469c8a9f34456b8c0d6ae0476110516
RUN apk --no-cache add \
g++ \
make \
git
RUN git clone https://github.com/mealie-recipes/crfpp.git
WORKDIR /crfpp
RUN git checkout $VERSION
COPY config.guess .
COPY config.sub .
RUN ./configure --prefix=/
RUN make
RUN make DESTDIR=/dist install
FROM docker.io/alpine:3.19
FROM docker.io/alpine:3.21
ENV PRODUCTION=true
ENV TESTING=false
@ -75,27 +68,26 @@ RUN apk add --no-cache \
python3 \
libldap \
zlib \
jpeg \
py3-gunicorn
jpeg
COPY --from=crfpp /dist/bin /bin/
COPY --from=crfpp /dist/lib /lib/
COPY --from=builder --chown=mealie:mealie /mealie/.venv /py-pkgs
COPY --from=builder --chown=mealie:mealie /mealie/env /py-pkgs
COPY --from=builder --chown=mealie:mealie /mealie/mealie /home/mealie/app/mealie
COPY --from=builder --chown=mealie:mealie /mealie/gunicorn_conf.py /home/mealie/app/gunicorn_conf.py
COPY --from=builder --chown=mealie:mealie /mealie/alembic.ini /home/mealie/app/alembic.ini
COPY --from=builder --chown=mealie:mealie /mealie/alembic /home/mealie/app/alembic
COPY --from=builder --chown=mealie:mealie /mealie/frontend/dist /home/mealie/app/static
RUN mkdir -p /app/data
RUN chown mealie:mealie /app/data
ENV NLTK_DATA="/nltk_data/"
RUN mkdir -p $NLTK_DATA
RUN /py-pkgs/bin/python -m nltk.downloader -d $NLTK_DATA averaged_perceptron_tagger_eng
ENV HOME /home/mealie/app
WORKDIR /home/mealie/app
USER mealie
RUN /py-pkgs/bin/python /home/mealie/app/mealie/scripts/install_model.py
ENV APP_PORT=9000
ENV HOST=0.0.0.0
EXPOSE 9000
VOLUME ["/app/data"]
CMD ["uvicorn", "mealie.app:app", "--host", "0.0.0.0", "--port", "9000"]
CMD ["/py-pkgs/bin/python", "mealie/main.py"]