details:   https://code.tryton.org/tryton-docker/commit/737c5236a7eb
branch:    default
user:      Cédric Krier <[email protected]>
date:      Tue Oct 06 08:05:41 2026 +0200
description:
        Add 8.2 series
diffstat:

 .gitlab-ci.yml        |   6 +-
 8.2/Dockerfile        |  79 +++++++++++++++++++++++++++++++++++++++++++++++++++
 8.2/entrypoint.sh     |  24 +++++++++++++++
 8.2/gunicorn.conf.py  |   9 +++++
 8.2/office/Dockerfile |  13 ++++++++
 8.2/trytond.conf      |   3 +
 6 files changed, 131 insertions(+), 3 deletions(-)

diffs (176 lines):

diff -r 1fa47780a03a -r 737c5236a7eb .gitlab-ci.yml
--- a/.gitlab-ci.yml    Mon Sep 14 11:27:31 2026 +0200
+++ b/.gitlab-ci.yml    Tue Oct 06 08:05:41 2026 +0200
@@ -12,7 +12,7 @@
 .series:
   parallel:
     matrix:
-      - SERIES: ["7.0", "7.8", "8.0"]
+      - SERIES: ["7.0", "7.8", "8.0", "8.2"]
 
 build:
   stage: build
@@ -95,7 +95,7 @@
     - crane push image.tar tryton/tryton:latest
   parallel:
     matrix:
-      - SERIES: "8.0"
+      - SERIES: "8.2"
   resource_group: publish
 
 publish-office-latest:
@@ -108,5 +108,5 @@
     - crane push image.tar tryton/tryton:office
   parallel:
     matrix:
-      - SERIES: "8.0"
+      - SERIES: "8.2"
   resource_group: publish
diff -r 1fa47780a03a -r 737c5236a7eb 8.2/Dockerfile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/8.2/Dockerfile    Tue Oct 06 08:05:41 2026 +0200
@@ -0,0 +1,79 @@
+FROM node AS builder-node
+ENV SERIES=8.2
+RUN curl -L https://downloads.tryton.org/${SERIES}/tryton-sao-last.tgz | tar 
zxf - -C /
+RUN cd /package && npm install --production --legacy-peer-deps
+
+WORKDIR /tinymce
+RUN npm install tinymce@^7
+RUN curl 
https://download.tiny.cloud/tinymce/community/languagepacks/4/langs.zip -o 
/tmp/langs.zip \
+    && unzip -d node_modules/tinymce /tmp/langs.zip \
+    && (cd node_modules/tinymce/langs && \
+        for l in ??_??.js; do \
+        [ ! -e ${l%_??.js}.js ] && cp $l ${l%_??.js}.js && sed -i -e 
"1s@${l%.js}@${l%_??.js}@" ${l%_??.js}.js || true; \
+        done) \
+    && mv node_modules/tinymce /package
+
+FROM debian:13-slim
+LABEL maintainer="Tryton <[email protected]>" \
+    org.label-schema.name="Tryton" \
+    org.label-schema.url="http://www.tryton.org/"; \
+    org.label-schema.vendor="Tryton" \
+    org.label-schema.version="8.2" \
+    org.label-schema.schema-version="1.0"
+
+ENV SERIES=8.2
+ENV LANG=C.UTF-8
+
+RUN groupadd -r trytond \
+    && useradd --no-log-init -r -d /var/lib/trytond -m -g trytond trytond \
+    && mkdir /var/lib/trytond/db && chown trytond:trytond /var/lib/trytond/db \
+    && mkdir /var/lib/trytond/www \
+    && mkdir -p /etc/python3 \
+    && echo "[DEFAULT]\nbyte-compile = standard, optimize" \
+        > /etc/python3/debian_config
+
+RUN apt-get update \
+    && apt-get install -y --no-install-recommends \
+        curl \
+        python3 \
+        python3-pip \
+        python3-wheel \
+        gunicorn \
+        python3-argcomplete \
+        bash-completion \
+        graphviz \
+    && rm -rf /var/lib/apt/lists/*
+
+RUN mkdir -p /etc/bash_completion.d \
+    && activate-global-python-argcomplete
+
+COPY pip-constraints.txt* /root/pip-constraints.txt
+RUN export PIP_CONSTRAINT=/root/pip-constraints.txt \
+    && touch /root/pip-constraints.txt \
+    && pip3 install --break-system-packages --no-cache-dir \
+    
"trytond[PostgreSQL,Levenshtein,barcode,coroutine,email-validation,html2text,image,mjml,qrcode,weasyprint]
 == ${SERIES}.*" \
+    "psycopg[pool,binary] >= 3" \
+    "proteus == ${SERIES}.*" \
+    && for module in `curl -L 
https://downloads.tryton.org/${SERIES}/modules.txt`; do \
+        pip3 install --break-system-packages --no-cache-dir "trytond_${module} 
== ${SERIES}.*" || exit 1; \
+        done \
+    && pip3 install --break-system-packages --no-cache-dir \
+        pwdlib[bcrypt] \
+        phonenumberslite \
+        pycountry \
+        python-stdnum[SOAP] \
+        schwifty \
+    && python3 -m compileall -r 10 -o 1 -q
+
+COPY --from=builder-node /package /var/lib/trytond/www
+COPY entrypoint.sh /
+COPY trytond.conf /etc/trytond.conf
+COPY gunicorn.conf.py /etc/gunicorn.conf.py
+
+EXPOSE 8000
+
+VOLUME ["/var/lib/trytond/db"]
+ENV TRYTOND_CONFIG=/etc/trytond.conf
+USER trytond
+ENTRYPOINT ["/entrypoint.sh"]
+CMD ["gunicorn", "--config=/etc/gunicorn.conf.py"]
diff -r 1fa47780a03a -r 737c5236a7eb 8.2/entrypoint.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/8.2/entrypoint.sh Tue Oct 06 08:05:41 2026 +0200
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+set -e
+
+quote() {
+    python3 -c 'import sys; from urllib.parse import quote; 
print(quote(sys.argv[1]))' "$1"
+}
+
+: ${DB_USER:=${POSTGRES_ENV_POSTGRES_USER:='postgres'}}
+: ${DB_PASSWORD:=${POSTGRES_ENV_POSTGRES_PASSWORD}}
+: ${DB_HOSTNAME:=${POSTGRES_PORT_5432_TCP_ADDR:='postgres'}}
+: ${DB_PORT:=${POSTGRES_PORT_5432_TCP_PORT:='5432'}}
+: ${TRYTOND_DATABASE_URI:="postgresql://$(quote "${DB_USER}"):$(quote 
"${DB_PASSWORD}")@${DB_HOSTNAME}:${DB_PORT}/"}
+: ${TRYTOND_HTML__SRC:='/tinymce/tinymce.js'}
+: ${PYTHONOPTIMIZE:=1}
+: ${LANG:=C.UTF-8}
+
+export TRYTOND_DATABASE_URI TRYTOND_HTML__SRC PYTHONOPTIMIZE
+
+if [ "${1:0:1}" = '-' ]; then
+    set -- gunicorn --config=/etc/gunicorn.conf.py "$@"
+fi
+
+exec "$@"
diff -r 1fa47780a03a -r 737c5236a7eb 8.2/gunicorn.conf.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/8.2/gunicorn.conf.py      Tue Oct 06 08:05:41 2026 +0200
@@ -0,0 +1,9 @@
+import os
+
+wsgi_app = 'trytond.application:app'
+bind = '0.0.0.0:8000'
+raw_env = [
+    'TRYTOND_CONFIG=%s' % os.environ.get('TRYTOND_CONFIG', ''),
+    'TRYTOND_DATABASE_URI=%s' % os.environ.get('TRYTOND_DATABASE_URI', ''),
+    'PYTHONOPTIMIZE=%s' % os.environ.get('PYTHONOPTIMIZE'),
+    ]
diff -r 1fa47780a03a -r 737c5236a7eb 8.2/office/Dockerfile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/8.2/office/Dockerfile     Tue Oct 06 08:05:41 2026 +0200
@@ -0,0 +1,13 @@
+FROM ${REGISTRY_IMAGE:-tryton}/tryton:8.2${TAG_SUFFIX}
+LABEL org.label-schema.version="8.2-office"
+
+USER root
+
+RUN apt-get update \
+    && apt-get install -y --no-install-recommends \
+        libreoffice-nogui \
+        fonts-liberation2 \
+        weasyprint python3-munkres \
+    && rm -rf /var/lib/apt/lists/*
+
+USER trytond
diff -r 1fa47780a03a -r 737c5236a7eb 8.2/trytond.conf
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/8.2/trytond.conf  Tue Oct 06 08:05:41 2026 +0200
@@ -0,0 +1,3 @@
+[web]
+listen=0.0.0.0:8000
+root=/var/lib/trytond/www

Reply via email to