erplibre/script/install_daemon.sh

78 lines
2.4 KiB
Bash
Raw Normal View History

#!/usr/bin/env bash
. ./env_var.sh
#EL_USER="erplibre"
#EL_HOME="/${EL_USER}"
#EL_HOME_ERPLIBRE="${EL_HOME}/erplibre"
#EL_HOME_ODOO="${EL_HOME_ERPLIBRE}/odoo"
#EL_INSTALL_WKHTMLTOPDF="True"
#EL_PORT="8069"
#EL_SUPERADMIN="admin"
#EL_CONFIG="${EL_USER}"
#--------------------------------------------------
# Adding ERPLibre as a daemon with SystemD
#--------------------------------------------------
echo -e "\n* Create init file"
sudo rm -f /tmp/${EL_CONFIG}
cat <<EOF > /tmp/${EL_CONFIG}
[Unit]
Description=${EL_USER}
Requires=postgresql.service
After=network.target network-online.target postgresql.service
[Service]
Type=simple
SyslogIdentifier=${EL_USER}
PermissionsStartOnly=true
User=${EL_USER}
Group=${EL_USER}
Restart=always
RestartSec=5
PIDFile=${EL_HOME_ERPLIBRE}/venv/service.pid
ExecStart=${EL_HOME_ERPLIBRE}/venv/run.sh
StandardOutput=journal+console
[Install]
WantedBy=multi-user.target
EOF
echo -e "* Security Init File"
sudo cp /tmp/${EL_CONFIG} /etc/systemd/system/${EL_CONFIG}.service
sudo chmod 755 /etc/systemd/system/${EL_CONFIG}.service
sudo chown root: /etc/systemd/system/${EL_CONFIG}.service
echo -e "* Start ERPLibre on Startup"
sudo systemctl daemon-reload
sudo systemctl enable ${EL_CONFIG}.service
sudo su ${EL_USER} -c "sudo rm -f /tmp/${EL_USER}run.sh"
cat <<EOF > /tmp/${EL_USER}run.sh
#!/usr/bin/env bash
cd ${EL_HOME_ERPLIBRE}
source ./venv/bin/activate
python3 ${EL_HOME_ERPLIBRE}/odoo/odoo-bin -c ${EL_HOME_ERPLIBRE}/config.conf --limit-time-real 99999 --limit-time-cpu 99999 $@
EOF
echo -e "* Security Run File"
sudo cp /tmp/${EL_USER}run.sh ${EL_HOME_ERPLIBRE}/venv/run.sh
sudo chmod 755 ${EL_HOME_ERPLIBRE}/venv/run.sh
sudo chown ${EL_USER}: ${EL_HOME_ERPLIBRE}/venv/run.sh
echo "-----------------------------------------------------------"
echo "Done! The ERPLibre server is up and running. Specifications:"
echo "Port: ${EL_PORT}"
echo "Port Long Polling: ${EL_LONGPOLLING_PORT}"
echo "User service: ${EL_USER}"
echo "User PostgreSQL: ${EL_USER}"
echo "Code location: ${EL_USER}"
echo "Addons folder: ${EL_USER}/${EL_CONFIG}/addons/"
echo "Start ERPLibre service: sudo systemctl start ${EL_CONFIG}"
echo "Stop ERPLibre service: sudo systemctl stop ${EL_CONFIG}"
echo "Restart ERPLibre service: sudo systemctl restart ${EL_CONFIG}"
echo "-----------------------------------------------------------"
echo -e "* Starting ERPLibre Service"
sudo systemctl restart ${EL_CONFIG}.service