Super Simple Node.js Continuous Deployment using SaltStack and systemd

I'm a big fan of the SaltStack configuration management system. It's an extremely flexible and powerful system, but is also quite easy to use. When I initially set up this new release of this website, I had done most of the configuration manually. Not that it's a particularly complex operation, two Node apps and nginx proxying those sites. I used forever to keep those two sites running. Since that initial deploy, I've gained more exposure to the systemd platform (and learned that just calling it an init system is probably a good way to get called out online). Despite the criticism it receives, I think that as an init system, it is a great improvement over previous systems like Upstart. In fact, when it comes to defining new services, I think it shares the same adjectives I used to describe SaltStack in the opening sentence of this post - flexible, powerful, and easy to use! Besides easy creation and management of services, running Node apps via systemd offers some other benefits, like powerful integrated logging via journald and a simple-to-use dependency system (so you can ensure your Redis database is running when your web app goes to start). This article...


Read more »
under saltstack