{"id":13632616,"url":"https://github.com/fwouts/deploy","last_synced_at":"2025-04-18T02:33:52.200Z","repository":{"id":57170526,"uuid":"114079556","full_name":"fwouts/deploy","owner":"fwouts","description":"A step-by-step, open-source tool for easy Docker deployments to AWS","archived":true,"fork":false,"pushed_at":"2020-04-03T07:03:26.000Z","size":1173,"stargazers_count":43,"open_issues_count":6,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-09-16T02:23:49.727Z","etag":null,"topics":["aws","docker"],"latest_commit_sha":null,"homepage":"https://deploy.zenc.io","language":"TypeScript","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/fwouts.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":"2017-12-13T05:49:05.000Z","updated_at":"2023-01-28T08:07:15.000Z","dependencies_parsed_at":"2022-08-27T13:11:41.302Z","dependency_job_id":null,"html_url":"https://github.com/fwouts/deploy","commit_stats":null,"previous_names":["zenclabs/deploy"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwouts%2Fdeploy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwouts%2Fdeploy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwouts%2Fdeploy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fwouts%2Fdeploy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fwouts","download_url":"https://codeload.github.com/fwouts/deploy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223772294,"owners_count":17199976,"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":["aws","docker"],"created_at":"2024-08-01T22:03:08.898Z","updated_at":"2024-11-09T00:31:45.070Z","avatar_url":"https://github.com/fwouts.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"# Deploy\n\nDeploy is a command-line tool that aims to make Docker deployments as simple as possible.\n\nUnlike [Now](https://zeit.co/now) or [Heroku](https://devcenter.heroku.com/articles/heroku-cli), Deploy deploys directly to AWS. There are no intermediaries involved.\n\n## Demo\n\n[![Watch a demo here](demo.gif)](https://asciinema.org/a/153571?speed=1.7\u0026rows=30)\n\n## Installing\n\n1. Make sure you have [NPM](https://www.npmjs.com/get-npm) installed\n2. Run: `npm install --global @zenclabs/deploy`\n3. Check that Deploy is installed with: `deploy --help`\n\n## Creating a cluster\n\nBefore you can start a deployment, you need to create a cluster.\n\n```shell\n\u003e deploy create-cluster\n? Please choose a name for your cluster: staging\n? Which region do you want to create your cluster in? ap-southeast-2 - Asia Pacific (Sydney)\n? What type of EC2 instance should be started? T2 Micro (1 vCPU, 1GB RAM) - estimated USD$10.86/month/instance\n? How many EC2 instances should be created? 1\n...\nCluster staging created successfully.\n```\n\n## Starting a deployment\n\nDeploying your local code is a single line:\n\n```shell\n\u003e deploy push\n? Which cluster do you want to deploy in? staging (ap-southeast-2)\n? Please choose a name for your deployment: example\n? How many Docker containers should be deployed? 1\n? How much memory should be allocated to each container (in MB)? 512\n...\nDeployed successfully at http://example-loadbalancer-12345.ap-southeast-2.elb.amazonaws.com (live in a few minutes).\n```\n\n## Turning down a deployment\n\nIt's even easier than deploying it in the first place:\n\n```shell\n\u003e deploy kill\n? Which deployment do you want to destroy? example - Asia Pacific (Sydney)\n...\nDestroyed deployment example successfully.\n```\n\n## Destroying a cluster\n\nIf you don't use your clusters, you should probably turn them down:\n\n```shell\n\u003e deploy destroy-cluster\n? Which cluster do you want to destroy? staging (ap-southeast-2)\n...\nCluster staging destroyed successfully.\n```\n\n## Mapping a deployment to your subdomain\n\n```shell\n\u003e deploy map mydeployment demo.yourdomain.com\nRoute 53 record set updated.\nDeployment mydeployment should soon be accessible at http://demo.yourdomain.com\n```\n\n## Unmapping your subdomain\n\n```shell\n\u003e deploy unmap demo.yourdomain.com\nRoute 53 record set updated.\nhttp://demo.yourdomain.com will soon no longer be available.\n```\n\n## Status\n\nUse the status command to get a quick overview of your clusters and deployments.\n\n```\n\u003e deploy status\n\n-------------------\n\nCluster 'staging' in Asia Pacific (Sydney):\n- EC2 instance type: t2.micro\n- Desired instances: 5\n- Running instances: 5\n\nDeployments in cluster 'staging':\n- example1:\n    URL: http://example1-loadbalancer-12345.ap-southeast-2.elb.amazonaws.com\n    Running tasks: 1 (1 desired, 0 pending)\n- example2:\n    URL: http://example2-loadbalancer-56789.ap-southeast-2.elb.amazonaws.com\n    Running tasks: 1 (1 desired, 0 pending)\n```\n\n## FAQ\n\n### How much does it cost?\n\nDeploy CLI doesn't cost anything. You'll only be charged by AWS for the EC2 instances you run, as well as the load balancers (one load balancer per deployment).\n\n### What about other cloud providers?\n\nRight now, Deploy only supports AWS. If you'd like it for another cloud provider, please create an issue explaining your use case.\n\n### Why do I have to create a cluster before a deployment?\n\nA deployment needs some machines to run onto. Fortunately, that will soon no longer be true once [AWS Fargate](https://aws.amazon.com/fargate/) is available in all regions.\n\nWe could also consider creating one cluster per deployment automatically. If you'd like this, please create an issue explaining your use case.\n\n### I don't use Docker, can I use Deploy?\n\nRight now, Deploy requires you to have a Dockerfile. However, we're considering adding a step-by-step Dockerfile generator to make it easier.\n\n### Does Deploy help me manage my databases?\n\nNo, but we could explore that in the future. Let us know in the issue tracker.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffwouts%2Fdeploy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffwouts%2Fdeploy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffwouts%2Fdeploy/lists"}