From 75db1b76bfcdf33f3fff1b7882cf185bf1a60e6e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com>
Date: Wed, 17 Aug 2022 11:33:27 +0200
Subject: [PATCH] [ADD] Alpine image and remove deprecated MAINTAINER

---
 .gitlab-ci.yml         | 14 +++++++++
 16.0-alpine.Dockerfile | 67 ++++++++++++++++++++++++++++++++++++++++++
 16.0.Dockerfile        |  2 --
 3 files changed, 81 insertions(+), 2 deletions(-)
 create mode 100644 16.0-alpine.Dockerfile

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 3278d5e..c6388eb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -59,3 +59,17 @@ docker-build-16.0:
     - docker push "$CI_REGISTRY_IMAGE:16.0"
   only:
     - "16.0"
+
+docker-build-16.0-alpine:
+  # Official docker image.
+  image: docker:20.10.17
+  stage: build
+  services:
+    - docker:20.10.17-dind
+  before_script:
+    - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY
+  script:
+    - docker build --pull -f 16.0-alpine.Dockerfile -t "$CI_REGISTRY_IMAGE:16.0-alpine" .
+    - docker push "$CI_REGISTRY_IMAGE:16.0-alpine"
+  only:
+    - "16.0"
diff --git a/16.0-alpine.Dockerfile b/16.0-alpine.Dockerfile
new file mode 100644
index 0000000..1b65da7
--- /dev/null
+++ b/16.0-alpine.Dockerfile
@@ -0,0 +1,67 @@
+FROM surnet/alpine-wkhtmltopdf:3.16.0-0.12.6-small as wkhtmltopdf
+
+FROM python:3.10-alpine AS builder
+RUN apk add --no-cache python3-dev libffi-dev gcc musl-dev make postgresql-dev openldap-dev cyrus-sasl-dev jpeg-dev zlib-dev libsass-dev g++
+RUN pip install wheel
+RUN echo 'INPUT ( libldap.so )' > /usr/lib/libldap_r.so
+RUN pip wheel --wheel-dir=/svc/wheels -r https://raw.githubusercontent.com/odoo/odoo/master/requirements.txt
+RUN pip wheel --wheel-dir=/svc/wheels phonenumbers simplejson openupgradelib PyYAML
+
+
+FROM python:3.10-alpine AS final
+ENV LANG=C.UTF-8 \
+    LC_ALL=C.UTF-8 \
+    PGDATABASE=odoo
+
+RUN set -x; \
+        apk add --no-cache \
+            bash \
+            git \
+            libjpeg-turbo \
+            libsass \
+            libstdc++ \
+            postgresql-client
+
+# Copy wkhtmltopdf files from docker-wkhtmltopdf image
+COPY --from=wkhtmltopdf /bin/wkhtmltopdf /bin/wkhtmltopdf
+
+COPY --from=builder /svc /svc
+RUN pip3 install --no-index --find-links=/svc/wheels -r https://raw.githubusercontent.com/odoo/odoo/master/requirements.txt &&\
+        pip3 install --no-index --find-links=/svc/wheels phonenumbers simplejson openupgradelib PyYAML
+
+# Add Git Known Hosts
+COPY ./ssh_known_git_hosts /root/.ssh/known_hosts
+
+# Install Odoo and remove not French translations and .git directory to limit amount of data used by container
+RUN set -x; \
+        adduser -h /opt/odoo -D odoo &&\
+        /bin/bash -c "mkdir -p /opt/odoo/{etc,odoo,additional_addons,private_addons,data,private}" &&\
+        # git clone -b 16.0 --depth 1 https://github.com/OCA/OCB.git /opt/odoo/odoo &&\
+        git clone -b master --depth 1 https://github.com/odoo/odoo.git /opt/odoo/odoo &&\
+        rm -rf /opt/odoo/odoo/.git &&\
+        find /opt/odoo/odoo/addons/*/i18n/ /opt/odoo/odoo/odoo/addons/base/i18n/ -type f -not -name 'fr.po' -delete &&\
+        chown -R odoo:odoo /opt/odoo
+
+# Copy entrypoint script and Odoo configuration file
+COPY ./entrypoint.sh /
+COPY ./odoo.conf /opt/odoo/etc/odoo.conf
+RUN chown odoo:odoo /opt/odoo/etc/odoo.conf
+
+# Mount /opt/odoo/data to allow restoring filestore
+VOLUME ["/opt/odoo/data/"]
+
+# Expose Odoo services
+EXPOSE 8069
+
+# Set default user when running the container
+USER odoo
+
+# Start
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["odoo"]
+
+# Metadata
+LABEL org.label-schema.schema-version="16.0" \
+      org.label-schema.vendor=LeFilament \
+      org.label-schema.license=Apache-2.0 \
+      org.label-schema.vcs-url="https://sources.le-filament.com/lefilament/odoo_docker"
diff --git a/16.0.Dockerfile b/16.0.Dockerfile
index 10124c7..79801a8 100644
--- a/16.0.Dockerfile
+++ b/16.0.Dockerfile
@@ -8,8 +8,6 @@ RUN set -x; \
 
 
 FROM python:3.10-slim-bullseye AS final
-MAINTAINER Le Filament <https://le-filament.com>
-
 ENV LANG=C.UTF-8 \
     LC_ALL=C.UTF-8 \
     PGDATABASE=odoo
-- 
GitLab