https://github.com/lexi-lambda/heroku-buildpack-racket
a Heroku buildpack for deploying apps written in Racket
https://github.com/lexi-lambda/heroku-buildpack-racket
Last synced: 8 months ago
JSON representation
a Heroku buildpack for deploying apps written in Racket
- Host: GitHub
- URL: https://github.com/lexi-lambda/heroku-buildpack-racket
- Owner: lexi-lambda
- Created: 2015-02-02T02:06:29.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2022-04-20T14:24:40.000Z (over 3 years ago)
- Last Synced: 2024-10-31T21:35:28.349Z (about 1 year ago)
- Language: Shell
- Homepage:
- Size: 13.7 KB
- Stars: 27
- Watchers: 4
- Forks: 22
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# heroku-buildpack-racket
This is a custom [Heroku buildpack][heroku-buildpacks] for building and deploying [Racket][racket] applications on [Heroku][heroku].
To use this custom buildpack, use the Heroku toolbelt's `buildpacks:set` command:
```sh
$ heroku buildpacks:set https://github.com/lexi-lambda/heroku-buildpack-racket
```
When the application is next deployed, the new buildpack will be used.
## Configuration
The Racket buildpack requires that the `RACKET_VERSION` environment variable be set in order to decide what version of Racket to use. It may either be set to a specific version (such as `6.2`) or to either `current` or `HEAD`, which will use nightly, bleeding-edge snapshots.
By default, the buildpack will use the full Racket distribution. If you want to only install a minimal Racket distribution, append `-minimal` to the end of the version string (e.g. `6.2-minimal` or `HEAD-minimal`).
To configure environment variables for your Heroku application, either use the web interface, or use the `heroku config:set` command.
## Running
The Racket buildpack will install your repository as a package, so it *must* include an `info.rkt` file in the root. Once installed, it will be moved to the `app/` directory. It is recommended that you specify your application entry point via the `racket` executable's `-l` flag so you can pass a module path instead of a file path, which will work no matter what the filesystem layout.
For example, if your package contained a file called `server.rkt` in a collection called `my-app`, the Procfile entry to start your application might look like this:
```sh
web: racket -l my-app/server
```
[racket]: http://racket-lang.org/
[heroku]: https://www.heroku.com/
[heroku-buildpacks]: https://devcenter.heroku.com/articles/buildpacks