HowTo install Tryton on a VM

Hi All,
I’m new here, looking for guidance on installing a recent version of Tryton.

I had a long post typed with what I’ve tried so far, but unfortunately I’m new here and can only put 2 lines in a post.

Hi All,

(New users can only put 2 lines in a new post, here’s my original post)

Basically what I hope to achieve is to replicate demo. tryton. org on a local virtual machine/container (not docker), unfortunately the documentation for how to do this is not clear and I couldn’t find any how-to’s

I have a proxmox cluster, so I can use an LXC container (preferred) or a virtual machine, it shouldn’t really make a difference, but i’ve added this for reference.

So starting with How to install Tryton — Tryton server

There are three options to install Tryton:

  • Install the version provided by your operating system distribution. This is the quickest and recommended option for those who has operating system that distributes Tryton.
  • Install the published package. You first need to have pip installed. Then to install trytond run:

“Install the version provided by your operating system distribution” would have been nice if I could just do something like apt-get install trytond trytond-webclient but the deb packages don’t seem to install the webclient (sao?) and also seem to install Tryton version 5.x where I would prefer to start with something more recent at least in the version 6.x range but ideally >6.6

So onto the next option “Install the published package”

Here’s what I have so far:

  • Install OS (in my case I used Debian 11 that comes with Python 3.9.x)
  • apt update & apt upgrade (ensure OS is up to date)
  • apt-get install python3-pip (Install pip)
  • apt install nodejs npm (tryton web client / sao? needs nodejs? Setup web client with Debian 10, This installs nodejs v12.22.12 and npm v7.5.2 are these OK?)
  • pip install trytond (from install docs)
  • pip install trytond_sale (from install docs)

Here’s where it gets really unclear:

  • what other modules are used for the demo site?
  • what pip module do I install for the webclient?
  • Is there anything else I’m missing?
  • If I’ve understood correctly, if I don’t specify a database like Postgres Tryton will default to sqlite, is this correct? This will be fine for me for now.

Sorry if this is all clearly documented somewhere I couldn’t find it.

Dave.

The problem is that debian packages are only maintaned for LTS versions.

You should consider installing Tryton in a virtual environment using pip. There are several topic on this forum that explain it.

All modues are available on the demo site. If you want to have them, there is a modules.txt file for each series on downloads.tryton.org Here is the sample for 6.8 series

Even you can use a simple bash script as follows:

#!/bin/bash                                                                    
pip3 install "trytond == ${SERIES}.*"                                                 
for module in `curl -L https://downloads.tryton.org/${SERIES}/modules.txt`; do 
    pip3 install "trytond_${module} == ${SERIES}.*";                           
done                                                                           
pip3 install "proteus == ${SERIES}.*" 

which read the series from the environment variable. Feel free to update it to match your needs.

None, web client is just written in javascript and does not require any python dependency.

Right.

1 Like

Hi Sergi,

Thanks for that, I realised why the Debian packages were so old, That’s why I wanted to try the pip install (It’s good learning experience too)

Ah ok,

  • So do I just download the tar.gz file for the version I installed?
  • Where do I put the extracted files? Is there a specific dir they need to go in or I can choose any dir and configure it in the config file?
  • Did I really need nodejs at all? (If not i’ll wipe my VM and start clean)

Thanks,

Dave.

The web client is named sao. You can download sao from npm. In the sao README you have all the relevant notes required to install it and setup it.

1 Like

I feel like I’m making progress…

I installed sao with npm install tryton-sao --production --legacy-peer-deps

Then I ran trytond and it was only listening on localhost, so I created a config file with

[web]
listen = 0.0.0.0:8000
root = /path/where/npm/installed/sao

Now I when I start trytond -c /etc/tryond.conf I get the web client but no database.

Then I found how to Initialize a database

Initially running trytond-admin -c /etc/trytond.conf -d demo --all gave me an error:

  File "/usr/local/lib/python3.9/dist-packages/trytond/backend/sqlite/database.py", line 437, in _make_uri
    raise IOError("Database '%s' doesn't exist!" % db_path)
OSError: Database '/root/db/demo.sqlite' doesn't exist!

So I created the directory and file with

mkdir /root/db
touch /root/db/demo.sqlite

And then it worked, I was able to login to the web-client and finish the install.

Thanks for all the help,

Dave.

2 Likes

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.