Actualiser 5.install_modules_OCA.sh

This commit is contained in:
lpierson 2026-05-28 13:48:08 +00:00
parent 6e1ffac902
commit e2080d51df

View file

@ -2,41 +2,47 @@
set -euo pipefail set -euo pipefail
######################## ########################
### ###
### installation de modules OCA ### Installation de modules OCA
###
### Logique : on corrige le filestore tant que le conteneur vit, on ARRETE le
### serveur Odoo (sinon son ir_cron entre en concurrence et provoque un
### SerializationFailure sur ir_module_module), puis on installe dans des
### conteneurs JETABLES issus du service compose (docker compose run --rm).
### On relance le serveur a la fin.
### ###
######################## ########################
source ./0.variables.env source ./0.variables.env
ODOO_SERVICE=odoo-service
# Variables attendues dans 0.variables.env :
# ODOO_SERVICE : nom du service compose (cf. docker compose config --services)
# ODOO_CONTAINER : nom du conteneur en cours (container_name)
# POSTGRES_DB : nom de la base
# Résolution du container_name depuis docker-compose.yml : "${ODOO_SERVICE:?ODOO_SERVICE KO - verifie ton docker-compose.yml }"
# ODOO_CONTAINER=$(docker compose ps --format '{{.Name}}' | grep -v postgres | head -1) : "${ODOO_CONTAINER:?ODOO_CONTAINER absent de 0.variables.env}"
: "${POSTGRES_DB:?POSTGRES_DB absent de 0.variables.env}"
if [[ -z "${ODOO_CONTAINER}" ]]; then echo "=== Service compose : ${ODOO_SERVICE} / conteneur : ${ODOO_CONTAINER} ==="
echo "ERREUR : impossible de résoudre container_name pour le service '${ODOO_SERVICE}'"
exit 1
fi
echo "=== Container cible : ${ODOO_CONTAINER} ===" echo "=== Verification que le conteneur tourne ==="
echo "=== Vérification que le container tourne ==="
if ! docker inspect -f '{{.State.Running}}' "${ODOO_CONTAINER}" 2>/dev/null | grep -q true; then if ! docker inspect -f '{{.State.Running}}' "${ODOO_CONTAINER}" 2>/dev/null | grep -q true; then
echo "ERREUR : container ${ODOO_CONTAINER} non démarré ou inexistant" echo "ERREUR : conteneur ${ODOO_CONTAINER} non demarre ou inexistant"
exit 1 exit 1
fi fi
echo "=== Correction des droits du filestore (conteneur encore vivant) ==="
echo "=== Vérification que le container tourne ==="
if ! docker inspect -f '{{.State.Running}}' "${ODOO_CONTAINER}" 2>/dev/null | grep -q true; then
echo "ERREUR : container ${ODOO_CONTAINER} non démarré ou inexistant"
exit 1
fi
echo "=== Mise à jour de la liste des addons ==="
docker exec "${ODOO_CONTAINER}" \ docker exec "${ODOO_CONTAINER}" \
chown -R odoo:odoo /var/lib/odoo/filestore chown -R odoo:odoo /var/lib/odoo/filestore
echo "=== Arret du serveur Odoo (liberation de ir_cron) ==="
docker stop "${ODOO_CONTAINER}"
echo "=== Construction de la liste OCA ==="
OCA_MODULES="$(./build_oca_modules.sh ./modules.d)" OCA_MODULES="$(./build_oca_modules.sh ./modules.d)"
echo "${OCA_MODULES}"
echo "=== Mise a jour de base ===" echo "=== Mise a jour de base (conteneur jetable) ==="
docker exec -u odoo "${ODOO_CONTAINER}" \ docker compose run --rm -u odoo "${ODOO_SERVICE}" \
odoo \ odoo \
-c /etc/odoo/odoo.conf \ -c /etc/odoo/odoo.conf \
-d "${POSTGRES_DB}" \ -d "${POSTGRES_DB}" \
@ -46,8 +52,8 @@ docker exec -u odoo "${ODOO_CONTAINER}" \
--logfile "" \ --logfile "" \
--log-level info --log-level info
echo "=== Installation des modules OCA ===" echo "=== Installation des modules OCA (conteneur jetable) ==="
docker exec -u odoo "${ODOO_CONTAINER}" \ docker compose run --rm -u odoo "${ODOO_SERVICE}" \
odoo \ odoo \
-c /etc/odoo/odoo.conf \ -c /etc/odoo/odoo.conf \
-d "${POSTGRES_DB}" \ -d "${POSTGRES_DB}" \
@ -57,4 +63,7 @@ docker exec -u odoo "${ODOO_CONTAINER}" \
--logfile "" \ --logfile "" \
--log-level info --log-level info
echo "=== Installation terminée ===" echo "=== Redemarrage du serveur Odoo ==="
docker compose up -d "${ODOO_SERVICE}"
echo "=== Installation terminee ==="