Hosting on the SRCF

The Student-Run Computing Facility offers free hosting and shell accounts to Cambridge students. It can host personal projects and society websites.

Getting an account

Sign up through the control panel. Volunteers approve accounts, so allow time for this. Use the control panel to manage services and group accounts.

Where your website lives

Static files go in public_html:

AccountDirectoryWebsite
Personal/public/home/<crsid>/public_htmlhttps://<crsid>.user.srcf.net
Group/public/societies/<groupname>/public_htmlhttps://<groupname>.soc.srcf.net

Put an index.html there to publish a static site.

Getting files there

Connect over SSH:

ssh <crsid>@shell.srcf.net

Copy a built site with rsync:

rsync -avz --delete ./build/ <crsid>@shell.srcf.net:/public/home/<crsid>/public_html/

Replace the placeholders with your details. --delete removes destination files missing from the source. Use --dry-run first to check the changes.

Society accounts

Use a group account so the website can outlast its current committee. Add the next committee's administrators during handover and remove access that is no longer needed.

Beyond static files

For databases, web applications and custom domains, follow the SRCF documentation. The services page lists what is available. Contact support@srcf.net if you need help.

Before uploading

Build the site locally and inspect the output directory. Confirm that links and asset paths work under the intended URL. Source files and a built static site are different things; upload the files the web server should serve.

Keep private configuration, database dumps and credentials outside public_html. Check file permissions without making every file world-writable.

Deployments and recovery

Keep the source in version control and record the build command. Save a known working release before replacing it. A rollback should restore the complete release, rather than a mixture of old and new assets.

Back up persistent data separately from application code. Check that the backup can be read and restored. A copy on the same account may not help if the account or its storage is lost.

When something fails

Check the requested path, file location and permissions first. For applications, inspect the relevant logs and process configuration. DNS, HTTPS, the web server and the application are separate layers; identify which layer is failing before changing settings.

See HTTP and Web Basics for requests and Project Structure for keeping deployment instructions with a project.

Being a good citizen

The SRCF is shared and volunteer-run. Check its usage rules and ask before running an unusually demanding workload.