2026-04-05 08:52:57 +00:00
|
|
|
#!/bin/bash
|
|
|
|
|
set -euo pipefail
|
|
|
|
|
########################
|
|
|
|
|
###
|
2026-05-28 13:48:08 +00:00
|
|
|
### 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.
|
2026-04-05 08:52:57 +00:00
|
|
|
###
|
|
|
|
|
########################
|
2026-04-21 09:24:20 +00:00
|
|
|
source ./0.variables.env
|
2026-05-28 13:48:08 +00:00
|
|
|
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
|
2026-04-05 08:52:57 +00:00
|
|
|
|
2026-05-28 13:48:08 +00:00
|
|
|
: "${ODOO_SERVICE:?ODOO_SERVICE KO - verifie ton docker-compose.yml }"
|
|
|
|
|
: "${ODOO_CONTAINER:?ODOO_CONTAINER absent de 0.variables.env}"
|
|
|
|
|
: "${POSTGRES_DB:?POSTGRES_DB absent de 0.variables.env}"
|
2026-04-07 14:08:53 +00:00
|
|
|
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "=== Service compose : ${ODOO_SERVICE} / conteneur : ${ODOO_CONTAINER} ==="
|
2026-04-07 14:08:53 +00:00
|
|
|
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "=== Verification que le conteneur tourne ==="
|
2026-04-07 14:08:53 +00:00
|
|
|
if ! docker inspect -f '{{.State.Running}}' "${ODOO_CONTAINER}" 2>/dev/null | grep -q true; then
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "ERREUR : conteneur ${ODOO_CONTAINER} non demarre ou inexistant"
|
2026-04-07 14:08:53 +00:00
|
|
|
exit 1
|
|
|
|
|
fi
|
|
|
|
|
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "=== Correction des droits du filestore (conteneur encore vivant) ==="
|
2026-04-05 08:52:57 +00:00
|
|
|
docker exec "${ODOO_CONTAINER}" \
|
2026-05-28 13:48:08 +00:00
|
|
|
chown -R odoo:odoo /var/lib/odoo/filestore
|
2026-04-05 08:52:57 +00:00
|
|
|
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "=== Arret du serveur Odoo (liberation de ir_cron) ==="
|
|
|
|
|
docker stop "${ODOO_CONTAINER}"
|
|
|
|
|
|
|
|
|
|
echo "=== Construction de la liste OCA ==="
|
2026-05-28 09:15:27 +00:00
|
|
|
OCA_MODULES="$(./build_oca_modules.sh ./modules.d)"
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "${OCA_MODULES}"
|
2026-05-28 09:15:27 +00:00
|
|
|
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "=== Mise a jour de base (conteneur jetable) ==="
|
|
|
|
|
docker compose run --rm -u odoo "${ODOO_SERVICE}" \
|
2026-04-05 08:52:57 +00:00
|
|
|
odoo \
|
|
|
|
|
-c /etc/odoo/odoo.conf \
|
2026-05-28 07:36:17 +00:00
|
|
|
-d "${POSTGRES_DB}" \
|
2026-04-05 08:52:57 +00:00
|
|
|
--update base \
|
|
|
|
|
--stop-after-init \
|
|
|
|
|
--no-http \
|
|
|
|
|
--logfile "" \
|
|
|
|
|
--log-level info
|
|
|
|
|
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "=== Installation des modules OCA (conteneur jetable) ==="
|
|
|
|
|
docker compose run --rm -u odoo "${ODOO_SERVICE}" \
|
2026-04-05 08:52:57 +00:00
|
|
|
odoo \
|
|
|
|
|
-c /etc/odoo/odoo.conf \
|
2026-05-28 07:36:17 +00:00
|
|
|
-d "${POSTGRES_DB}" \
|
2026-04-05 08:52:57 +00:00
|
|
|
-i "${OCA_MODULES}" \
|
|
|
|
|
--stop-after-init \
|
|
|
|
|
--no-http \
|
|
|
|
|
--logfile "" \
|
|
|
|
|
--log-level info
|
|
|
|
|
|
2026-05-28 13:48:08 +00:00
|
|
|
echo "=== Redemarrage du serveur Odoo ==="
|
|
|
|
|
docker compose up -d "${ODOO_SERVICE}"
|
|
|
|
|
|
|
|
|
|
echo "=== Installation terminee ==="
|