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