diff --git a/15.0.Dockerfile b/15.0.Dockerfile
index 1598b4bed3e7d69415fc4e682590f7b4f08edb59..e7b972c53e00df440980ae1ef7d5554c886bac6f 100644
--- a/15.0.Dockerfile
+++ b/15.0.Dockerfile
@@ -1,10 +1,27 @@
 FROM python:3.10-slim-bullseye AS builder
 RUN set -x; \
   apt-get update \
-  && apt-get install --yes --no-install-recommends build-essential libldap2-dev libpq-dev libsasl2-dev \
-  && pip install 'wheel' \
-  && pip wheel --wheel-dir=/svc/wheels --requirement 'https://raw.githubusercontent.com/oca/OCB/15.0/requirements.txt' \
-  && pip wheel --wheel-dir=/svc/wheels 'phonenumbers' 'simplejson' 'openupgradelib' 'PyYAML'
+  && apt-get install --yes --no-install-recommends \
+    build-essential \
+    curl \
+    libldap2-dev \
+    libpq-dev \
+    libsasl2-dev
+  
+RUN pip install 'wheel' \
+  && requirements_file='/opt/requirements_custom.txt' \
+  && curl --location --output "$requirements_file" 'https://raw.githubusercontent.com/oca/OCB/15.0/requirements.txt' \
+  && sed -i \
+    -e 's/gevent==[0-9\.]*/gevent==22.10.2/' \
+    -e 's/greenlet==[0-9\.]*/greenlet==2.0.2/' \
+    "$requirements_file" \
+  && cat <<EOF >> "$requirements_file" \
+  && pip wheel --wheel-dir=/svc/wheels --requirement "$requirements_file"
+phonenumbers
+simplejson
+openupgradelib
+PyYAML
+EOF
 
 
 FROM python:3.10-slim-bullseye AS final
@@ -31,8 +48,8 @@ RUN set -x; \
   && rm -rf /var/lib/apt/lists/* wkhtmltox.deb
 
 COPY --from=builder /svc /svc
-RUN pip3 install --no-index --find-links=/svc/wheels --requirement 'https://raw.githubusercontent.com/oca/OCB/15.0/requirements.txt' \
-  && pip3 install --upgrade --no-index --find-links=/svc/wheels 'phonenumbers' 'simplejson' 'openupgradelib' 'PyYAML'
+COPY --from=builder /opt/requirements_custom.txt /opt/requirements_custom.txt
+RUN pip3 install --no-index --find-links=/svc/wheels --requirement /opt/requirements_custom.txt
 
 ARG SAVE_COMMITS_DIR='/opt/odoo_commits/'
 ENV SAVE_COMMITS_DIR=$SAVE_COMMITS_DIR