New Community Built Appliance: TurnKey Odoo

I am excited to announce TurnKey's latest addition; Odoo (formerly OpenERP) appliance. Odoo is a comprehensive ERP (Enterprise Resource Management) system built with Python. Get it now via the Odoo appliance page.

Odoo Official Logo

Not only is Odoo a cool app to add to the library; but it is a major TurnKey milestone. It is the first truly community built appliance. Don't get me wrong, many appliances have been contributed by TurnKey community members but never before has a team of TurnKey Community members come together like this.

The Odoo appliance adds a whole new meaning to "Community built". The original "seed" Odoo appliance was developed by Carlos (@cvercelino | TKL). Landis Arnold (@l-arnold | TKL) - one of our longest serving TurnKey enthusiasts - adopted the project and made it his own. Then Ken Robinson (@DocCyblade | TKL); an invaluable contributor to the development of v14.0 (and before) joined the fray. Landis and Ken made a formidable power dev combo! Watching them in action I suspect that the Odoo appliance might near be bullet-proof! :)

Prior to the work on Odoo these two had never directly spoken (with the exception of a passing comment or two on the forums). But with the quality of their build you'd think that they had worked together as a well oiled unit for years!

I invited them both to provide some insight into the process for this blog post and they were both keen. Unfortunately Ken currently has a work project on a very tight timeframe. So here's Landis' perspective on the process of building the Odoo appliance:

Turnkey Odoo Genesis

by Landis Arnold

Its a long story so rather than recounting it all, let me simply say, its been a great experience. I have been running various home brew TKL Odoo (& OpenERP) setups for 3 years or so and the v14.0 TurnKey release seemed the time to pull it together into a "proper" and official TurnKey appliance.

I have done a few software projects for myself over the years and am an active TurnKey "user". TurnKey Linux app development was a very new tack for me. Knowing and understanding what goes on under the hood; both in a running build, and the process to get it there was the biggest challenge. In a big measure, the TKL build process is very much akin to making a layer cake.

I had installed Odoo/OpenERP on top of the TKL Postgresql system a number of times in the past. By default Odoo v8 is "self hosting" so I wanted to move it into the TurnKey LAPP system. One of the main reasons was to support proper SSL implementation. I also wanted the App to be able to efficiently work with several Community Based (rather than corporate Odoo only) apps ie: OCA Magento Connector.

I started out with the with the patient help of Carlos V. with some guidance from Jeremy. Having gotten running systems, I then focused on security settings and getting Odoo and TKL to play nice together. Looking back on this it was a very painful series of “pleas for help” on the Turnkey Tracker. I had noticed the remarkable skills of Ken Robinson who worked through the recent conversion over to the Adminer Database manager for most of the TKL apps that include MySQL/PostgreSQL. Needless to say, I was very happy when he volunteered to lend a hand on Odoo.

It was a huge hand Ken brought. Ken is very diligent about Git Workflow. Commits. Tests. MileStones. Documentation. He is also very patient. I was doing most of my development directly in ONE BRANCH using the web interface in GitHub. He fixed several of my faux pas. We developed a “Good Cop – Bad Cop“ sort of approach. Ken started doing most of the coding while I became the “test and break – how many sides can I hit this from with a hammer” role. I had the experience with Odoo. I also suspect that I had the more extensive experience with TKL as a User. Ken worked in the Shell. I worked in the GitHub Web (and later GitHub Desktop). I learned from Ken and he learned some from Me.

Jeremy helped us in multiple directions [and was likely a PITA too :) - J]. In the end we moved our “Services”, “Log” and “Configuration Files” into nice arrangement (following Debian convention) and out of the Odoo Directory structure. We got the systems able to be reliably started and stopped using both SysVInit and SystemD. We also put in higher security than default Odoo comes with too. We found at least one BUG in the TKL backpane and helped to fix it.

At last count our two joined Git Repositories include 537 Commits from where we started. I have done Many ISO builds in my testing. We are prepped to make some “Module” and “Memory” applications in our next round, but right now we are taking a break. Work and Life has its call.

By the time this is posted it should mean that the TKL Odoo App is fully available via the TKL Library [See the Odoo appliance page - TKL Hub and AWS builds coming very soon - J]. This really points to the “bigger layer cake” of TKL. So much goes into this system it is quite hard to fathom. Package Management. ISO, KVM, Docker, AWS, Forums, GitFlow, TKLBAM, and deep comprehension. TKL is a small team. It is an open system poised to become an even “more open” system. Take a look at the map of TKL Installs and you can see the impact being made.

Comments

Christian's picture

Hi, I am thrilled to test the appliance (through the docker image) but unfortunately, I am getting an "Access Denied"-Error on the initial /web/database/manager#action=database_manager view. Where should I report this?

Christian's picture

... I misunderstood the form fields! All is good.

Carlos Vercelino's picture

Hi Jeremy,

When will it be possible to deploy the Odoo Appliance on Amazon EC2 (via TurnKey Hub)?

I have developed a workaround based on the new Turnkey Odoo project (https://github.com/turnkeylinux-apps/odoo), using a TKLpatch script on top of the LAPP Stack (https://github.com/CLVsol/tklpatch-lapp-odoo-aws). It is working very well, but it is not so easy to deploy.

Jeremy Davis's picture

Hi Carlos

We were hoping to have it live on the hub last week. However due to a bug in the fence (the simple http server we use for the fence was only handling one connection at a time which causes it to intermittently lock up). This is only an issue for new users on firstboot but still we'd like to resolve it. So we've been working on a fix for that. We'll then rebuild all the AMIs. We were planning to add Odoo at the same time as we rebuild everything. However as often seems to be the case the timeframe has blown out.

I am hoping that the new AMIs will be live next week, but I can't promise.

Also out of interest is there a reason why you disable logging? Or am I misunderstanding something?

Carlos Vercelino's picture

Hi Jeremy,

Thank you for your attention.

Regarding the logging, I think the README.rst text is a bit confusing. I do not disable the logging, what I do is disable the "file logging". If you manually start the Odoo server using the scond config file (/etc/odoo/openerp-server-man.conf), the loggings wil be sent to the terminal instead of a "log file". I use this during the development of new modules for Oddo. The steps are those:

 1. Copy file "/etc/odoo/openerp-server.conf" into "/etc/odoo/openerp-server-man.conf". Edit the file "/etc/odoo/openerp-server-man.conf":

#logfile = False
logfile = /var/log/odoo/openerp-server.log
logfile = False
#logfile = /var/log/odoo/openerp-server.log

 2. Stop the Odoo server (if is is already running the normal way), using the following command (as root):

/etc/init.d/openerp-server stop

3. Start manually the Odoo server, using the following commands (as root):

cd /opt/openerp/odoo
su openerp
./openerp-server -c /etc/odoo/openerp-server-man.conf

4. Do whatever you need with the Odoo Server and all the loggings will be sent to the shell terminal. When finished stop the server by simply pressing Control^C at the terminal and use the folowing commands to re-start the Odoo Server the normal way:

exit
/etc/init.d/openerp-server start

Regards,

Carlos Vercelino

Jeremy Davis's picture

Thanks for the explanation. That makes perfect sense now. :)
Jeremy Davis's picture

I don't know much about Odoo and haven't used v9 at all, so I can't speak from a totally informed position.

However I know that the guys looked at v9 originally and intentionally decided to build Odoo v8 instead. I don't recall the exact reasons but I do recall opinion that v8 was more community orientated and didn't push you so much towards paying. As v8 still receives updates (and they did all the hard the work) we were super pleased to add it to the library whether it was the latest version or not... Although perhaps we should name it "Odoo8" to make it clear?

Carlos Vercelino's picture

In my opinion, the  Odoo Appliance should stay as it is. At least for a while. The name does not need to be changed, as it is not so difficult to migrate the appliance to another Odoo version. Just a note stating the branch in use (currently “https://github.com/odoo/odoo.git --branch 8.0”)  should be enough.

I have not tested it yet but I think we just need to add some additional packets in the “odoo/plan/main” file (https://github.com/turnkeylinux-apps/odoo) to make the appliance ready to run version 9.

Jeremy Davis's picture

Thanks for chiming in. Perhaps we can document upgrading for those that want v9? Eventually we'll probably want to provide it anyway I imagine.
pee's picture

hi

 

tx for the info.

can you give us exact instructions on how to install (or upgrade) to v9.x?

tx!!!

Jeremy Davis's picture

However it is installed from their GitHub repo. So in theory you should be able to checkout the v9 branch. I'm guessing that there may need to be changes in the conf file (I think /etc/odoo/) and perhaps some DB updates too? I'm only guessing though really. I would expect that upstream have instructions on how to upgrade from v8 to v9. Keep in mind that TurnKey v14.x is Debian Jessie under the hood and hopefully it should be fairly straight forward.

If you have any success it'd be great if you can share your info as it may help out others.

Jeremy Davis's picture

I have heard that the newer version of Odoo is not so "Open Source" and that is essentially why we have held off on providing a newer version in our appliance.

Having said that if we continue providing the appliance we will need to update it at some point. It would be a real shame to have to drop it completely...

BTW thanks for pointing out ERPNext, it looks very interesting. I see that they already have a VM available but it could still be a good candidate for a new appliance.

pee's picture

hi,

i tried both odoo and erpnext, i was struggling with odoo technicalities and trying to get my head around it. And i did not like their 'opensource' philosophy since v9.0

Erpnext is a breeze, both to install, to use, to configure and to expand. 

The platform is well thought out, and it is a real community backing it, the company behind erpnext, called frappe, does not 'sell' the product, they only provide hosting and support. so there is zero difference between the frappe hosted and the selfhosted versions. This is true opensource.

pee

TheShif's picture

This doesnt seem to be on amazon right now.  All attampts to find it fail.

Don't upgrade to version 9, theres too much missing from the community version for it to be a viable option for production use.

Jeremy Davis's picture

We have had to do some work to the Amazon images so have planned to build Odoo when we rebuild the other images. As per usual things have taken longer than we'd hoped. They should be up soon...

PS thanks for your input re version 9 too.

TheShif's picture

The turnkeylinux distros are allways my go-to choice for needs like this.  The team here is nothing short of amazing, and all your efforts are deeply appreciated. 

We have noted a couple minor anomolies in this iso build - I'm not sure where to notify you in the most effecient way.

Thanks again for all the fabulous tools and appliances you make.

 

Jeremy Davis's picture

If you have bugs or feature requests then please post them on our Issue Tracker on GitHub - you'll need a (free) account. There are 2 already for us to work on for v14.1 (if either of those line up with your experience please feel free to add info and/or comment as you see fit). Note that if you create a new issue you can't add the tags, but I'll see it and tag appropriately.

If it's more of a support type situation and/or you want to discuss it a bit before you decide whether it's a bug/feature request them I suggest posting on the forums.

If you are unsure where to post I suggest posting on the Issue Tracker. Worst case scenario I can close it! :)

TheShif's picture

If your curious, we often look at a couple of distributions before committing to work with one or the other.  In this case, Amazon/VM builds from bitnami, pragmatic, and turnkey were reviewed.  While the other two groups have produced very good candidates, we think yours is better.

For example, you got printing working right out of the box, bound both inbound and outbound email service making it self contained for production use,  and the fresh installs start out by allow us to name the first db occurance instead of having a hardwired default - none of which the other guys got right.  Just a few examples of why we tend toward hoping you guys have an appliance when any new need arises.

warm regards!

 

 

Jeremy Davis's picture

One of our community regulars (who's user account appears to have gone AWOL) has asked me to quiz you out about configuring incoming mail. He is having issues getting it working. Any hints? I assume that you need to configure it to collect mail from a remote SMTP but not sure...
L. Arnold's picture

I would like to ask folks here what their thoughts and desires are regarding TKL Odoo Version 15 which we all know to be in the works.

Most importantly, what are your thoughts on Odoo Versions?  Are new features desired?  If new versions of Odoo are brought forward, what will be upgrade mechanisms?

I have been using Odoo V 8.0 and it is working well for me and I have been considering Odoo 10 test upgrade as, I believe, most of the Odoo Community Association Modules (OCA) are starting to work in Odoo 10 now.

On that regard, would folks like to see some "auto implementation" of some of the OCA modules?  

To perhaps get in the weeds,  should we have different versions of the TKL Odoo Ap for different Odoo Versions?  

Finally, is anyone familiar with the Open Upgrade process for moving data between Odoo versions?  

To me these are all very important subjects especially since Odoo is running critical business processes and this, as the post says, really started as a Community Built App and the community should be aware of path decisions and considerations.

Best regards to everyone.

TheShif's picture

1. Please continue to fix the SSL certificate issues.  Specifically - there is no actual documentation about the correct way to add/update CA Certs.  We had to stumble around and finally figured out how to use the letsencrypt tool built into more recent menu systems of the TKL menus.

SSL is vital today - please fix the problems and post reasonable directions for dealing with SSL.  Referring users to previous incomplete threads that don't actually contain solutions is fruitless, and tarnishes the luster of the fantastic work being done on TKL appliances.

2.  Upgrade from previous TKL Odoo must actually work

Please dont assume that its "no problem" to begin using the latest and greatest TKLs unless there is some way to migrate - it will be excruciating for mission cricital users to do anything but stay in the old, obsolete versions.  This is a constant issue with almost every appliance across almost all groups that deliver these appliances. 

Avoid statements like "just follow the upchannell instructions for upgrade".  Most of the time, those instructions are arcane, difficult if not impossible to follow, and in the short run - do not work.

Stranding user data in old appliances is one of the most serious issues preventing uptake of apliances today.  Most serious users have already 'been down that road' and won't willingly go there again.

To make the TKL appliances truly usable - viable migration to new version must be striaghtforward, understandable, and reliably work.

TKL Appliances are some of the best available anywhere - but the above issues are serious, and limit the usability of the TKL appliances. 

It's sad - you go through a great deal of work to make them awesome - but leave things like viable SSL instructions and upgrade path's unaddressed, vauge and unworkable.

We always look to TKL first - and with great preference.  But these issues persist, and often times prevent uptake of your systems.

Thanks for listening!!!

Tony

 

L. Arnold's picture

SSL Certs have been pretty easy for me to install over the years.  I know there have been changes but fundamentally Apache can be updated pretty easily for SSL Certs.  I tend to do so for primary Apps and not bother with the Admin aspects (Webmin / Webshell) specifically.

I had thought I had posted "how".  I know that Liraz made a very good  Blog post that helped me through a while ago.

I do agree about "migration" and "stability".  We should look a bit at the OCA OpenUpgrade process to see if that can be built into the system.

My personal preferences are to have a version 8 and version 10 TKL Odoo Build.  V 8 if migration is not easily done.  V10 if it is possible to upgrade.  V10 does have much more than v 11 in terms of OCA (Odoo Community Association) modules that are built and operable.

L. Arnold's picture

Hi Tony,

I share with many of your concerns.  The best way to take many of them on is to help with a path via Turnkey Guthub (Issues).  Still, let me see if I can comment on some.

  1.  SSL  SSL does work for me in versions 14.0/14.1.  The way you most easily set it up is via the Apache Server configuration within Webmin.  Edit for PORT 443 and you will set up the Odoo SSL.  This is never easy (especially since SSL certs tend to change format from year to year, but it is doable.  I just did it again in fact).
  2. Upgrade Paths.  I am totally with you in your concern.  This is very difficult for TurnkeyLinux in that Odoo makes it complicated to do.  However, in order to do this properly, the Odoo OpenUpgrade requires that we sequentially build from 8.0 to 9.0 to 10.0 to 11.0 to 12.0 etc.  As such we need to have sequntial builds to move through this process.  Even doing that, is not easy.  It may be easier to simply work with the 8.0 build then upgrade Odoo yourself via Git / Branch conversions and using OpenUpgrad.  (I have not yet actually tried OpenUpgrade but it seems to be the only way to do it).
  3. I hope we can find a team to go build TKL Apps that line up TKL builds (ie 14, 15, 16) with different Odoo builds  (8, 9, 10, 11, 12).  There is a lot of developement work in this process but if we script things it does not need to be too difficult.  GIT HUB and TKLDEV are our friends!

It is difficult to do this work.  Last time I dove into this I had a window of time and I really wanted the app to get off the ground.  I am still working in version 8.0 and I would like now to be able to move to 10.0.  I would also like the benefits of the new Debian generations in TKL 15.  I can't go straight to Odoo 11.0 from 8.0.  There is no sane upgrade path for that that I know of.  Also many of the modules I need to use have not yet been ported to 11.0.  Most have been ported to 10.0 now.

Anyway,  all for now, 

I hope this is somewhat helpful.

Jeremy Davis's picture

We do plan to update, but past experience shows that it often takes a little while for the open source plugins to catch up with a new Odoo release.

I suspect that it's probably good enough now to provide Odoo v12, but I'm currently a bit swamped; working on our upcoming v16.0 TurnKey release. So I anticipate that it will likely not be until we have that ready that we provide Odoo v12.

Pages

Add new comment