For Linux, use the portable JVM distribution. It can be started manually or as a systemd service. Below is an example for directory /opt/palmorder-server and a single system user palmorder.
Manual start
Install Java Runtime or JDK version 25, unzip the distribution and edit config/application.yml. In the PalmOrderServer directory, do:
./run.sh
The server is running as long as you have a terminal window open. Press Ctrl+C for normal termination. Common requirements and startup parameters are described on the page Portable JVM.
Prepare the systemd service
- Install Java Runtime or JDK version 25.
- Unpack the portable JVM distribution in
/opt/palmorder-server. - Edit
/opt/palmorder-server/config/application.ymland change the default admin password. - Create a system user and give it access to the server directory:
sudo useradd --system --home-dir /opt/palmorder-server --no-create-home palmorder
sudo chown -R palmorder:palmorder /opt/palmorder-server
sudo chmod +x /opt/palmorder-server/run.sh
If Java is not available in the system PATH, set JAVA_HOME in the service file as shown below.
Create the systemd service
Create a file /etc/systemd/system/palmorder-server.service with the following content:
[Unit]
Description=PalmOrder Server
After=network.target
[Service]
Type=simple
User=palmorder
Group=palmorder
WorkingDirectory=/opt/palmorder-server
ExecStart=/opt/palmorder-server/run.sh
Restart=on-failure
RestartSec=10
# Додайте цей рядок, якщо Java встановлена поза PATH:
# Environment=JAVA_HOME=/opt/java/jdk-25
[Install]
WantedBy=multi-user.target
Download the configuration and enable the service:
sudo systemctl daemon-reload
sudo systemctl enable --now palmorder-server
sudo systemctl status palmorder-server
After a successful launch, the control panel is available on http://localhost:8888/ui.
Management and diagnostics
# зупинити
sudo systemctl stop palmorder-server
# запустити
sudo systemctl start palmorder-server
# перезапустити після зміни конфігурації
sudo systemctl restart palmorder-server
# переглянути повідомлення служби
sudo journalctl -u palmorder-server -e
The PalmOrder technical log is also stored in /opt/palmorder-server/logs/palmorder-server.log.
Access to exchange directories
User palmorder must have write access to data, logs, palmorder.sqlite and each configured inbox and outbox. If the ERP is running from a different user or on a different server, configure access to the exchange directories separately.
Before upgrading, stop the service and create a backup. If the new version is unpacked in a different directory, change WorkingDirectory and ExecStart in the unit file, then do sudo systemctl daemon-reload. See Update and Backup.
