--- /dev/null
+# In order to use the argeo@<iinstance> systemd services, first execute:
+semodule -i /usr/share/argeo/selinux/argeoctl.pp
\ No newline at end of file
--- /dev/null
+[Unit]
+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
+
+[Install]
+WantedBy=multi-user.target
#!/bin/sh
APP=argeo
+if [ -z "$2" ]; then
+# Default node
+CONF_DIR=/etc/$APP
+EXEC_DIR=/var/lib/$APP
+else
+# Instance
+INSTANCE=$2
+ if [ -z "$STATE_DIRECTORY" ]; then
+ INSTANCE_DIR=/var/lib/$APP.d/$INSTANCE
+ else
+ # systemd StateDirectory=
+ INSTANCE_DIR=$STATE_DIRECTORY
+ fi
+ if [ -z "$CONFIGURATION_DIRECTORY" ]; then
+ CONF_DIR=/etc/$APP.d/$INSTANCE
+ else
+ # systemd ConfigurationDirectory=
+ CONF_DIR=$CONFIGURATION_DIRECTORY
+ fi
+
+EXEC_DIR=$INSTANCE_DIR
+
+ if [ ! -f $CONF_DIR/$APP.ini ]; then
+ cp /etc/$APP/$APP.ini $CONF_DIR
+ fi
+ if [ ! -f $CONF_DIR/log4j.properties ]; then
+ cp /etc/$APP/log4j.properties $CONF_DIR
+ fi
+fi
+
JVM=java
# Directories and files
-CONF_DIR=/etc/$APP
-CONF_DIRS=/etc/$APP/conf.d
+
BASE_POLICY_ALL=/usr/share/$APP/all.policy
BASE_CONFIG_INI=/usr/share/$APP/config.ini
-EXEC_DIR=/var/lib/$APP
+CONF_DIRS=$CONF_DIR/conf.d
DATA_DIR=$EXEC_DIR/data
CONF_RW=$EXEC_DIR/state
CONFIG_INI=$CONF_RW/config.ini