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