- Added add_to_apps_screen hook in hooks.py with custom icon - Created service_factory SVG icon (blue rounded square) - Added permission check module (api/permission.py) - Assets symlink instruction in deploy README - Icon accessible at /assets/service_factory/icons/service_factory.svg
52 lines
1.4 KiB
Markdown
52 lines
1.4 KiB
Markdown
# Deployment Configuration
|
|
|
|
## Systemd Services
|
|
|
|
The Frappe Bench (ERPNext) is managed via systemd for automatic startup on boot.
|
|
|
|
### Services
|
|
|
|
| Service | Description | Port |
|
|
|---------|-------------|------|
|
|
| `frappe-bench-web.service` | Web server (gunicorn) | 8000 |
|
|
| `frappe-bench-worker.service` | Background async worker | - |
|
|
| `frappe-bench-schedule.service` | Scheduled job runner | - |
|
|
| `frappe-bench-socketio.service` | Realtime WebSocket server | 9000 |
|
|
| `frappe-bench-watch.service` | File watcher (dev/assets) | - |
|
|
|
|
### Management
|
|
|
|
```bash
|
|
# View status of all services
|
|
systemctl status frappe-bench-web.service
|
|
|
|
# Start/Stop all services
|
|
systemctl start frappe-bench.target
|
|
systemctl stop frappe-bench.target
|
|
|
|
# View logs
|
|
journalctl -u frappe-bench-web.service -f
|
|
journalctl -u frappe-bench-worker.service -f
|
|
```
|
|
|
|
### Installation
|
|
|
|
```bash
|
|
sudo cp deploy/frappe-bench-*.service deploy/frappe-bench.target /etc/systemd/system/
|
|
sudo cp deploy/bench-env.sh /opt/erpnext/frappe-bench/bench-env.sh
|
|
sudo systemctl daemon-reload
|
|
sudo systemctl enable frappe-bench.target
|
|
sudo systemctl start frappe-bench.target
|
|
```
|
|
|
|
### Assets Symlink
|
|
|
|
After installing the app, create the assets symlink for custom icons:
|
|
|
|
```bash
|
|
sudo ln -sf /opt/erpnext/frappe-bench/apps/service_factory/service_factory/public /opt/erpnext/frappe-bench/sites/assets/service_factory
|
|
```
|
|
|
|
### Credentials
|
|
|
|
Admin credentials are stored in `/root/erpnext-admin-credentials.txt`.
|