Best practice for backup/restore when using custom modules (currency_ge etc.)

Hello,

I am running Tryton 7.6 with PostgreSQL and some custom modules (for example a local currency provider module currency_ge for National Bank of Georgia rates, and a Georgian chart of accounts module).

When I backup and restore a database using pg_dump/pg_restore to another machine, the core modules work fine, but Tryton does not start because the custom modules are not present in the file system of the new server. I understand that pg_dump only contains the database, not the Python code of the modules.

My goal is to have a “portable” backup so that when I restore on another machine, everything works without manually re-installing or copying each custom module by hand.

What is the recommended best practice in Tryton for this scenario?

  • Should I keep all custom modules in a separate git repository and always deploy that repository together with the restored database?

  • Or is it better to build a custom Docker image that already contains all my modules in /modules, and then only backup/restore the PostgreSQL database?

  • Is there any supported way or common pattern to create a combined backup (database + custom modules) that Tryton developers recommend?

I would be grateful for any guidance or examples from your own deployments.

Thank you!

You can just use your custom docker image with your custom modules.
When restoring you just use your docker image.

Note that the database needs the code of the custom modules to run, so you must installl them in all of the servers where the database must be executed otherwise it can not start up.