{"id":15048299,"url":"https://github.com/github/buildstep","last_synced_at":"2025-10-04T08:31:17.662Z","repository":{"id":10132554,"uuid":"12205090","full_name":"github/buildstep","owner":"github","description":"Buildstep uses Docker and Buildpacks to build applications like Heroku","archived":true,"fork":true,"pushed_at":"2013-08-16T23:22:37.000Z","size":208,"stargazers_count":12,"open_issues_count":0,"forks_count":9,"subscribers_count":24,"default_branch":"master","last_synced_at":"2024-09-29T00:21:26.371Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"progrium/buildstep","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/github.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":"2013-08-19T01:54:00.000Z","updated_at":"2024-07-31T03:23:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/github/buildstep","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/github%2Fbuildstep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fbuildstep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fbuildstep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/github%2Fbuildstep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/github","download_url":"https://codeload.github.com/github/buildstep/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":235232495,"owners_count":18957057,"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":[],"created_at":"2024-09-24T21:10:27.305Z","updated_at":"2025-10-04T08:31:17.342Z","avatar_url":"https://github.com/github.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Buildstep\n\nHeroku-style application builds using Docker and Buildpacks. Used by [Dokku](https://github.com/progrium/dokku) to make a mini-Heroku.\n\n## Requirements\n\n * Docker\n * Git\n\n## Supported Buildpacks\n\nBuildpacks should generally just work, but many of them make assumptions about their environment. So Buildstep has a list of officially supported buildpacks that are built-in and ready to be used.\n\n * [Ruby](https://github.com/heroku/heroku-buildpack-ruby)\n * [Node.js](https://github.com/heroku/heroku-buildpack-nodejs)\n * [Java](https://github.com/heroku/heroku-buildpack-java)\n * [Play!](https://github.com/heroku/heroku-buildpack-play)\n * [Python](https://github.com/heroku/heroku-buildpack-python)\n * [PHP](https://github.com/heroku/heroku-buildpack-php.git)\n * [Clojure](https://github.com/heroku/heroku-buildpack-clojure.git)\n * [Go](https://github.com/kr/heroku-buildpack-go.git)\n * [Dart](https://github.com/igrigorik/heroku-buildpack-dart.git)\n\n## Building Buildstep\n\nThe buildstep script uses a buildstep base container that needs to be built. It must be created before\nyou can use the buildstep script. To create it, run:\n\n    $ make build\n\nThis will create a container called `progrium/buildstep` that contains all supported buildpacks and the\nbuilder script that will actually perform the build using the buildpacks.\n\n## Building an App\n\nRunning the buildstep script will take an application tar via STDIN and an application container name as\nan argument. It will put the application in a new container based on `progrium/buildstep` with the specified name. \nThen it runs the builder script inside the container. \n\n    $ cat myapp.tar | ./buildstep myapp\n\nThe resulting container has a built app ready to go. The builder script also parses the Procfile and produces\na starter script that takes a process type. Run your app with:\n\n    $ docker run -d myapp /bin/bash -c \"/start web\"\n\n## Adding Buildpacks\n\nBuildstep needs to support a buildpack by installing packages needed to run the build and to run the application\nit builds. For example, the Python buildpack would need Python to be installed.\n\nTo add a new buildpack to buildstep, add commands to install the necessary packages that the buildpack and built\napplication environment will need to stack/packages.txt and stack/prepare. Then add the buildpack Git URL to the file stack/buildpacks.txt\n\nYou'll then have to re-build.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fbuildstep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgithub%2Fbuildstep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgithub%2Fbuildstep/lists"}