{"id":15138425,"url":"https://github.com/evhaus/rocketry","last_synced_at":"2025-09-29T06:31:38.374Z","repository":{"id":49246543,"uuid":"137299162","full_name":"EvHaus/rocketry","owner":"EvHaus","description":"Simple deployment automation \u0026 continuous delivery for Node.js projects.","archived":true,"fork":false,"pushed_at":"2021-06-22T03:14:21.000Z","size":68520,"stargazers_count":9,"open_issues_count":4,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-13T13:34:54.259Z","etag":null,"topics":["automation","continuous","continuous-delivery","deliver","delivery","deploy","deployer","deployment","digitalocean","droplet","integration","launch","linode","node","nodejs","release","rocket","rocketry","script"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EvHaus.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"github":"EvHaus"}},"created_at":"2018-06-14T03:03:57.000Z","updated_at":"2023-02-24T02:47:44.000Z","dependencies_parsed_at":"2022-08-19T09:20:30.081Z","dependency_job_id":null,"html_url":"https://github.com/EvHaus/rocketry","commit_stats":null,"previous_names":["globexdesignsinc/deploy"],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvHaus%2Frocketry","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvHaus%2Frocketry/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvHaus%2Frocketry/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EvHaus%2Frocketry/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EvHaus","download_url":"https://codeload.github.com/EvHaus/rocketry/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234597574,"owners_count":18857980,"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":["automation","continuous","continuous-delivery","deliver","delivery","deploy","deployer","deployment","digitalocean","droplet","integration","launch","linode","node","nodejs","release","rocket","rocketry","script"],"created_at":"2024-09-26T07:23:50.708Z","updated_at":"2025-09-29T06:31:38.038Z","avatar_url":"https://github.com/EvHaus.png","language":"JavaScript","funding_links":["https://github.com/sponsors/EvHaus"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\r\n\r\n\u003ch1\u003erocketry\u003c/h1\u003e\r\n\r\n⚠️ This package is deprecated. ⚠️\r\n\r\n\u003ca href=\"https://www.joypixels.com/emoji/1f680\"\u003e\r\n  \u003cimg alt=\"rocketry\" src=\"logo.png\" width=\"128\" /\u003e\r\n\u003c/a\u003e\r\n\r\n\u003cp\u003e\u003cem\u003eSimple deployment automation \u0026 continuous delivery for Node.js projects.\u003c/em\u003e\u003c/p\u003e\r\n\r\n\u003ca href=\"https://www.npmjs.com/package/rocketry\"\u003e\u003cimg alt=\"NPM Status\" src=\"https://img.shields.io/npm/v/rocketry\"\u003e\u003c/a\u003e\r\n\u003ca href=\"https://www.npmtrends.com/rocketry\"\u003e\u003cimg alt=\"NPM Download Stats\" src=\"https://img.shields.io/npm/dw/rocketry\" /\u003e\u003c/a\u003e\r\n\u003ca href=\"https://github.com/EvHaus/rocketry/blob/master/LICENSE\"\u003e\u003cimg alt=\"License\" src=\"https://img.shields.io/github/license/evhaus/rocketry\" /\u003e\u003c/a\u003e\r\n\u003ca href=\"https://travis-ci.org/EvHaus/rocketry\"\u003e\u003cimg alt=\"Ci Build\" src=\"https://img.shields.io/travis/com/evhaus/rocketry\" /\u003e\u003c/a\u003e\r\n\u003ca href=\"https://coveralls.io/github/EvHaus/rocketry?branch=master\"\u003e\u003cimg alt=\"Coverage Status\" src=\"https://coveralls.io/repos/github/EvHaus/rocketry/badge.svg?branch=master\" /\u003e\u003c/a\u003e\r\n\r\n\u003c/div\u003e\u003chr /\u003e\r\n\r\n## The Problem\r\n\r\nServices like [DigitalOcean](https://www.digitalocean.com/)'s _droplets_ and [Linode](https://www.linode.com/)'s _linodes_ make it super easy to create deployment targets for websites and other Node.js projects. However, there are still a lot of manual steps developers have to do in order to ship the app: install Node, install a runner like `pm2` or `forever`, install system security patches, zip up \u0026 upload the app, create the necessary target directories, and more.\r\n\r\n## The Solution\r\n\r\nOnce you define a single configuration `.rocketryrc` file, you can run `npx deploy run` and everything will be handled for you. Then, with a few other small steps, you can automate the entire process via a CI tool so deployments occur automatically anytime you push changes to your `master` branch.\r\n\r\n## Installation \u0026 Usage\r\n\r\nFor instructions on how to use the tool, see [/docs](/docs/README.md).\r\n\r\n## Goals \u0026 Roadmap\r\n\r\nThese are the goals for this project:\r\n\r\n- [x] Installation \u0026 setup of target server\r\n\t- [x] Install `node` and upgrade it to the latest version\r\n\t- [x] Install `yarn` and upgrade it to the latest version\r\n\t- [x] Install `pm2` and upgrade it to the latest version\r\n\t- [x] Upgrade `apt-get` packages to ensure the latest system security patches are installed\r\n- [x] Automation of deployment steps\r\n\t- [x] Create target directories on target server\r\n\t- [x] Upload local project files to target server via SSH\r\n\t- [x] Install/upgrade `node` dependencies on target server\r\n\t- [x] Start/restart of services on target server\r\n\t- [x] Start the application if it's the first deployment, otherwise restart it for updates\r\n\t- [x] Integration with CI systems for automated deployment triggers\r\n\t- [x] Automated deployments via username \u0026 password\r\n\t- [ ] Automated deployments via SSH key\r\n\t- [ ] Seamless deployments without downtime\r\n\r\n## Other Solutions\r\n\r\nHow does this project differ from similar existing public projects?\r\n\r\n- [`Netlify`](https://www.netlify.com/) - It's incredible, but not free past a certain point\r\n- [`Vercel`](https://www.vercel.com/) - Also incredible, but not free past a certain point\r\n- [`dploy`](https://github.com/lucasmotta/dploy) - Doesn't support server-side package upgrades\r\n- [`dployr`](https://github.com/faazshift/dployr) - Assumes the Git project is accessible from the server\r\n- [`shipit`](https://github.com/shipitjs/shipit) - JavaScript-based (as opposed to configuration-based) and doesn't support server-side package upgrades\r\n- [`zaz`](https://github.com/bredikhin/zaz) - Assumes the Git project is accessible from the server\r\n\r\n## Contributing\r\n\r\nContributions for bug fixes and new features are welcome via Pull Requests.\r\n\r\n### Publishing a New Version\r\n\r\n- Set the version you want in `package.json` (or leave it as is for an auto patch version bump)\r\n- Set the same version in `CHANGELOG.md` and put today's date and changes\r\n- Run `npm run release`\r\n- Set the next version in `package.json`\r\n- Add the next block to the `CHANGELOG.md`\r\n- Set git tag on the released commit\r\n\r\n### Simulate a Deployment\r\n\r\nTo simulate a deployment (to test the script), clone this project and run:\r\n\r\n```sh\r\nyarn start\r\n```\r\n\r\n## LICENSE\r\n\r\nMIT\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevhaus%2Frocketry","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevhaus%2Frocketry","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevhaus%2Frocketry/lists"}