{"id":13611174,"url":"https://github.com/mozilla/awsbox","last_synced_at":"2025-12-30T08:14:29.303Z","repository":{"id":2874498,"uuid":"3880406","full_name":"mozilla/awsbox","owner":"mozilla","description":"INACTIVE - http://mzl.la/ghe-archive - A featherweight PaaS on top of Amazon EC2 for deploying node apps","archived":true,"fork":false,"pushed_at":"2019-03-28T19:51:00.000Z","size":467,"stargazers_count":810,"open_issues_count":0,"forks_count":77,"subscribers_count":39,"default_branch":"master","last_synced_at":"2024-10-29T10:59:48.478Z","etag":null,"topics":["inactive","unmaintained"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mozilla.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-03-30T19:58:18.000Z","updated_at":"2024-10-11T12:14:21.000Z","dependencies_parsed_at":"2022-08-31T04:31:29.477Z","dependency_job_id":null,"html_url":"https://github.com/mozilla/awsbox","commit_stats":null,"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fawsbox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fawsbox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fawsbox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mozilla%2Fawsbox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mozilla","download_url":"https://codeload.github.com/mozilla/awsbox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223337772,"owners_count":17129027,"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":["inactive","unmaintained"],"created_at":"2024-08-01T19:01:52.510Z","updated_at":"2025-12-16T22:24:25.364Z","avatar_url":"https://github.com/mozilla.png","language":"JavaScript","readme":"[![Build Status](https://travis-ci.org/mozilla/awsbox.png?branch=master)](https://travis-ci.org/mozilla/awsbox)\n\n## A Lightweight DIY PaaS for Amazon Web Services\n\nAmazon Web Services (AWS) \"Elastic Compute Cloud\" provides low cost, instant\non VMs that can be used to deploy any kind of service.  AWS also provides a\nfull set of APIs that make it possible to programatically allocate servers.\nFinally, AWS offers the ability to create \"template\" instances (Amazon Machine\nImages) that are VM snapshots.\n\n*The problem:* For small scale nodejs projects, there's a lot of\nadministrative boiler plate work that one must to set up a machine.\nYou must install web server software, set up security policies and network\naccess, copy up your keypair, determine how you'll deploy your software on the\nnew VM, etc.\n\n\"Platform as a service\" providers like heroku make most of these decisions for\nyou, providing a demand spun \"vm-like\" thing that you can deploy code on by\nadhering to a couple conventions and `git pushing`.  Where heroku breaks down\nis in *generativity* - you are limited to doing things that heroku has thought\nof, and when you want to do something custom (install a new native software\nlibrary, run an experimental database for which you cannot find a third party\nhosted provider) - you are screwed.\n\nAlso, heroku is relatively expensive.  The moment you want to run two\nprocesses, you're paying 0.05$/hr for that process vs. on aws where\nyou can purchase a \"micro\" instance for 0.02$/hr for the whole VM.\nThe final area of expense is in \"add-ons\" - service providers that offer\nthings like hosted databases, email sending, etc.  A small scale database\ncan cost another .015$/hr.\n\nBut Wait!  What about [nodejitsu]?  Well, probably use them: they're\nawesome, smart, admirably share their work, have a free service for\nnon-commercial deployments, and *just work* for most apps.  But\nsometimes you might want full control.  That you?  Read on...  (NOTE:\nawsbox is *built* on lots of nodejistu stuffs).\n\n  [nodejitsu]: http://nodejitsu.com/\n\nSo what we maybe want is the convenience of Nodejitsu and Heroku, and the\npricing and freedom of a raw amazon image...\n\n*The solution:* **awsbox** is a set of nodejs scripts, a command line utility,\nand a template image (AMI).  Together it allows you to deploy a new server\nfrom the command line that is pre-configured to run your Node.JS service.\n\n## Features\n\n  * **nodejs focused** - While other stacks could be supported in the future,\n    awsbox is laser focused on node.js to start.\n  * **full root access** - awsbox just gets you started, after that you can do\n    Whatever You Want.\n  * **magic ssh key config** - Your SSH key will be copied up and installed for you.\n  * **git push support** - After you provision a vm, it's pre-configured so you can\n    push to deploy\n  * **multi-region support** - awsbox base AMIs are published in every region AWS\n    supports, so you can deploy anywhere.\n  * **command line or programmatic usage** - type at it, or script it.\n  * **OS level user isolation** - all deployed code is run with user permissions under\n    a single account.\n  * **HTTP forwarding with custom 503 page** - [nginx] is pre-configured to forward\n    requests to your nodejs process bound to a local port.\n  * **SSL support** - By default your process runs with a self-signed cert.  Enabling\n    SSL support is as easy as copying up a private key and certificate in [PEM] format.\n  * **WebSocket support** - AWSBOX fully supports WebSockets, via [socket.io] or otherwise.\n  * **Route53 support** - manage your DNS from the command line, and have DNS set up for\n    your boxes at creation time.\n\n  [nginx]: https://nginx.org\n  [PEM]: http://en.wikipedia.org/wiki/X.509\n  [socket.io]: http://socket.io\n\n## Get Started\n\nStart by working through [the tutorial].  Then have a look at the [Hello World] sample app.\nAnd after that, check out [the documentation] in this repository.\n\n  [the tutorial]: https://github.com/mozilla/awsbox/blob/master/doc/TUTORIAL.md\n  [Hello World]: https://github.com/lloyd/awsbox-helloworld\n  [the documentation]: https://github.com/mozilla/awsbox/tree/master/doc\n","funding_links":[],"categories":["JavaScript","Open Source Repos"],"sub_categories":["Miscellaneous Repos"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla%2Fawsbox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmozilla%2Fawsbox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmozilla%2Fawsbox/lists"}