@0x4447/hotpepper
v2.0.0
Published
🌶 A SystemD config generators for NodeJS projects
Downloads
65
Readme
🌶 Hot Pepper
We created Hot Pepper to quickly add a NodeJS server to SystemD by setting up a custom configuration file based on the content of the package.json
file and the location in which the CLI was executed.
We prefer to use SystemD, because it's built into Debian, takes care of the lifetime of the process, and uses fewer resources than other solutions on today's market. Thus, you get more CPU and RAM for your app. Not to mention that the entire server will be set to Auto Start. This way, all the servers added to SystemD are always ready when you start your server/computer.
In addition, you'll save time because you won't be hand-creating a .service
for the dozens of micro services within a given project.
How to install
] sudo npm install -g @0x4447/hotpepper
How to use
] sudo hotpepper -s .
Where to get help
] hotpepper -h
What to Expect
Run the command in the directory that contains your project. If all necessary data is present in the package.json
file, the tool...
- Generates a
.service
file saved in the correct SystemD directory - The app forces SystemD to reload the service files
- The app starts your server
- The app tells SystemD to start your server every time the system boots
Sample of a .service file:
[Unit]
Description=example.com
Documentation=https://github.com/user/example.com
After=network.target
[Service]
EnvironmentFile=/home/admin/example.com/.env
Type=simple
User=admin
Group=admin
WorkingDirectory=/home/admin/example.com
ExecStart=/usr/bin/node bin/server
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=example.com
Restart=on-failure
RestartSec=3
KillMode=process
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
Once complete, the app lets you know whether the process was successful.
Where are the logs?
Run this command to view the server logs: sudo tail -f /var/log/syslog
. Each log entry has the name of the project attached.
The End
If you enjoyed this project, please consider giving it a 🌟. And check out our 0x4447 GitHub account, which contains additional resources you might find useful or interesting.
Sponsor 🎊
This project is brought to you by 0x4447 LLC, a software company specializing in building custom solutions on top of AWS. Follow this link to learn more: https://0x4447.com. Alternatively, send an email to [email protected].