Dateien
bdi_podman_serverconf/Services/odoo/odoo-entrypoint.sh
2026-02-28 22:28:37 +01:00

70 Zeilen
1.6 KiB
Bash

#!/bin/bash
set -e
# Valori di default
ADMIN_PASSWD="${ADMIN_PASSWD:-Password123}"
DB_HOST="${DB_HOST:-localhost}"
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
# Crea il file di configurazione Odoo con i valori delle variabili d'ambiente
cat > /opt/odoo/odoo.conf << EOF
[options]
; Server Configuration
admin_passwd = $ADMIN_PASSWD
db_host = $DB_HOST
db_port = $DB_PORT
db_user = $DB_USER
db_password = $DB_PASSWORD
db_name = $DB_NAME
list_db = $LIST_DB
; File Paths
addons_path = /opt/odoo/odoo-server/addons,/opt/odoo/custom_addons
data_dir = /opt/odoo/data
; Logging
log_file = /opt/odoo/odoo.log
log_level = info
; Workers (optional, for production)
workers = 4
gevent_port = 8072
; Other Settings
max_cron_threads = 2
EOF
# Attiva il virtual environment
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
echo "Inizializzazione del database..."
# Inizializza il database
./odoo-bin -c /opt/odoo/odoo.conf -i base --stop-after-init --without-demo
# Crea il file di flag per indicare che l'inizializzazione è completata
touch /opt/odoo/.odoo_initialized
echo "Database inizializzato."
fi
# Avvia Odoo
exec ./odoo-bin -c /opt/odoo/odoo.conf