[Unit]
-Description=Argeo Node %I
+Description=Argeo node %I
After=network.target
Wants=postgresql.service
[Service]
Type=simple
-PIDFile=/var/run/argeo/%i.pid
-ExecStart=/usr/sbin/argeoctl start %I
-ExecReload=/usr/sbin/argeoctl reload %I
-SuccessExitStatus=143
-DynamicUser=true
StateDirectory=argeo.d/%I
LogsDirectory=argeo.d/%I
ConfigurationDirectory=argeo.d/%I
+CacheDirectory=argeo.d/%I
+WorkingDirectory=/var/lib/argeo.d/%I
+
+ExecStart=/usr/lib/jvm/jre-11/bin/java \
+-Dosgi.configuration.cascaded=true \
+-Dosgi.sharedConfiguration.area=/etc/argeo.d/%I \
+-Dosgi.sharedConfiguration.area.readOnly=true \
+-Dargeo.node.repo.indexesBase=/var/cache/argeo.d/%I/indexes \
+-Dorg.osgi.framework.bootdelegation=com.sun.jndi.ldap,com.sun.jndi.ldap.sasl,com.sun.security.jgss,com.sun.jndi.dns,com.sun.nio.file,com.sun.nio.sctp \
+-Declipse.ignoreApp=true \
+-Dosgi.noShutdown=true \
+-Dorg.eclipse.equinox.http.jetty.autostart=false \
+-Dosgi.bundles=org.argeo.osgi.boot@start \
+@/usr/share/argeo/jvm.args \
+@/etc/argeo.d/jvm.args \
+@/etc/argeo.d/%I/jvm.args \
+@/usr/share/osgi/boot/framework.args \
+-configuration /var/lib/argeo.d/%I/state \
+-data /var/lib/argeo.d/%I/data
+# Exit codes of the JVM when SIGTERM or SIGINT have been caught:
+SuccessExitStatus=143 130
[Install]
WantedBy=multi-user.target