Files

85 خطوط
2.1 KiB
Bash

2026-02-28 22:28:37 +01:00
#!/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:-}"
# 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
2026-03-01 21:33:10 +01:00
EOF
# Aggiungi db_name e list_db a seconda se DB_NAME è impostata
if [ -n "$DB_NAME" ]; then
cat >> /opt/odoo/odoo.conf << EOF
2026-02-28 22:28:37 +01:00
db_name = $DB_NAME
2026-03-01 21:33:10 +01:00
list_db = False
EOF
else
cat >> /opt/odoo/odoo.conf << EOF
list_db = True
EOF
fi
cat >> /opt/odoo/odoo.conf << EOF
2026-02-28 22:28:37 +01:00
; 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
2026-03-01 21:33:10 +01:00
# 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
2026-02-28 22:28:37 +01:00
echo "Inizializzazione del database..."
2026-03-01 21:33:10 +01:00
# 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
2026-02-28 22:28:37 +01:00
# 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