85 wiersze
2.1 KiB
Bash
85 wiersze
2.1 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:-}"
|
|
|
|
# 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
|
|
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 = 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
|
|
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
|
|
|
|
# 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
|
|
|
|
# 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
|