Need help with luarocks-site?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

142 Stars 30 Forks 954 Commits 52 Opened issues


LuaRocks website and module host

Services available


Need anything else?

Contributors list


The official module repository of the LuaRocks package manager for Lua.

The entire site runs on OpenResty, an Nginx based platform with Lua support. The site itself is coded in MoonScript and uses Lapis as a web framework.

Files are stored on Google Cloud Storage. PostgreSQL is used as a database.

Tup is the build system.

How To Run Locally

Install the following dependencies:

Check out this repository.

Install the dependencies listed in with LuaRocks.

Run these commands to build.

tup init

Create the schema:

make init_schema

Start the server:

lapis server


should load.

If you edit any MoonScript or SCSS files you should call

to rebuild the changes. You can run
tup monitor -a
to watch the filesystem to rebuild.

Running tests

This site uses Busted for its tests:

make test_db


make test_db
command will copy the schema of the
local database into the test database, wiping out what whatever was there. You'll only need to run this command once and the beginning any any time the schema has changed.

Setting up Google Cloud Storage

In production all files are stored on Google Cloud Storage. With no configuration (default), files are stored on the file system using the storage bucket mock provided by the


To configure

to talk to a live bucket make a file
, it must return a bucket instance. It might look something like:
-- secret/storage_bucket.moon
import OAuth from require "cloud_storage.oauth"
import CloudStorage from require ""

o = OAuth "[email protected]", "PRIVATEKEY.pem" CloudStorage(o, "PROJECT_ID")\bucket "BUCKET_NAME"

Setting up email

If you want to test sending emails you'll have to provide Mailgun credentials. Create a file

and make it look something like this: (it must return a table of options)
{ -- secret/email.moon
  key: "api:key-MY_KEY"
  domain: ""
  sender: "MoonRocks "

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.