Can AMPS run as a User Service?

Yes.

The AMPS distribution includes scripts that provide an outline for installing AMPS as a system service. You can also easily install AMPS as a user service (provided that the user has permission to do so).

The precise steps to follow may vary somewhat, depending on your environment and the distribution you use, but the basic outline is as follows:

  1. Create the directories that will hold the service definition files (typically, this is ~/.config/systemd/user ).

  2. Install the AMPS distribution in a directory that the user has access to. For the purposes of this article, we will assume that the directory is at /home/ampsuser/opt/bin/amps.

  3. Create the AMPS configuration file and install it in a directory that the user has access to. For the purposes of this article, we will assume that the configuration file is at /home/ampsuser/opt/etc/amps/config.xml.

  4. Create the service definition file. For the purposes of this article, we will assume that the file is named amps.service. For example, a minimal file might include directives along these lines:

    [Unit]
    Description=Advanced Message Processing System
    After=syslog.target
    After=network-online.target
    
    [Service]
    ExecStart=/home/ampsuser/opt/bin/amps/bin/ampServer /home/ampsuser/opt/etc/amps/config.xml
    Restart=on-failure
    NoNewPrivileges=true
    
    
    [Install]
    WantedBy=default.target
        

    See the systemd documentation for the options available.

  5. Reload systemd to read the service definition (systemctl --user daemon-reload).

  6. Verify that systemd has found the service definition (systemctl --user list-unit-files amps.service).

  7. Enable and start the service (systemctl --user enable --now amps.service).

AMPS should now be running.

Last updated