Freexian has been using Tryton for a few years to handle its invoicing and accounting. We have thus also been using the Debian packages maintained by Mathias Behrle and we have been funding some of his work because maintaining an ERP with more than 50 source packages was too much for him to handle alone on his free time.
When Mathias discovered our Project Funding initiative, it was quite natural for him to consider applying to be able to bring some much needed improvements to Tryton’s Debian packaging. He’s running his own consulting company (MBSolutions) so it’s easy for him to invoice Freexian to get the money for the funded projects.
What follows is Mathias Behrle’s description of the projects that he submitted and of the work that he achieved.
In January 2022 I applied for two projects in the Freexian Project Funding Initiative.
The starting point of this project was Debian Bug #998319: tryton-server should provide a ready-to-use production-grade server config.
To address this problem instead of only providing configuration snippets the idea was to provide a full featured guided setup of a Tryton production environment, thus eliminating the risks of trial and error for the system administrator.
- The goal of this project was to complete the available Tryton modules in Debian main with the latest set available from tryton.org and to automate the task of creating new Debian packages from Tryton modules as much as possible.
As the result of Task 1, several new packages emerged:
- tryton-server-postgresql provides the guided setup of a PostgreSQL database backend.
- tryton-server-uwsgi provides the installation and configuration of a robust WSGI server on top of tryton-server.
- tryton-server-nginx provides the configuration of a scalable web frontend to the uwsgi server, including the optional setup of secure access by Letsencrypt certificates.
- tryton-server-all-in-one puts it all together to provide a fully functional Tryton production environment, including a database filled with basic static data. With the installation of this package a robust and secure production grade setup is possible from scratch, all configuration leg work is done in the background.
The work was thoroughly reviewed by Neil Williams. Thanks go to him for his detailed feedback providing very valuable information from the view of a fresh Tryton user getting in first contact with the software. A cordial thank you as well goes to the translation teams providing initial reviews and translations for the configuration questions.
The efforts of Task 1 were completed with Task 2:
- A Tryton specific version of PyPi2deb was created to help in the preparation of new Debian packages for new Tryton modules.
- All missing Tryton modules for the current series were packaged for Debian.
On top of those two planned projects, I completed an additional task: the packaging of the Tryton Web Client.
I am very pleased that the Tryton suite in Debian has gained full coverage of Tryton modules and a user-friendly installation. The completion of the project represents a huge step forward in the state-of-the-art deployment of a production grade Tryton environment. Without the monetary support of Freexian’s project funding the realization of this project wouldn’t have been possible in this way and to this extent.