The Ceylon repository web application
Java JavaScript D Shell
Pull request Compare This branch is 346 commits behind ceylon:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

How to run the Ceylon Herd Module Repository

  1. Download Play Framework 1.2.4 and install it
  2. Run play dependencies to download the required modules
  3. Create your Postgres DB
    1. sudo su - postgres
    2. createuser -PSRD ceylon-herd
    3. enter ceylon-herd as password when prompted
    4. createdb -O ceylon-herd -E utf8 ceylon-herd
    5. exit
  4. Run the application
    1. play run

How to make your user (if registration is disabled, which is the default for now)

This can only be done by hand for now:

  1. Pick a password
  2. Generate a UUID, which we'll use as password salt
    1. You can make one online: select Version 4 (random)
  3. In a shell, generate your salted SHA1 password by concatenating your UUID (the salt) with your password
    1. echo -n YOUR_UUIDYOUR_PASSWORD | sha1sum | awk '{print $1}' (no space between the salt and password)
    2. Copy the resulting SHA signature
  4. Open a psql console to your database:
    1. psql -h localhost -U ceylon-herd
  5. Add your user (as admin)
    1. INSERT INTO user_table (id, email, firstname, admin, lastname, salt, password, status, username) VALUES ((select nextval('hibernate_sequence')), '', 'FirstName', true, 'LastName', 'YOUR_SALT', 'YOUR_SHA1', 'REGISTERED', 'UserName');

How to make your user admin (if registration is enabled)

This can only be done by hand for now:

  1. Register your user at http://localhost:9000/register
  2. See in the logs in the console what your activation link is, and follow it (in DEV mode no mail is sent)
  3. Complete your registration
  4. Open a psql console to your database:
    1. psql -h localhost -U ceylon-herd
  5. Set yourself as admin
    1. UPDATE user_table SET admin = true WHERE username = 'your-user-name';


The content of this repository is released under AGPLv3 as provided in the LICENSE file that accompanied this code, with the following clarifications.

The AGPL does not extend to the files in the public/ directory. Such files are licensed as indicated in the file or else are dedicated to the public domain to the maximum extent possible under applicable law.

The AGPL does not extend to any dependencies that we do not distribute in our github repository or which are indicated in our github repository as being under some other license, even if AGPL-compatible. For example, if you create and publicly deploy a modified version of Ceylon Herd that is based on the Play framework, the AGPL does not extend to any of the dependencies that make up the Play framework.

Compliance with the source code requirements of section 13 of AGPLv3 is satisfied by storing your modified version in a public revision control repository and prominently providing your users with notice of the location of this repository.