Header

How can I run the DeployHQ agent automatically on my server during startup?

The following example is a systemd script, which defines a simple process that is run during startup. This is compatible with most Linux-based systems but you may need to implement a different solution on another operating system.

Simply save this file as a useful name within your /etc/systemd/system directory, as follows:

/etc/systemd/system/deployhq-agent.service

The file will contain the following:

[Unit]
Description=Deploy Agent

[Service]
User=deployhq
ExecStart=/usr/local/bin/deploy-agent run
ExecStop=/usr/local/bin/deploy-agent stop
Restart=on-failure

[Install]
WantedBy=multi-user.target

You'll need to replace the User value as appropriate for the user you installed the agent with.

Once the file has been created and populated, you'll need to set permissions for it, reload systemd and then enable the service:

sudo chmod 644 /etc/systemd/system/deploy-agent.service
sudo systemctl daemon-reload
sudo systemctl enable deploy-agent.service

This will cause the agent to be started on boot, and if you wish to start it immediately, you can run:

sudo systemctl start deploy-agent.service

If you need to check that the agent is running correctly at any time, you can run:

$ sudo systemctl status deploy-agent.service
* deploy-agent.service - Deploy Agent
   Loaded: loaded (/etc/systemd/system/deploy-agent.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2019-10-09 10:22:49 BST; 48s ago
 Main PID: 526 (deploy-agent)
   CGroup: /system.slice/deploy-agent.service
           `-526 /usr/bin/ruby2.3 /usr/local/bin/deploy-agent run