Systemctl configuration on AWS EC2 + AWS Linux2

  • Hi All,

    I am trying to automate nodebb bring-up. I am using Amazon's EC2 with linux2.

    Per the manual, my systemctl is as follows:

    Description=NodeBB Service
    After=system.slice mongod.service



    ExecStart=/usr/bin/env node loader.js --no-silent --no-daemon


    My first issue was that node was not found (the recommended nodejs setup is per-user and not global). I solved that by adding a link (ln -s) from the www directory to the latest node version, replacing the ExecStart with:

    ExecStart=/usr/bin/env /home/nodebb/www/node_link loader.js --no-silent --no-daemon

    NodeBB does start, however, it looks like the WorkingDirectory is not respected, as I am getting spawn npm ENOENT when attempting to install a plugin.

    Any idea how to fix this?


  • Global Moderator Plugin & Theme Dev

    @jjsagan spawn npm enoent means that npm isn't in your path when your start the NodeBB process.

  • Thank you @PitaJ , the same issue I had with node.

    The paths to npm and node are dynamic, as they depend on the last version installed. I rely on .bashrc to set the path properly.

    Is there a way in systemctl to source the path from the .bashrc of a user ("nodebb" in my case), prior to execution?

  • What is the manual that you use?

Suggested Topics

| |