#!/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