Skip to main content

How to create odoo as a service

For the odoo installation steps please follow steps in my previous post.

Assume i have saved my code in following path
/home/pranav/my_code/odoo




1)Create “odoo-server.conf” file and copy and paste below content.


[options] ; This is the password that allows database operations: admin_passwd = password db_host = localhost db_port = 5432 db_user = pranav db_password = postgres db_name = <db_name> dbfilter = <db_name> addons_path = /home/pranav/my_code/odoo/odoo/addons,/home/pranav/my_code/odoo/addons,/home/pranav/my_code/custom_module logfile = /var/log/odoo/odoo-server.log xmlrpc = True xmlrpc_port=8088




2)Paste the file in "/etc" folder and change its permission and access mode


chown <user_name>: -R /home/pranav/my_code/odoo
chown <user_name>: /etc/odoo-server.conf
chmod 640 /etc/odoo-server.conf

3)Create file "odoo-server" inside "/etc/init.d" folder with below content

#!/bin/sh
### BEGIN INIT INFO
# Provides: odoo-server
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Business Applications
# Description: ODOO Business Applications.
### END INIT INFO
PATH=/bin:/sbin:/usr/bin
DAEMON=/home/pranav/my_code/odoo/odoo-bin (It may change according to your downloaded bundle)
NAME=odoo-server
DESC=odoo-server


# Specify the user name (Default: openerp).
USER=<user_name>


# Specify an alternate config file (Default: /etc/odoo-server.conf).
CONFIGFILE="/etc/odoo-server.conf"


# pidfile
PIDFILE=/var/run/$NAME.pid


# Additional options that are passed to the Daemon.
DAEMON_OPTS="-c $CONFIGFILE"
[ -x $DAEMON ] || exit 0
[ -f $CONFIGFILE ] || exit 0
checkpid() {
[ -f $PIDFILE ] || return 1
pid=`cat $PIDFILE`
[ -d /proc/$pid ] && return 0
return 1
}


case "${1}" in
start)
echo -n "Starting ${DESC}: "
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}
echo "${NAME}."
;;
stop)
echo -n "Stopping ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
--oknodo
echo "${NAME}."
;;


restart|force-reload)
echo -n "Restarting ${DESC}: "
start-stop-daemon --stop --quiet --pidfile ${PIDFILE} \
--oknodo
sleep 1
start-stop-daemon --start --quiet --pidfile ${PIDFILE} \
--chuid ${USER} --background --make-pidfile \
--exec ${DAEMON} -- ${DAEMON_OPTS}
echo "${NAME}."
;;
*)
N=/etc/init.d/${NAME}
echo "Usage: ${NAME} {start|stop|restart|force-reload}" >&2
exit 1
;;


esac
exit 0


4)Change above file permission and access mode

chmod 755 /etc/init.d/odoo-server
chown <user_name>: /etc/init.d/odoo-server


5)Create log file inside "/var/log/odoo" folder

chowm <user_name>:/var/log/odoo
touch /var/log/odoo/odoo-server.log
chmod 777 /var/log/odoo/odoo-server.log

6)Start the service

/etc/init.d/odoo-service start

To view log data
tail -f /var/log/odoo/odoo-server.log

7)Add as service

sudo systemctl daemon-reload
sudo systemctl enable odoo-server.service
sudo systemctl start odoo-server.service

Comments

Popular posts from this blog

How to create multiple services of Odoo(above version 10) on windows

In this post, I will explain how we can create multiple Odoo services in a Windows Server. Step 1 First, you need to get the executable file from the Odoo link mentioned below Or open the already existing executable file.   https://www.odoo.com/page/download   If you are running the executable file for the second time uncheck Postgres installation since it is already done in the first install. Keep a note of your installation path. Step 2 Go to the below path where "Odoo 12.0 Test" is the directory your new installation files belong to: C:\Program Files (x86)\Odoo 12.0 Test\nssm\win64\ Open the command prompt  and type the below command: nssm install odoo-server-TEST   A User Interface similar to the image below will popup, you have to fill the three empty fields with values I mentioned below Step 3 Path : C:\Program Files (x86)\Odoo 12.0 Test\Python\python.exe Startup directory : C:\Program Files (x86)\Odoo 12.0 Test\server Arguments : "C:\Program Files (x86)\Odoo 1...

Odoo Tips

//create a module sudo odoo scaffold <module_name> Run odoo in server from Command line Run under root user permission python3.6 ./odoo-bin --addons=~/odoo/odoo/addons,~/odoo/pranav/<custom module>,~/odoo/accounting_reports --xmlrpc-port=8085 -d <database name> Run under different user with different DB server(Eg:Odoo) First switch to odoo user: sudo su - odoo -s /bin/bash Run the script ./odoo-bin --addons-path=/opt/odoo/addons,/opt/test_addons --db_host=<ip address> --db_port=<port> --db_password=<password> --database=<db name> -u <user name> --db-filter=<db name> --xmlrpc-port=1122 Nohup-to run a service without writing service file :- nohup python3.6 ./odoo-bin --addons=~/odoo/odoo/addons,~/odoo/pranav/<custom module>,~/odoo/accounting_reports --xmlrpc-port=8085 -d <database name> & ODOO QWEB Datetime operation ------------------------------------ <span  t-set...

INSTALL ODOO-10.0 Community version in debian based system(ubuntu)

INSTALL ODOO-10.0 Community version in debian based system(ubuntu) ====================================================== >>sudo wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add - Type the below code and paste "deb http://nightly.odoo.com/10.0/nightly/deb/ ./" >>sudo nano /etc/apt/sources.list.d/odoo.list >>sudo apt-get update && sudo apt-get install odoo Do you want to continue? [Y/n] (type y) Source code --------------- Now odoo is installed in your linux system. Use " sudo service odoo restar t" to restart odoo if you are changing the conf file settings. You will get the source code in git. "git clone https://github.com/odoo/odoo.git" to clone from git Note:Better to download the zip file from above link as cloning consumes lot of time. Odoo dependencies: ------------------------ * python 2.7(already available in linux) * NodeJS(already available)  To upgrade:  >>sudo apt-get ins...