details:   https://code.tryton.org/tryton-docker/commit/3c794d01d223
branch:    default
user:      Cédric Krier <[email protected]>
date:      Mon Dec 15 22:05:29 2025 +0100
description:
        Add 7.8 series
diffstat:

 .gitlab-ci.yml        |    8 +-
 7.8/Dockerfile        |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++
 7.8/entrypoint.sh     |   24 +++++++++++
 7.8/gunicorn.conf.py  |    9 ++++
 7.8/office/Dockerfile |   13 +++++
 7.8/trytond.conf      |    3 +
 6 files changed, 162 insertions(+), 4 deletions(-)

diffs (215 lines):

diff -r 6eaf1408c321 -r 3c794d01d223 .gitlab-ci.yml
--- a/.gitlab-ci.yml    Tue Nov 04 13:01:29 2025 +0100
+++ b/.gitlab-ci.yml    Mon Dec 15 22:05:29 2025 +0100
@@ -12,7 +12,7 @@
 .series:
   parallel:
     matrix:
-      - SERIES: ["6.0", "7.0", "7.2", "7.4", "7.6"]
+      - SERIES: ["6.0", "7.0", "7.2", "7.4", "7.6", "7.8"]
 
 build:
   stage: build
@@ -65,7 +65,7 @@
     - trytond-admin -d test -u $modules -vv
   parallel:
     matrix:
-      - SERIES: ["7.0", "7.2", "7.4", "7.6"]
+      - SERIES: ["7.0", "7.2", "7.4", "7.6", "7.8"]
 
 test-old:
   extends: test
@@ -117,7 +117,7 @@
     - crane push image-${SERIES}.tar tryton/tryton:latest
   parallel:
     matrix:
-      - SERIES: "7.6"
+      - SERIES: "7.8"
   resource_group: publish
 
 publish-office-latest:
@@ -130,5 +130,5 @@
     - crane push image-${SERIES}-office.tar tryton/tryton:office
   parallel:
     matrix:
-      - SERIES: "7.6"
+      - SERIES: "7.8"
   resource_group: publish
diff -r 6eaf1408c321 -r 3c794d01d223 7.8/Dockerfile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/7.8/Dockerfile    Mon Dec 15 22:05:29 2025 +0100
@@ -0,0 +1,109 @@
+FROM node AS builder-node
+ENV SERIES 7.8
+RUN npm install -g bower
+RUN curl -L https://downloads.tryton.org/${SERIES}/tryton-sao-last.tgz | tar 
zxf - -C /
+RUN cd /package && bower install --allow-root
+
+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:12-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="7.8" \
+    org.label-schema.schema-version="1.0"
+
+ENV SERIES 7.8
+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-setuptools \
+        python3-wheel \
+        gunicorn \
+        python3-argcomplete \
+        bash-completion \
+        # trytond
+        python3-argon2 \
+        python3-bcrypt \
+        python3-genshi \
+        python3-gevent \
+        python3-html2text \
+        python3-pil \
+        python3-levenshtein \
+        python3-lxml \
+        python3-polib \
+        python3-psycopg2 \
+        python3-pydot \
+        python3-werkzeug \
+        python3-wrapt \
+        # modules
+        python3-dateutil \
+        python3-ldap3 \
+        python3-magic \
+        python3-ofxparse \
+        python3-pypdf \
+        python3-pysimplesoap \
+        python3-requests \
+        python3-simpleeval \
+        python3-tz \
+        python3-yaml \
+        python3-zeep \
+    && 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 == ${SERIES}.*" \
+    "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 \
+        python-barcode[images] \
+        qrcode[pil] \
+        webcolors \
+        email-validator \
+        dnspython \
+        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 6eaf1408c321 -r 3c794d01d223 7.8/entrypoint.sh
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/7.8/entrypoint.sh Mon Dec 15 22:05:29 2025 +0100
@@ -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 6eaf1408c321 -r 3c794d01d223 7.8/gunicorn.conf.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/7.8/gunicorn.conf.py      Mon Dec 15 22:05:29 2025 +0100
@@ -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 6eaf1408c321 -r 3c794d01d223 7.8/office/Dockerfile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/7.8/office/Dockerfile     Mon Dec 15 22:05:29 2025 +0100
@@ -0,0 +1,13 @@
+FROM ${REGISTRY_IMAGE:-tryton}/tryton:7.8${TAG_SUFFIX}
+LABEL org.label-schema.version="7.8-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 6eaf1408c321 -r 3c794d01d223 7.8/trytond.conf
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/7.8/trytond.conf  Mon Dec 15 22:05:29 2025 +0100
@@ -0,0 +1,3 @@
+[web]
+listen=0.0.0.0:8000
+root=/var/lib/trytond/www

Reply via email to