Automatically update and restart node applications when you push to GIT.

TF Monitor (Work in Progress)

Note: TF Monitor, at this point, isn't being written with Windows in mind. Only Linux and Mac OS. Also, we expect your system to have git, cron and node installed in the default locations.

TF Monitor automatically restarts node applications when they crash or any file in their directory changes. In the future you will be able to:

  • specify an application to launch on bootup
  • automatically update and restart your app whenever you push to GIT

npm install -g tfmonitor

Use sudo if necessary.

TF Monitor uses a file called Procfile placed in your project folder to launch your application. This file should contain one or more lines that:

  • start with a name followed by a colon
  • after the colon is the command to start your application

See the "Launch Application" section for example.

A package.json file with a valid name is also required.

Run the following from your applications root folder:

tfmonitor start web

Or, if you want to run tfmonitor in the foreground so you can use ctrl-c to stop it use:

tfmonitor start web --foreground

You may also enable logging for this command with the --log command line parameter. This is useful if you want to know when your application restarts or you want to see any errors thrown by TF Monitor (the software is still early in development, so don't rely on it in a production environment).

Your Procfile for this example should look like:

web: node myapp.js

tfmonitor stop web

Where web is the command name in your Procfile.

tfmonitor register web

Note that your application will start on boot without using tfmonitor for restarting... This will change soon.

tfmonitor unregister web

tfmonitor list

This will return a list of running applications each with a pid and name. Note that the pid is for the tfmonitor process that is monitoring your appliction and not your application itself. If you kill this process it will not automatically restart like your application will.

First, make sure your application is fully setup to work with GIT. Try a git pull from your apps root directory.

Once this is working simply add -git to your start or register command like so:

tfmonitor register web -git

This will do a git pull once per hour. The advantage of this is your computer can be behind a firewall with no exposed ports.

The following features are not yet implemented. This defines how we plan to make them work in the future!

If your computer is not behind a firewall, or you have the ability to open ports, the better way to setup git is to use a "hook". Your hook should point to:


Then use our -githook [port] command like in the following example:

tfmonitor register web -githook 8989

Note that tfmonitor will run a small web service on your chosen port and that the application tfmonitor runs cannot use the same port.