'Cant enable service with systemctl

I made this service:

#!/bin/bash
node ../../home/NodeServer/server.js

All it should do is start the server on bootup, so i wanted to do

sudo systemctl enable startServer.service

But I got this error:

startServer.sh.service is not a native service, redirecting to systemd-sysv-insall.
Executing: /lib/systemd/systemd-sysv-install enable startServer.sh
update-rc.d: error: startServer.sh Default-Start contains no runlevels, aborting.

When i try to do

sudo systemctl start startServer.service

it works like intended.



Solution 1:[1]

I had the same problem. I solve it typing again the file because it seems that there was a strange character that was broken the parser. Hope this helps!

Solution 2:[2]

You want to execute a script, which is not the same as a service.

You can make a file called startServer.service and write the following into it:

[Unit]
Description=Start server that does a thing

[Service]
ExecStart=node /home/NodeServer/server.js

If you want to enable the service, do the following:

sudo ln -s /home/NodeServer/startServer.service /etc/systemd/system/

and now you should be able to start the service.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 Matias Pando
Solution 2 youngtrashbag