Skip to content
This repository

Example use of Heroku Common Lisp Buildpack

branch: master

This branch is 0 commits ahead and 0 commits behind master

Fetching latest commit…


Cannot retrieve the latest commit at this time

Octocat-spinner-32 public
Octocat-spinner-32 src
Octocat-spinner-32 UNLICENSE
Octocat-spinner-32 example.asd
Octocat-spinner-32 heroku-setup.lisp
Octocat-spinner-32 package.lisp

Common Lisp on Heroku -- Example Project

This project is an example of how to use my fork of the Heroku Common Lisp Buildpack. See the buildpack repository for more information and credits.

This is the Hunchentoot branch.

Example App:


First, get yourself set up with a Heroku account and tools.

Then fork this project (and optionally modify it with your own content).

Change directory into the heroku-cl-example.

Next, create your own Heroku application using CL Buildpack:

heroku create -s cedar --buildpack
# Enable config vars at build time 
heroku labs:enable user-env-compile -a myapp

# Choose implementation:
heroku config:add CL_IMPL=sbcl
# or
heroku config:add CL_IMPL=ccl

# Choose Web Server:
heroku config:add CL_WEBSERVER=hunchentoot
# or 
heroku config:add CL_WEBSERVER=aserve

# Avoid trouble with SBCL source encoding
heroku config:add LANG=en_US.UTF-8

# deploy 
git push heroku master

That's it! Use heroku open to view your app in your browser!

More details:

There are currently 2 branches. Master has Huchentoot specific code and aserve has AllegroServe specific code.

Currently let's you run Hunchentoot with SBCL and CCL and AllegroServe(portableaserve) with CCL.

There is a pending issue with acl-compat bundled with portableaserve preventing use with SBCL. Look here for more information.

The file heroku-setup.lisp gets loaded at compile time, and needs to load any Lisp files or packages required.

Thanks to Mike Travers for getting Common Lisp on Heroku.

Something went wrong with that request. Please try again.