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

luarocks
142 Stars 30 Forks 954 Commits 52 Opened issues

Description

LuaRocks website and module host

Services available

!
?

Need anything else?

Contributors list

LuaRocks.org

https://luarocks.org

spec

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 https://github.com/luarocks/luarocks-site/blob/master/BoxFile with LuaRocks.

Run these commands to build.

tup init
tup

Create the schema:

make init_schema

Start the server:

lapis server

Now

http://localhost:8080
should load.

If you edit any MoonScript or SCSS files you should call

tup
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
busted

The

make test_db
command will copy the schema of the
moonrocks
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

cloud_storage
rock.

To configure

cloud_storage
to talk to a live bucket make a file
secret/storage_bucket.moon
, 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 "cloud_storage.google"

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

secret/email.moon
and make it look something like this: (it must return a table of options)
{ -- secret/email.moon
  key: "api:key-MY_KEY"
  domain: "mydomain.mailgun.org"
  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.