fix(erpnext): run bench setup production as root, add nginx+supervisor
- bench setup production requires root (is_root check) - was failing as frappe user - Add nginx and supervisor as apt dependencies for production setup - Remove custom erpnext.service - bench manages gunicorn+workers via supervisor - Port 8000 → 80 (nginx reverse proxy) - Fix bench update in CT to run as frappe user with proper PATH
This commit is contained in:
@@ -31,8 +31,7 @@ function update_script() {
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
msg_info "Updating ERPNext"
|
msg_info "Updating ERPNext"
|
||||||
cd /opt/frappe-bench
|
$STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:$PATH"; cd /opt/frappe-bench && bench update --reset'
|
||||||
$STD bench update --reset
|
|
||||||
msg_ok "Updated ERPNext"
|
msg_ok "Updated ERPNext"
|
||||||
exit
|
exit
|
||||||
}
|
}
|
||||||
@@ -44,7 +43,7 @@ description
|
|||||||
msg_ok "Completed Successfully!\n"
|
msg_ok "Completed Successfully!\n"
|
||||||
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
|
||||||
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
|
||||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8000${CL}"
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}${CL}"
|
||||||
echo -e "${INFO}${YW} Credentials:${CL}"
|
echo -e "${INFO}${YW} Credentials:${CL}"
|
||||||
echo -e "${TAB}${BGN}Username: Administrator${CL}"
|
echo -e "${TAB}${BGN}Username: Administrator${CL}"
|
||||||
echo -e "${TAB}${BGN}Password: see /opt/frappe-bench/.env${CL}"
|
echo -e "${TAB}${BGN}Password: see /opt/frappe-bench/.env${CL}"
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ $STD apt install -y \
|
|||||||
libffi-dev \
|
libffi-dev \
|
||||||
libssl-dev \
|
libssl-dev \
|
||||||
redis-server \
|
redis-server \
|
||||||
|
nginx \
|
||||||
|
supervisor \
|
||||||
xvfb \
|
xvfb \
|
||||||
libfontconfig1 \
|
libfontconfig1 \
|
||||||
libxrender1 \
|
libxrender1 \
|
||||||
@@ -79,29 +81,10 @@ $STD systemctl enable --now redis-server
|
|||||||
msg_ok "Configured ERPNext"
|
msg_ok "Configured ERPNext"
|
||||||
|
|
||||||
msg_info "Setting up Production"
|
msg_info "Setting up Production"
|
||||||
$STD sudo -u frappe bash -c 'export PATH="$HOME/.local/bin:$PATH"; cd /opt/frappe-bench && bench setup production frappe --yes'
|
$STD bash -c 'export PATH="/home/frappe/.local/bin:$PATH"; cd /opt/frappe-bench && bench setup production frappe --yes'
|
||||||
|
$STD systemctl enable --now supervisor
|
||||||
msg_ok "Set up Production"
|
msg_ok "Set up Production"
|
||||||
|
|
||||||
msg_info "Creating Service"
|
|
||||||
cat <<EOF >/etc/systemd/system/erpnext.service
|
|
||||||
[Unit]
|
|
||||||
Description=ERPNext (Frappe Bench)
|
|
||||||
After=network.target mariadb.service redis-server.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Type=simple
|
|
||||||
User=frappe
|
|
||||||
WorkingDirectory=/opt/frappe-bench
|
|
||||||
ExecStart=/opt/frappe-bench/env/bin/gunicorn --bind 0.0.0.0:8000 --workers 4 --timeout 120 frappe.app:application
|
|
||||||
Restart=on-failure
|
|
||||||
RestartSec=5
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=multi-user.target
|
|
||||||
EOF
|
|
||||||
systemctl enable -q --now erpnext
|
|
||||||
msg_ok "Created Service"
|
|
||||||
|
|
||||||
motd_ssh
|
motd_ssh
|
||||||
customize
|
customize
|
||||||
cleanup_lxc
|
cleanup_lxc
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
"type": "ct",
|
"type": "ct",
|
||||||
"updateable": true,
|
"updateable": true,
|
||||||
"privileged": false,
|
"privileged": false,
|
||||||
"interface_port": 8000,
|
"interface_port": 80,
|
||||||
"documentation": "https://docs.erpnext.com/",
|
"documentation": "https://docs.erpnext.com/",
|
||||||
"website": "https://erpnext.com/",
|
"website": "https://erpnext.com/",
|
||||||
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/erpnext.webp",
|
"logo": "https://cdn.jsdelivr.net/gh/selfhst/icons@main/webp/erpnext.webp",
|
||||||
|
|||||||
Reference in New Issue
Block a user