Compare commits
No commits in common. "main" and "1.4.0" have entirely different histories.
@ -1,4 +1,4 @@
|
|||||||
FROM docker.io/alpine:3.21 AS builder
|
FROM docker.io/alpine:3.19 AS builder
|
||||||
|
|
||||||
ENV POETRY_VIRTUALENVS_IN_PROJECT=true
|
ENV POETRY_VIRTUALENVS_IN_PROJECT=true
|
||||||
ENV POETRY_NO_INTERACTION=1
|
ENV POETRY_NO_INTERACTION=1
|
||||||
@ -8,6 +8,7 @@ ENV PIP_NO_CACHE_DIR=off
|
|||||||
|
|
||||||
RUN apk --no-cache add \
|
RUN apk --no-cache add \
|
||||||
yarn \
|
yarn \
|
||||||
|
poetry \
|
||||||
git \
|
git \
|
||||||
musl-dev \
|
musl-dev \
|
||||||
gcc \
|
gcc \
|
||||||
@ -19,28 +20,16 @@ RUN apk --no-cache add \
|
|||||||
jpeg-dev \
|
jpeg-dev \
|
||||||
grep \
|
grep \
|
||||||
sed \
|
sed \
|
||||||
libffi-dev \
|
libffi-dev
|
||||||
poetry
|
|
||||||
|
|
||||||
ENV FLORET_VERSION=v0.10.5
|
ENV VERSION=v1.4.0
|
||||||
|
|
||||||
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
|
RUN git clone https://github.com/mealie-recipes/mealie.git
|
||||||
WORKDIR /mealie
|
WORKDIR /mealie
|
||||||
RUN git checkout $VERSION
|
RUN git checkout $VERSION
|
||||||
|
RUN poetry install -E pgsql --only main
|
||||||
RUN poetry export --only=main --without-hashes --extras=pgsql --output=requirements.txt
|
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 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 echo "/home/mealie/app/" > /mealie/.venv/lib/python3.11/site-packages/mealie.pth
|
||||||
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
|
WORKDIR /mealie/frontend
|
||||||
RUN yarn install \
|
RUN yarn install \
|
||||||
@ -52,8 +41,26 @@ RUN yarn install \
|
|||||||
--ignore-engines
|
--ignore-engines
|
||||||
RUN echo "n" | yarn generate
|
RUN echo "n" | yarn generate
|
||||||
|
|
||||||
|
FROM docker.io/alpine:3.19 as crfpp
|
||||||
|
|
||||||
FROM docker.io/alpine:3.21
|
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
|
||||||
|
|
||||||
ENV PRODUCTION=true
|
ENV PRODUCTION=true
|
||||||
ENV TESTING=false
|
ENV TESTING=false
|
||||||
@ -68,26 +75,27 @@ RUN apk add --no-cache \
|
|||||||
python3 \
|
python3 \
|
||||||
libldap \
|
libldap \
|
||||||
zlib \
|
zlib \
|
||||||
jpeg
|
jpeg \
|
||||||
|
py3-gunicorn
|
||||||
|
|
||||||
COPY --from=builder --chown=mealie:mealie /mealie/env /py-pkgs
|
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/mealie /home/mealie/app/mealie
|
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
|
COPY --from=builder --chown=mealie:mealie /mealie/frontend/dist /home/mealie/app/static
|
||||||
|
|
||||||
RUN mkdir -p /app/data
|
RUN mkdir -p /app/data
|
||||||
RUN chown mealie:mealie /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
|
ENV HOME /home/mealie/app
|
||||||
WORKDIR /home/mealie/app
|
WORKDIR /home/mealie/app
|
||||||
USER mealie
|
USER mealie
|
||||||
|
|
||||||
ENV APP_PORT=9000
|
RUN /py-pkgs/bin/python /home/mealie/app/mealie/scripts/install_model.py
|
||||||
ENV HOST=0.0.0.0
|
|
||||||
|
|
||||||
EXPOSE 9000
|
EXPOSE 9000
|
||||||
VOLUME ["/app/data"]
|
VOLUME ["/app/data"]
|
||||||
CMD ["/py-pkgs/bin/python", "mealie/main.py"]
|
CMD ["uvicorn", "mealie.app:app", "--host", "0.0.0.0", "--port", "9000"]
|
||||||
|
Loading…
Reference in New Issue
Block a user