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.

You can get future posts delivered by email or good old-fashioned RSS.
TurnKey also has a presence on Google+, Twitter and Facebook.

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. :)
Anonymous's picture

I tried to download this last time and it was still version 8. Has this been upgraded to version 9?

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.

Julian Robbins's picture

Simply, it is not possible to upgrade from odoo v8 to v9 without paying a fee. The odoo developers charge a std fee to do this. they have to earn the keep. There is an open source project by the OCA to do upgrades but it is a massive piece of work and far as I know currently is not complete.

 

Also as much as I love odoo in many ways, it should be made clear that v9 introduced an Enterprize version with a number of features no longer in the community edition. The community edition still has an immense amount of features itself but even if you stick with this you will have to pay to upgrade to v10.

 

Its worth saying that ERPNext is coming up the rails and although a smaller project it still sticks to its original premiose of being completely open source and proividing free help by the devs too. It doesnt quite have the feature set or completeness of odoo, but is coming on really well.

 

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...
Julian Robbins's picture

If using Odoo 9, email set up and alias to get mail into crm or support IS really confusing. odoo v 9 is much simpler. Without going into things here, there are some good guides for odoo 8, re what your user requires on the odoo forums. Probably in more detail than I could provide here. 

Pages

Post new comment