Big companies usually spend a lot of money to have complete ERP (Enterprise Resource Planning) and CRM (Customer Relationship Management) solutions. These products usually support business and internal tasks to perform correctly complex processes. Small companies usually adopt low-cost solutions (sometimes simple spreadsheets).
In this article, we’ll see a very simple way to setup Odoo on Raspberry Pi 3 model B+. Don’t expect surprising performances from this experiment, but this can be a funny way to play with your Raspberry Pi.
What is Odoo
Odoo, formerly known as OpenERP, is a suite of open-source business apps written in Python and released under the AGPL license. This is a suite of applications born to support companies in their business and internal processes. It has an Open Source basis (Community Edition), but its features can be easily expanded just adding modules. Odoo has also a Customer Support and Commercial features to support the needs of all companies.
What We Need
As usual, I suggest adding from now to your favourite e-commerce shopping cart all the needed hardware, so that at the end you will be able to evaluate overall costs and decide if continue with the project or remove them from the shopping cart. So, hardware will be only:
- Raspberry PI (including proper power supply or using a smartphone micro usb charger with at least 3A)
- micro SD card (at least 16GB, at least class 10)
Check hardware prices with following links:
Preparing the Operating System
Start installing Raspberry PI OS Lite as operating system.
Our Odoo installation will be powered by defaul with a PostgreSQL database.
We’ll also use the root account. It is a simplification that we can apply to our development environment. To unlock root user, from terminal:
and then insert twice your desired password for root user. The login as root by typing:
It is strongly recommended that you have updated your installation before starting:
apt update apt upgrade
Installing the database is as simple as running a single command:
apt install postgresql -y
Also installing our Odoo instance is simple, but requires adding a new key and apt source :
wget -O - https://nightly.odoo.com/odoo.key | apt-key add - echo "deb http://nightly.odoo.com/12.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
then update the new source and install odoo:
apt update && apt install odoo
… and wait… Installation will require a while.
Once finished, connect with your browser to the following URL (substitute <<YourRaspberryIpAddress>> with the required IP address):
You will see the following initialization page:
Complile required fields (at your choice) and click on “Create Database”. Note that the field Email will be used as username, so in this filed you can also just use a simple username instead of a complete email address.
Again, wait a while to complete the database configuration. Because of the heavy setup process, the page could result in timeout. In this case, launch again in your browser the URL:
Login page will appear:
You should use your email/username and password. If everything is ok, you will be logged on. If someting went wrong because of the heavy install, don’t give it up! You can use the admin password recover procedure.
Admin Password Recover Procedure
Type the following terminal command:
Uncomment the “admin_passwd = admin” line, by eliminating commas. So, your odoo.conf should appear as the following:
[options] ; This is the password that allows database operations: admin_passwd = admin db_host = False db_port = False db_user = odoo db_password = False ; addons_path = /usr/lib/python3/dist-packages/odoo/addons
Edit the admin password with whatever you want, save and exit. Restart Odoo:
systemctl restart odoo
Re-launch the default URL (http://<<YourRaspberryIpAddress>>:8069) in your browser and login using “admin” as Email and what you set in odoo.conf as password. If left as mine above, it will be:
You should now be able to use your Odoo installation.
We are sorry that this post was not useful for you!
Let us improve this post!
Tell us how we can improve this post?