I would not recommend doing automatic updates on a production database.
However, for performing scheduled updates or for spinning up new servers, the following configuration may be useful:
- Configure a production server running Debian stable plus nginx-light, odoo, postgresql, and any other dependencies, for example, cups and python-cups for printing.
- Configure a build server running Debian stable plus git and bzr. ($5 server from Digital Ocean works for me.)
- On the build server, use git and bzr to download sources for Odoo to an Odoo repository and for various community modules to their respective repositories. See script below.
- On the build server, configure ~/.ssh/config to allow easy connections to your production server. Alternatively, configure this on your production server to allow easy connections to your build server. In either case, also configure ~/.ssh/authorized_keys on the opposite end of the connection.
- On the build server, use a script to rsync the Odoo sources and community module sources to your production server. Alternatively, run rsync from your production server to pull from your build server.
- Restart the Odoo server. Either start the server using --update=all or upgrade the modules manually from the web interface.
Here are the scripts:
# Initialize repositories on build server.
git clone https://github.com/odoo/odoo.git
git checkout 7.0
bzr checkout lp:~ruchir.shukla/+junk/misc_modules_7.0 BizzAppDev
# Update repositories on build server.
bzr update BizzAppDev
# Synchronize to production server oodo.example.com.
rsync --archive --delete --rsh ssh odoo/openerp firstname.lastname@example.org:/opt/odoo/odoo-server/
rsync --archive --delete --rsh ssh odoo/openerp-server email@example.com:/opt/odoo/odoo-server/
rsync --archive --delete --rsh ssh odoo/addons/* firstname.lastname@example.org:/opt/odoo/odoo-addons/official/
rsync --archive --delete --rsh ssh BizzAppDev/oerp_no_phoning_home email@example.com:/opt/odoo/odoo-addons/community/
rsync --archive --delete --rsh ssh local/my_local_module firstname.lastname@example.org:/opt/odoo/odoo-addons/local/
# Restart the Odoo server. Either configure the init script to use --update=all or upgrade the modules manually from the web interface.
ssh email@example.com service odoo restart
A few additional notes:
- The scripts are for Odoo 7 so some minor adjustments would be necessary for Odoo 8.
- The rsync commands require odoo.conf addons_path to be configured accordingly: addons_path = /opt/odoo/odoo-addons/official,/opt/odoo/odoo-addons/community,/opt/odoo/odoo-addons/local
- Python oerplib can be very helpful for setting up new databases. This can be scripted and run from your build server.
Please try to give a substantial answer. If you wanted to comment on the question or answer, just use the commenting tool. Please remember that you can always revise your answers - no need to answer the same question twice. Also, please don't forget to vote - it really helps to select the best questions and answers!
About This Community
|Asked: 11/3/14, 5:15 PM|
|Seen: 2348 times|
|Last updated: 3/16/15, 8:10 AM|