2.1 KiB

Creating the database

On coffee, login as the postgres user, run psql, then run the following:

CREATE USER greenlight WITH PASSWORD 'replace_this_password';
ALTER DATABASE greenlight OWNER TO greenlight;

Running the playbook

Just the usual:

ansible-playbook playbook.yml

Once the playbook has finished, open /opt/greenlight/.env and set the value of DB_PASSWORD.

Also, place copies of csclub-wildcard-chain.crt and csclub-wildcard.key (the wildcard CSC SSL certificate and key, respectively) in the directory /etc/nginx/ssl. The key file must have permissions 0600.

Then, restart BBB:

bbb-conf --restart

Running as the greenlight user

Add the following lines to /opt/greenlight/.profile:

export PATH=$HOME/.gem/ruby/2.5.0/bin:$PATH
export $(grep -v '^#' ~/.env)
export RAILS_ENV=production
export BUNDLE_APP_CONFIG=~/.bundle

This will allow you to use the bundle command after running su - greenlight, if you need to do so.

Running Greenlight

Enable and run the systemd service:

systemctl enable greenlight
systemctl start greenlight

Creating an administrator account

Theoretically, there is a bundle command which should be able to create an administrator account. However, when I did this, I found that I was unable to login using the new admin credentials. Might be because of LDAP. Here's my workaround:

  1. Login once using your CSC credentials.
  2. Log out.
  3. On coffee, login as postgres, run psql, and run the following:
\c greenlight
UPDATE users SET role_id = 2 WHERE username = 'my_csc_username';

When you log back in, you should now be an admin.

Greenlight customization

To ensure that future sysadmins automatically become Greenlight admins, create a new role called "sysadmin" from the org settings in Greenlight.

To set a custom logo in the top left corner, go to 'Site Settings', and replace the branding image URL. I'm using a small CSC logo hosted on our git server in the csc-propaganda repo.