{"id":19723871,"url":"https://github.com/pranavms13/nodejs-ads","last_synced_at":"2026-05-15T19:32:16.492Z","repository":{"id":36473159,"uuid":"227119623","full_name":"pranavms13/NodeJS-ADS","owner":"pranavms13","description":"Simple Auto Deployment System for Node JS","archived":false,"fork":false,"pushed_at":"2022-12-11T16:41:07.000Z","size":74,"stargazers_count":2,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-11T06:34:55.917Z","etag":null,"topics":["deploy-tool","deployed-with-webhook","deployment","deployment-automation","nodejs","nodejs-api"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pranavms13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-10T12:49:28.000Z","updated_at":"2021-05-02T18:55:00.000Z","dependencies_parsed_at":"2023-01-17T01:49:12.834Z","dependency_job_id":null,"html_url":"https://github.com/pranavms13/NodeJS-ADS","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pranavms13%2FNodeJS-ADS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pranavms13%2FNodeJS-ADS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pranavms13%2FNodeJS-ADS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pranavms13%2FNodeJS-ADS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pranavms13","download_url":"https://codeload.github.com/pranavms13/NodeJS-ADS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241045513,"owners_count":19899664,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deploy-tool","deployed-with-webhook","deployment","deployment-automation","nodejs","nodejs-api"],"created_at":"2024-11-11T23:23:46.235Z","updated_at":"2025-11-21T19:03:18.474Z","avatar_url":"https://github.com/pranavms13.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NodeJS-ADS \n\n[![Build Status](https://travis-ci.com/pranavms13/NodeJS-ADS.svg?branch=master)](https://travis-ci.com/pranavms13/NodeJS-ADS) [![npm version](https://badge.fury.io/js/nodejs-ads.svg)](https://badge.fury.io/js/nodejs-ads)\n\nSimple Module for Deploying updates from GitHub using NodeJS.\n\n## What is this ??\n\nThis is a simple tool used to deploy your package **(GitHub Repo)** to a Server when a **PUSH** event has occurred on the Repository. The NodeJS Script runs on a Specfied port  and waits for the call. To call the script, we setup a WebHook on Github. Whenever a **PUSH** event occurs, GitHub POST's the details of the push to a given **Payload URL**. When the Script receives the payload, it verifies the authenticity of the payload. Once it is verified, the updates are pulled from GitHub repository and all the Node Modules are re-synced. Once the above operations are completed, the app which is running on **pm2** is restarted.\n\n## Prerequisites\n\n-   A Server with Static IP / Tunneling Service.\n-\tThat Server running on Linux.\n\n## Install\n```\nnpm install nodejs-ads --save\n```\n\n## Usage\n\nExample\n```\nvar updater = require('nodejs-ads')\nupdater.start(\"YOUR_SECRET_KEY\", PORT);\n```\n### GitHub Repo Configuration (Setting up Webhook and Secret)\n- Navigate to Repository **Settings**.\n- Select **Webhooks** and Click on **Add Webhook**.\n- Enter the Payload URL as ``http://YOUR_IP_OR_DOMAIN:PORT/deployment/updatetheapp``\n\t- ``PORT`` is the port number used in the ``updater.start`` function.\n\t* Alternatively you can also use ``TUNNELING_URL/deployment/updatetheapp`` \n- Change **Content Type** to ``application/json``.\n- Enter  ``YOUR_SECRET_KEY`` in the **Secret** Field.\n\t* ``YOUR_SECRET_KEY`` is the key used in the ``updater.start`` function.\n- Select ``Just the push event`` under **Which events would you like to trigger this webhook?**\n- Check the **Active** Box and click on **Add Webhook**.\n\n### Working\n![Working](https://gist.githubusercontent.com/pranavms13/7b3c0a242d6fea3234c9159c83b58f5b/raw/b24474f005fe0fec0fb656a7da641ee147c5c600/uml.svg?sanitize=true)\n\n#### Donations to\n\n-   UPI :  `pranavms13@apl`\n-   XMR :  `84B2PEVJjenN31h8HcnY4uCFPVcicxvVCAJAYVeYnPLoHkaVGHHWpVxCm6Gn9beEir2CjffgEoXtiDjpAZCmy4ap6uUXT8Y`\n-   BTC :  `3Jg45PbpUNtASL5uvQSeJKZyiExqbB9mbC`\n\n#### Suggestions ?\n[nodejs-ads@pranavms.ml](mailto:nodejs-ads@pranavms.ml)\n\n## PR's are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpranavms13%2Fnodejs-ads","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpranavms13%2Fnodejs-ads","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpranavms13%2Fnodejs-ads/lists"}