freebsd-ports/finance/odoo15/files/odoo.in
Jose Alonso Cardenas Marquez b5d9784c3d security/odoo15: New port: Suite of web based open source business apps
Odoo is a suite of web based open source business apps.

The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce,
Warehouse Management, Project Management, Billing & Accounting, Point of Sale,
Human Resources, Marketing, Manufacturing, etc

Odoo Apps can be used as stand-alone applications, but they also integrate
seamlessly so you get a full-featured Open Source ERP when you install several
Apps.
2022-11-18 01:00:49 -05:00

114 lines
2.6 KiB
Bash

#!/bin/sh
# PROVIDE: odoo
# REQUIRE: NETWORKING
# KEYWORD: shutdown
#
# Configuration settings for odoo in /etc/rc.conf:
#
# odoo_enable: run odoo server (default=NO)
# odoo_database: define odoo database name (default=odoodb)
# odoo_datadir: directory where odoo store data (default=/var/lib/odoo)
# odoo_flags: additional flags for odoo server (default=--without-demo=all)
#
. /etc/rc.subr
name=odoo
rcvar=odoo_enable
load_rc_config ${name}
: ${odoo_enable:=NO}
: ${odoo_database:="odoodb"}
: ${odoo_datadir:="/var/lib/${name}"}
: ${odoo_flags="--without-demo=all"}
odoo_user="odoo"
pidfile=/var/run/odoo.pid
extra_commands="initdb"
su_cmd="/usr/bin/su"
chown_cmd="/usr/sbin/chown"
mkdir_cmd="/bin/mkdir"
start_cmd="odoo_start"
stop_cmd="odoo_stop"
status_cmd="odoo_status"
restart_cmd="odoo_restart"
initdb_cmd="odoo_initdb"
start_precmd="odoo_start_precmd"
command=/usr/local/bin/odoo
command_args="--database=${odoo_database} --data-dir=${odoo_datadir} --logfile=/var/log/${name}.log --config=%%LOCALBASE%%/etc/odoo/odoo.conf ${odoo_flags}"
odoo_start_precmd() {
odoo_datadir_check
touch ${pidfile}
${chown_cmd} -R ${odoo_user}:${odoo_user} ${pidfile}
}
odoo_start()
{
daemon -p ${pidfile} -u ${odoo_user} \
${command} ${command_args}
echo "Starting ${name}"
}
odoo_datadir_check()
{
if [ ! -d "${odoo_datadir}" ]; then
${mkdir_cmd} -p ${odoo_datadir}
${chown_cmd} -R ${odoo_user}:${odoo_user} ${odoo_datadir}
echo "${name} data directory created"
fi
}
odoo_initdb()
{
echo " "
echo "#################################################################"
echo "# #"
echo "# Don't use initdb if you are updating from previous version of #"
echo "# Odoo. Cancel if this is your case (Ctrl + C) #"
echo "# #"
echo "#################################################################"
echo " "
sleep 10
odoo_start_precmd
daemon -p ${pidfile} -u ${odoo_user} \
${command} ${command_args} -i all
echo "Initializing database and starting ${name} server"
}
odoo_restart()
{
echo "Performing restart ${name}"
odoo_stop
sleep 5
odoo_start
}
odoo_status()
{
# If running, show pid
if [ -f ${pidfile} ]
then
echo "${name} is running as pid" `cat ${pidfile}`
else
echo "${name} is not running"
fi
}
odoo_stop()
{
if [ -f ${pidfile} ]
then
kill `cat ${pidfile}`
rm ${pidfile}
echo "Stopping ${name}"
fi
}
run_rc_command "$1"