Skip to content

ulab-committee/ulab-website

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ULAB Website

This README documents the steps necessary to get the website up and running.

  • The website is a Rails app running on Ruby 2.7.6 (check .ruby-version to confirm)

  • Dependencies not installed by Bundler include:

  • Configuration

    • Create the databases for development and testing by running bin/rails db:create, repeat in production to create the production database

    • You can seed the database with sample data by running bin/rails db:seed—find the data used in db/seeds.rb

    • To run the test suite, run bin/rails test

    • In production, the app deploys a set of Docker containers using Docker Compose

  • The website makes use of a variety of services when running

    • The app is deployed to a DigitalOcean droplet

    • Amazon S3 is used for cloud storage of images and documents

  • CI (Contiguous Integration) services include:

  • Services which allow the identification of problems with the live website include:

    • Skylight, which monitors requests and responses for slowness and other issues

    • Depfu, which checks for updated versions of dependencies

    • Bugsnag, which logs errors which the app reports and creates corresponding issues in this repo

    • Scout, which monitors resource usage

  • The app deploys to a DigitalOcean droplet using Git hooks

    • Before any PR is merged, all GitHub actions must succeed

    • To deploy the app, push to deploy@ssh.ulab.org.uk:ulab-website-production. The server then runs docker-compose up --build, which rebuilds and deploys the Docker containers.