From 6b09901b1b11eaa53d631db16f5f9b1429e7cda5 Mon Sep 17 00:00:00 2001 From: BadStorm Developer Date: Sun, 1 Mar 2026 21:33:10 +0100 Subject: [PATCH] Fix db support --- Services/odoo/odoo-entrypoint.sh | 33 +++++++++++++++++++++++--------- Services/odoo/odoo.ContainerFile | 1 - Services/odoo/odoo.container | 2 +- 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/Services/odoo/odoo-entrypoint.sh b/Services/odoo/odoo-entrypoint.sh index c4981fc..b49643c 100644 --- a/Services/odoo/odoo-entrypoint.sh +++ b/Services/odoo/odoo-entrypoint.sh @@ -8,12 +8,6 @@ DB_PORT="${DB_PORT:-5432}" DB_USER="${DB_USER:-odoo}" DB_PASSWORD="${DB_PASSWORD:-odoo}" DB_NAME="${DB_NAME:-}" -LIST_DB="True" - -# Se db_name è impostata, imposta list_db=false -if [ -n "$DB_NAME" ]; then - LIST_DB="False" -fi # Crea la directory di configurazione in /opt/odoo mkdir -p /opt/odoo @@ -27,8 +21,21 @@ db_host = $DB_HOST db_port = $DB_PORT db_user = $DB_USER db_password = $DB_PASSWORD +EOF + +# Aggiungi db_name e list_db a seconda se DB_NAME è impostata +if [ -n "$DB_NAME" ]; then + cat >> /opt/odoo/odoo.conf << EOF db_name = $DB_NAME -list_db = $LIST_DB +list_db = False +EOF +else + cat >> /opt/odoo/odoo.conf << EOF +list_db = True +EOF +fi + +cat >> /opt/odoo/odoo.conf << EOF ; File Paths addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom_addons @@ -52,10 +59,18 @@ source /opt/odoo/venv/bin/activate # Vai nella directory di Odoo cd /opt/odoo/odoo-server -# Se il file .odoo_initialized non esiste, inizializza il database e crea l'utente admin -if [ ! -f /opt/odoo/.odoo_initialized ]; then +# Inizializza il database solo se DB_NAME è impostato e il file .odoo_initialized non esiste +if [ -n "$DB_NAME" ] && [ ! -f /opt/odoo/.odoo_initialized ]; then echo "Inizializzazione del database..." + # Verifica e crea il database se necessario + DB_EXISTS=$(PGPASSWORD=$DB_PASSWORD psql -h $DB_HOST -U $DB_USER -lqt 2>/dev/null | cut -d'|' -f1 | grep -w $DB_NAME | wc -l) + + if [ "$DB_EXISTS" -eq 0 ]; then + echo "Creazione del database $DB_NAME..." + PGPASSWORD=$DB_PASSWORD createdb -h $DB_HOST -U $DB_USER $DB_NAME + fi + # Inizializza il database ./odoo-bin -c /opt/odoo/odoo.conf -i base --stop-after-init --without-demo diff --git a/Services/odoo/odoo.ContainerFile b/Services/odoo/odoo.ContainerFile index 377fd33..32f34c0 100644 --- a/Services/odoo/odoo.ContainerFile +++ b/Services/odoo/odoo.ContainerFile @@ -72,7 +72,6 @@ RUN mkdir -p /opt/odoo \ ENV DB_HOST=postgres ENV DB_PORT=5432 ENV DB_USER=odoo -ENV DB_NAME=mydb ENV DB_PASSWORD=odoo ENV ADMIN_PASSWD=my_admin_password diff --git a/Services/odoo/odoo.container b/Services/odoo/odoo.container index 829b992..7d821e8 100644 --- a/Services/odoo/odoo.container +++ b/Services/odoo/odoo.container @@ -16,7 +16,7 @@ Environment=DB_HOST=postgres Environment=DB_PORT=5432 Environment=DB_USER=odoo Environment=DB_PASSWORD=odoo -Environment=DB_NAME=mydb +#Environment=DB_NAME=mydb [Service]