#!/bin/bash app=odoo set -e # Retrieve arguments domain=$1 odoo_version=$2 admin_password=$3 database_password=$4 database_lang=$5 # Check domain/path availability domain=${domain}"/" sudo yunohost app checkurl $domain -a $app \ || (echo "Path not available: $domain" && exit 1) # Remove trailing "/" for next commands domain=${domain%/} sudo yunohost app setting $app domain -v $domain if [ -f /usr/bin/openerp-server ]; then echo "Odoo is already installed, switching to multi-instances" sudo yunohost app setting $app instance -v "slave" else sudo yunohost app checkport 8069 if [[ ! $? -eq 0 ]]; then exit 1 fi echo "Installing odoo" sudo yunohost app setting $app version -v $odoo_version sudo yunohost app setting $app instance -v "master" # Install Odoo # Prepare installation sudo apt-get -y -qq install curl # Install Odoo sudo curl -sS https://nightly.odoo.com/odoo.key | sudo apt-key add - if [ "$odoo_version" = "8.0" ]; then sudo sh -c 'echo "deb http://nightly.odoo.com/8.0/nightly/deb/ ./" > /etc/apt/sources.list.d/odoo.list' else sudo sh -c 'echo "deb http://nightly.odoo.com/9.0/nightly/deb/ ./" > /etc/apt/sources.list.d/odoo.list' fi sudo apt-get update # Initialize installation sudo apt-get -y -qq install postgresql sudo su - postgres -c "echo \"CREATE USER odoo WITH PASSWORD '$admin_password' CREATEDB;\" | psql" 2> /dev/null || true sudo apt-get -y -qq install odoo # Install wkhtmltopdf to print PDF reports sudo apt-get -yf -qq install wkhtmltopdf # Set admin password sudo sed -i "s@ADMIN_PASSWORD@$admin_password@g" ../conf/openerp-server.conf sudo cp ../conf/openerp-server.conf /etc/odoo/openerp-server.conf sudo chown odoo:odoo /etc/odoo/openerp-server.conf # Autoinstall the LDAP auth module sudo sed -i "s@'auto_install': False@'auto_install': True@g" /usr/lib/python2.7/dist-packages/openerp/addons/auth_ldap/__openerp__.py # Install oerplib to manage databases #sudo pip install oerplib # Add services sudo yunohost service add postgresql sudo yunohost service add odoo sudo yunohost service stop odoo sudo yunohost service start odoo fi function exit_properly { set +e # TODO: uninstall db sudo rm -f /etc/nginx/conf.d/$domain.d/$app.conf sudo service nginx reload exit 1 } trap exit_properly ERR # Setup database: not working #sudo sed -i "s@ADMIN_PASSWORD@$admin_password@g" ../conf/install_database.py #sudo sed -i "s@DOMAIN_DATABASE@${domain//./-}@g" ../conf/install_database.py #sudo sed -i "s@DATABASE_LANG@$database_lang@g" ../conf/install_database.py #sudo sed -i "s@DATABASE_PASSWORD@$database_password@g" ../conf/install_database.py #sudo python ../conf/install_database.py # Setup LDAP: TO BE DONE # Configure Nginx and reload sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf # Make Odoo public sudo yunohost app setting $app skipped_uris -v "/" sudo service nginx reload echo $?