erplibre/script/generate_config.sh
Mathieu Benoit de9779cfc2 [IMP] refactoring .venv.erplibre
- erplibre separate venv erplibre and odoo
- rename python-version to python-odoo-version
- add conf/python-erplibre-version
- rename .venv to .venv.erplibre
- move .venv/repo to .venv.erplibre/bin/repo
- install pyenv into .venv.erplibre
- install poetry into .venv.odooVERSION

- first installation show odoo version to install
- can install erplibre without odoo
- update README.md information about installation with TODO
- change image from github to locally
- remove link creation .venv

- update version: remove code to force create symbolic link .venv
- use dynamic merge manifest, will be able to merge different odoo
version
- can add dev tools
- default manifest is empty to remove conflict
2025-10-31 01:34:26 -04:00

138 lines
10 KiB
Bash
Executable file

#!/usr/bin/env bash
. ./env_var.sh
EL_USER=${USER}
EL_HOME=$PWD
EL_HOME_ODOO="${EL_HOME}/odoo${EL_ODOO_VERSION}/odoo"
#EL_PORT="8069"
#EL_LONGPOLLING_PORT="8072"
#EL_SUPERADMIN="admin"
EL_CONFIG_FILE="${EL_HOME}/config.conf"
#EL_MINIMAL_ADDONS="False"
#EL_INSTALL_NGINX="True"
touch "${EL_CONFIG_FILE}"
echo -e "* Creating server config file"
printf '[options] \n; This is the password that allows database operations:\n' > "${EL_CONFIG_FILE}"
printf "admin_passwd = ${EL_SUPERADMIN}\n" >> "${EL_CONFIG_FILE}"
printf "db_host = False\n" >> "${EL_CONFIG_FILE}"
printf "db_port = False\n" >> "${EL_CONFIG_FILE}"
printf "db_user = ${EL_USER}\n" >> "${EL_CONFIG_FILE}"
printf "db_password = False\n" >> "${EL_CONFIG_FILE}"
printf "xmlrpc_port = ${EL_PORT}\n" >> "${EL_CONFIG_FILE}"
printf "longpolling_port = ${EL_LONGPOLLING_PORT}\n" >> "${EL_CONFIG_FILE}"
printf "addons_path = ${EL_HOME_ODOO}/addons,${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/addons," >> "${EL_CONFIG_FILE}"
if [[ ${EL_MINIMAL_ADDONS} = "False" ]]; then
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/CybroOdoo_OpenHRMS," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-analytic," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-budgeting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-closing," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-consolidation," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-financial-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-financial-tools," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-fiscal-rule," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-invoice-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-invoicing," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-payment," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_account-reconcile," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_apps-store," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_bank-payment," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_bank-payment-alternative," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_bank-statement-import," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_brand," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_business-requirement," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_calendar," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_commission," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_community-data-files," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector-ecommerce," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector-interfaces," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector-jira," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_connector-telephony," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_contract," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_credit-control," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_crm," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_crowdfunding," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_currency," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_data-protection," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_ddmrp," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_delivery-carrier," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_dms," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_donation," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_e-commerce," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_edi," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_event," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_field-service," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_fleet," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_geospatial," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_helpdesk," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_hr," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_hr-holidays," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_interface-github," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_knowledge," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_l10n-canada," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_mail," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_maintenance," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_management-system," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_manufacture," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_margin-analysis," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_mis-builder," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_multi-company," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_operating-unit," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_partner-contact," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_pos," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_product-attribute," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_product-configurator," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_product-pack," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_product-variant," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_project," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_project-agile," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_project-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_purchase-workflow," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_queue," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_reporting-engine," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_rma," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_sale-reporting," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_sale-workflow," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-auth," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-backend," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-brand," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-env," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_server-ux," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_social," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_stock-logistics-putaway," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_stock-logistics-warehouse," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_storage," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_vertical-association," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_vertical-hotel," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_vertical-isp," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_vertical-travel," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_web," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_website," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_website-cms," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OCA_wms," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/OmniaGit_odooplm," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/camptocamp_odoo-cloud-platform," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/dhongu_deltatech," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/novacode-nl_odoo-formio," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/odoomates_odooapps," >> "${EL_CONFIG_FILE}"
printf "${EL_HOME}/addons.odoo${EL_ODOO_VERSION}/openeducat_openeducat_erp," >> "${EL_CONFIG_FILE}"
fi
printf "\n" >> "${EL_CONFIG_FILE}"
printf "max_cron_threads = 2\n" >> "${EL_CONFIG_FILE}"
printf "workers = 2\n" >> "${EL_CONFIG_FILE}"
if [[ ${EL_INSTALL_NGINX} = "True" ]]; then
printf "xmlrpc_interface = 127.0.0.1\n" >> "${EL_CONFIG_FILE}"
printf "proxy_mode = True\n" >> "${EL_CONFIG_FILE}"
fi
# Update and fix the config.conf
# Fix only the configuration if installation is done
if [ -f "./.venv.$(< .erplibre-version)/bin/activate" ] && [ -f "./odoo$(< .odoo-version)/odoo/odoo-bin" ]; then
make config_update
fi