Open Source

Some of our open source tools and projects which you may find useful.

Email Newsletter Generator

Create great-looking, customisable and mobile-friendly email newsletters without the hassle of using things like MailChimp. You can easily save your customisations to keep your emails visually consistent.

Written in JavaScript (React)

Deploy to Netlify

Continuous integration with society websites

Deploying a website to Imperial College Union’s web server (Dougal) with SSH

Make sure you read this first

You can delpoy your website straight from GitHub using a CI build server (we use Travis CI).

1. Get SSH access to Dougal

You’ll need SSH access to Dougal to delpoy your site. Email to ask for this, clearly explaining why you need it.

Once you have it, upload your public SSH key so you can log in without a password. Please note you can only access it from within the College network so if you’re not on campus, use Imperial’s VPN.

2. Get access to Imperial’s SSH Gateway

Dougal can only be accessed from within the College network. To upload files onto it from an external CI build server, you’ll need to connect to it in two hops, via Imperial’s SSH Gateway. Get access to the SSH Gateway from the ICT Service Desk and upload your SSH key. You also need to upload your private SSH key onto SSH Gateway, so that you can log in to Dougal from SSH Gateway without a password.

3. Upload your files

Use the following bash command to upload your static website files (HTML/CSS/JS/images etc.) onto Dougal:

rsync -rv -e \
"ssh -o StrictHostKeyChecking=no -o ForwardAgent=yes \
  • YOUR_USERNAME - your Imperial username e.g. abc9916
  • PATH_TO_YOUR_WEBSITE_FILES - the folder with your compiled files (e.g. ./ if you wrote raw HTML/CSS, _site/ if you’re using Jekyll or build/ if you’re using create-react-app)
  • LOCATION_OF_WEBSITE_ON_DOUGAL - the path to your society’s website folder on Dougal. For us, it’s scc/cu. Ask the Union SysAdmin team if you’re not sure

You can incorporate the command into your CI deployment scripts. CircleCI and Travis CI have useful guides on how to do this. Remember that you’ll need to securely upload your SSH key onto the CI server so it is able to access Imperial’s SSH Gateway and Dougal.