Files
hpr-knowledge-base/hpr_transcripts/hpr4449.txt

224 lines
18 KiB
Plaintext
Raw Normal View History

Episode: 4449
Title: HPR4449: How to install Odoo 18 on a virtual machine
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr4449/hpr4449.mp3
Transcribed: 2025-10-26 00:48:39
---
This is Hacker Public Radio episode 4449 for Thursday the 21st of August 2025.
Today's show is entitled, How to Install Odo 18 on a Virtual Machine.
It is hosted by Jerome Bitten and is about 27 minutes long.
It carries a clean flag.
The summary is, in this podcast I explain how to install Odo 18 on a Virtual Machine and
start using it.
And good day to you for the second episode of Working with Odo.
And in the first episode I tried to describe the landscape of the Odo Enterprise Resource
Planning Application and in this episode I would like to discuss how to install this.
Yeah I know.
If you're into Linux it's simple, it really is.
And if you go to Odo.com website and you go to the installation you find packages there.
So that's basically what I described, but they forgot a few tiny little things.
And I know because I tested this before I made this recording as a decent, this is
that mean we do test before describing.
Okay so what I did was first create a Virtual Machine on KVM, on Linux and in my case
DBN12 because it's nice and stable and it's sort of a golden standard or it should be.
And well you do need some four gigabytes of RAM when the application is running and
say I don't know, 2230 gigabyte of disk space depends on how much your, if this is going
to be your server for production for the next, I don't know, 10 years, you may probably want
to increase that spacing especially when you're going because it's a database, so that
grows a little bit, but not as much as when you upload files and documents and etc.
But if you're just playing around or start your business because it's very easy to relocate
later, well it's relatively easy to relocate later, but that's also in this podcast.
Anyway let's go ahead and do the installation.
So it starts where you need a Postgres database.
So the first thing you do is apt install GPG because you need some key signing tool and
for the installation and Postgresql to install the Postgres database.
After that you need to download the Odo key and store that on your local system so that
the packages downloaded can be checked if they are indeed signed by the key from the Odo
organization.
And I'm not going to, I could say wget, dash q, dash capital O, etc, etc, etc, but you
won't be happy and I consider the audience not to be that moronic.
So I made a show notes so you can follow along in the show notes and copy paste from there.
But anyway, I digress.
After doing the download of the key, you add the Odo knightly build repository to your
sources, your repository sources.
And I know what you're thinking, daily build is that stable.
Well, what they do is they release a new release every year around November, October, November.
And from there, every bug they fix, that's in your daily build.
So you download at some time, a point in time version of the software.
And if you don't want to risk it, you simply don't update the Odo package.
You can, with the Debian Linux system, you can freeze a version of an application.
But that's beyond the topic of this talk.
But you can find it, no, no, it's not difficult, I guess, to find online how to do it.
Anyway, after adding the repository location, you simply do an apt-get update and an apt-get
install of Odo and install package Odo.
And then you have Odo installed.
It's as simple as that.
These are also without that works very nicely.
Then comes the first relatively, well, it's a thing you need to know.
So Odo uses the WK HTML2 PDF executable, or executable is a Python program, I believe.
I'm not sure.
Anyway, they stand lies on a specific version, because some of those versions are stable,
some are working progress.
So for this version, and we're now installing Odo 18, because it's 19, the sort 19.
Yeah, I'm old, I know, it's 20, 25.
And they are installing WK HTML2 PDF version 0.12.6.1.
The WGET command for this as well, to get it straight from the project page, the stable
version, with that specific, it's all in the show notes.
So then you install that manually with the DPKG command, so DPKG-I for install.
And then that package, and then you have that thing installed.
And you need that because the Odo application is written in Python, the output stuff in
HTML, and then to get a PDF, you use this program to simply convert it into a PDF file.
And the PDF you can use as an attachment to send to clients, for instance, with invoices,
quotes, and other kinds of documents.
Okay, after you've installed the DPKG with the DPKG, the WK HTML2 PDF,
program, you need to do an app stall, mean F, because there could be some missing dependencies,
and to fix those, you run app install dash F. After that, you need three extra Python packages,
and Odo mentions two, but actually three.
So you do app install dash, dash Y, if you like, Python dash, XLWT, Python 3 dash, num2
words, and Python 3 dash, phone numbers.
And you need all three packages to get a nicely working Odo system.
After that, you can do a system control status, Odo, and you'll find that you have the application
running. So that is pretty easy. If you do the show notes and you copy paste that into your
console, you can see what it does, and nothing really to it. Now, that's where the fun starts.
So your virtual machine has not be addressed, and it needs to be,
you need to be able to reach it from, well, your desktop.
So if you use K, if you have something, you have to look at a network setting of the VM,
that you don't use not on net, because net will get things to the outside world from your virtual
machine, but not from the outside world into your virtual machine. Just to get this working,
you need to set up bridging network bridging. Now, also network bridging is discussed multiple
times on the internet. So have a look at that. You have to change the network config of the
host where the virtual machine is running on to enable virtual bridging. And at some point,
you should be able to connect to this virtual machine. The other option that you have is
use this virtual machine completely as a separate system. So that means that you also install
the desktop packages. You log in to the virtual machine as a desktop system on your own desktop,
and start a browser there, because then that browser will connect to the same system. So
you don't need virtual bridging in that case. It's all up to you. Whatever you like. You know,
whatever makes you happy, honey. Okay. The URL to connect to is HTTP,
the colon slash slash your server IP, colon 8069. So the port number is x as 8069. Now you can
install an engine XOR Apache reverse proxy in front of it if you like, but you know, again,
that's customization and that falls out of the scope of this talk. This is just a simple
demonstration system to get you up and running. So you go to port 8669 on that system,
and then you will be relocated to the page on slash web slash database selector.
This is the page where you create, remove, define databases. And database is like
complete administrative system for a company. So suppose you have a company, let's give it a name,
okay, chipmunk incorporate it. Just the top of my head. So chipmunk incorporate it. So you can
create a database chip, chipmunk ink dash P, which stands for production. So that would be your
production database, but you can also make a chipmunk ink dash T for testing stuff and a chipmunk
ink dash A for an acceptance server. So it's all up to you.
But it's very easy to have one O2 server running multiple administrations for multiple companies.
You just have to know that you have to switch databases if you work on one system and then on
another. Anyway, then there are a few things that you'll note, a few key entry fields that you have
on your form on this database selector. So the first is the master password and the master
password is there to protect this form because you know every O2 server has this form.
And so I would say suggest a think of a good master password and don't lose it.
Then the database name. So the database name is the name that suits you. You can have as much
databases as you like on your system. Just realize that one database is for usually for one
or organization. The email address you like that will be your login into the application
into this database. The password that you like to accompany your account name with this email
address, the phone number, you can enter it if you like, but it's optional. The language,
whatever you like, if you want to English, Dutch, French, Italian, whatever you like,
it's a multi-lingual application. So just select the language of the interface that you prefer.
The country is also important because that's where the application is located.
So because every country has different text systems, different billing rules, etc., etc.
Now this is not all out of the box immediately in an ideal configuration set up. No, but nevertheless,
it helps for instance with the default currency amongst others.
And then you see a demo data checkbox and that's where or not you would like to fill this
database with some demo data. And I would suggest that you start with demo data until you are
familiar with the system. And then after that when you want to run this for your own business,
you create your database for your own business, but you don't select the demo data checkbox,
of course. So you have a completely blank and empty system.
Okay, when done, if you filled in everything that you like, just click the create database button
and you'll have to wait during which time the database will be created and the demo data if selected
will be added. After that, you'll get a login screen. You enter your email address. As mentioned
earlier, that's your user ID. The password that you wanted for this email to go along with this
email address. And you click login and you're into the system and you'll see that you are in the
slash Odo slash apps screen. Because Odo has as described in the episode earlier,
my early episode on Odo has a sort of a building app store and this one has 622 apps. So
you know, it's a lot. And how does this GUI work? Well, it's usually pretty user friendly,
but there is a lot there to discuss in a way. So the first thing is that the main menu is in the
upper left corner that's garbage icon. And if you click on that, you'll see currently it has apps
and settings. Well, we could go into settings, but that's for another time. Well, first we're
going to enable a few apps. So the first one we're going to enable is the contacts app because
everything has to do with contacts. You have clients, you have companies and they all want to do
business with you or your virtual or your real company or organization. So what you do, you type
in the search bar, you type contacts and click on the lookup. What is it? The looking glass.
And when displayed, you'll see a small rectangle saying this is the contact app and it has an
activate button. So you click on the activate button and you'll wait again a while while the
the contacts app is enabled. So there are some initialization records added to the database.
And it takes it. It depends on your the speed of your system, but hold on, it will be done and
it will be finished at some point. So when done, the same menu in the upper right corner now has
more applications. You see this costs to do contacts. The one we installed project email marketing
surveys and employees. And that's just to to get you a basic set for demonstration. So if you
if you like, these are all installed because you enabled contacts, but there is no mandatory dependency
between, for instance, project and contacts. So if you like, you could disable the project.
Now, if you think, oh, that's cool. I will simply enable everything that's not really a wise idea
for one. It's 622 applications. So it it'll take a while. And the other thing is, after that,
it will some of them are multiple multiple. What's the word for it in English? Excluding each other.
So you can't install all of them, but you can install a lot. And the other thing is then
the system has every piece of functionality that you could possibly desire and that could really
over complicate the things you would like to do with the system. So don't. Well, anyway,
we in this case, we're going to set up a small company. So you go back to the apps app.
And using the upper left squareish icon, go to the apps and you activate the sales app.
And the sales app will also install as dependency, the invoicing apps. After that, you can do
sales and invoicing. And since we have enabled demo data, you already have contacts with names
and organizations. And there are already a few invoices to play around with.
You could go to the sales app and create a quotation. And after that, quotation can say,
okay, this is agreed by the client. So confirm this quotation. And after that,
the invoice is created. And you can go to the invoice and have a look at that. And you
so what are the general things you have to be aware of? There are lists of items with selection
boxes in front of them. And as soon as you enter one, then at the top center of the page,
you will get a sort of an action menu where you can, for instance, duplicate or delete stuff.
We already saw the search bar that's available at many locations. And on the right side,
you have a selection of upper left side. You have upper right side. Sorry, you have a selection
of how do you want to visualize the visualized data? So there can be in a list, but it can also be
in separate cards or in graphs. And in the search bar on the right is a small down arrow
that you can use. And that has some pre-populated filter options where you can add even your own
filters to. But with apps, for instance, you can say, I want to see all the apps that are
installed or not installed. And with invoices, you can see I want to see only the invoices that I
send out in year, whatever. So that should keep you busy for a couple of hours playing around with
the system. And if you think, is this all there is, I would suggest you install the website app
because it has a really cool wizard to help you set up a website. And by the way, your ODO system
can handle multiple websites. So within one organization, you could have multiple websites that
respond to multiple domains. And you could even, and that's a lot more complicated, have the billing
used the correct invoice number that increments with every new invoice, but uses the logo
depending on on what website something was bought, for instance. If you want to look at the
web shop, that's the e-commerce app. Now, this will keep you probably busy for the next few hours
to play around with the system. And there's some, because we were now discussing how to install it,
some basic technical things that you need to be aware of. And it saves you a lot of searching if
you know this. So the main configuration file is in slash atc slash odo slash odo.com.
It's, yeah, I don't know, it's as simple as that. And there's a lot possible in that file.
The other thing is that there is a slash var slash lip slash odo slash dot local slash share slash
odo directory structure with add-ons. So that's where you could add additional apps that are
currently not in your package. And we are going to discuss that in the next episode.
You could also have slay, help a look at slash var lip odo dot local slash share. Again,
slash var slash lips slash odo slash dot local slash share slash odo slash file store. Because
on the file store, every database has its own separate directory name. And under that directory
name, you find all the graphic and document files that you upload into the system. So that file
store accompanies the database in postgres with the same name. And you could do a find on that
directory and see everything. If you enable demo data, there are also images of products, etc.
Add it to this directory. In slash var slash lips slash odo slash dot local slash share slash
odo slash sessions, there will be a small session descriptor file with some JSON data describing
the current user sessions. Now, if you want to have a look at the applications and the application
code, that's really very cleanly organized. So the main entry is slash user slash lips slash
Python 3 slash disk dash packages slash odo. And in that directory, you'll find the main binary
odo and also an add-ons directory. And if you have a look at odo add-ons directory sub directory.
You will see that it probably at your system as well, 622 subdirectories all describing a
separate piece of functionality. Well, that's that's a wrap for this session. Next session,
we're going to have a small look at the first steps in configuring your system a little bit.
And you have to understand odo is functionality rich and is very, very elaborate.
And it's, you know, as it with a Linux system over the years, you get to know more and more
commands to ease your work. And you find out that a Linux system is like a sort of a toolkit
with a lot of tools. Well, odo is exactly the same, but then on its own. So it has add-ons.
You can add add-ons to it. You can configure the hell out of it or the shit out of it or whatever.
And well, some of those are pretty complicated. But next edition, we're going to do some easy
configuration settings just to get you get you set up a little bit. Okay. Well, I hope you
liked this second episode of the odo series of talks here on HPR. And looking forward to
seeing you next time. Okay. Bye bye.
You have been listening to Hacker Public Radio at Hacker Public Radio.
Today's show was contributed by a HPR listener like yourself. If you ever thought of recording
podcast, you click on our contribute link to find out how easy it really is. Hosting
for HPR has been kindly provided by an honesthost.com, the internet archive, and our sings.net.
On the odois status, today's show is released under Creative Commons,
Attribution 4.0 International License.