From 77799f9d993c1c79dcdf2a9e01bb689a4ff4f7ee Mon Sep 17 00:00:00 2001 From: ale <ale@incal.net> Date: Sun, 23 Oct 2022 12:26:14 +0100 Subject: [PATCH] Try a different multi-stage Dockerfile approach The current Dockerfile fails to produce a valid image, there's an odd bug where we are pushing what looks like an intermediate to the registry. --- Dockerfile | 22 +++++++++++++--------- Dockerfile.multistage | 18 ++++++++++++++++++ feedbackloop/model.py | 2 +- 3 files changed, 32 insertions(+), 10 deletions(-) create mode 100644 Dockerfile.multistage diff --git a/Dockerfile b/Dockerfile index 352b5f5..73cbc76 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,18 +1,22 @@ -FROM registry.git.autistici.org/ai3/docker/s6-base:master AS fbl-base +FROM debian:bullseye-slim AS build +ADD . /src +WORKDIR /src RUN apt-get -q update && \ env DEBIAN_FRONTEND=noninteractive apt-get -qy install --no-install-recommends \ python3-flask python3-sqlalchemy python3-flask-sqlalchemy python3-cheroot \ python3-setuptools python3-pip && \ apt-get clean && \ - rm -fr /var/lib/apt/lists/* - -FROM fbl-base AS build -ADD . /src -WORKDIR /src -RUN python3 setup.py bdist_wheel + rm -fr /var/lib/apt/lists/* && \ + python3 setup.py bdist_wheel -FROM fbl-base +FROM registry.git.autistici.org/ai3/docker/s6-base:master COPY --from=build /src/dist/*.whl /tmp/wheels/ COPY conf/ /etc/ COPY feedbackloop.sh /usr/local/bin/feedbackloop -RUN cd /tmp/wheels && pip3 install *.whl && rm -fr /tmp/wheels +RUN apt-get -q update && \ + env DEBIAN_FRONTEND=noninteractive apt-get -qy install --no-install-recommends \ + python3-flask python3-sqlalchemy python3-flask-sqlalchemy python3-cheroot \ + python3-setuptools python3-pip && \ + apt-get clean && \ + rm -fr /var/lib/apt/lists/* && \ + cd /tmp/wheels && pip3 install *.whl && rm -fr /tmp/wheels diff --git a/Dockerfile.multistage b/Dockerfile.multistage new file mode 100644 index 0000000..352b5f5 --- /dev/null +++ b/Dockerfile.multistage @@ -0,0 +1,18 @@ +FROM registry.git.autistici.org/ai3/docker/s6-base:master AS fbl-base +RUN apt-get -q update && \ + env DEBIAN_FRONTEND=noninteractive apt-get -qy install --no-install-recommends \ + python3-flask python3-sqlalchemy python3-flask-sqlalchemy python3-cheroot \ + python3-setuptools python3-pip && \ + apt-get clean && \ + rm -fr /var/lib/apt/lists/* + +FROM fbl-base AS build +ADD . /src +WORKDIR /src +RUN python3 setup.py bdist_wheel + +FROM fbl-base +COPY --from=build /src/dist/*.whl /tmp/wheels/ +COPY conf/ /etc/ +COPY feedbackloop.sh /usr/local/bin/feedbackloop +RUN cd /tmp/wheels && pip3 install *.whl && rm -fr /tmp/wheels diff --git a/feedbackloop/model.py b/feedbackloop/model.py index 0b9f76a..3db965f 100644 --- a/feedbackloop/model.py +++ b/feedbackloop/model.py @@ -6,6 +6,6 @@ class FeedbackEntry(db.Model): id = db.Column(db.Integer, primary_key=True) sender = db.Column(db.Text, index=True) reporter = db.Column(db.Text) - is_list = db.Column(db.Boolean) + is_list = db.Column(db.Boolean, index=True) message = db.Column(db.Text) timestamp = db.Column(db.DateTime) -- GitLab