Creating the database
On coffee, login as the postgres
user, run psql
, then run the following:
CREATE USER greenlight WITH PASSWORD 'replace_this_password';
CREATE DATABASE greenlight;
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:
- Login once using your CSC credentials.
- Log out.
- On coffee, login as
postgres
, runpsql
, 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.