Skip to content

AJMGroup/odbx.science

 
 

Repository files navigation

odbx.science

OPTIMADE Build Status Website

This repo contains some notes about the server running at odbx.science.

This implementation of an OPTIMADE server builds upon the reference server in the following way:

  • Additional routes from odbx.science/<endpoint> that mimic optimade.odbx.science/<endpoint> but provides rich HTML displays of the data.

Hardware

As of 02/12/19, the server runs as an RCS OpenStack VM (quadcore Haswell, 8 GB RAM), with three virutal disks attached:

  • /dev/vda, 80 GB, mounted at / contains OS and apps
  • /dev/vdb, 1 TB, mounted at /data/sql, contains SQL database for OQMD
  • /dev/vdc, 500 GB, mounted at /data/mongo, contains our MongoDB.

Services & security

The site now runs as 5 coupled docker containers, with shared /tmp/ volume, deployed and built with docker-compose:

  • mongo runs a near-default MongoDB.
  • odbx runs gunicorn that connects to the mongo via /tmp/mongodb-27017.sock and serves the HTML responses. (As of 26/04/20, this server also runs the JSON API temporarily at odbx.science/optimade.
  • odbx_rest runs gunicorn that connects to the mongo via /tmp/mongodb-27017.sock and serves the REST API as JSON at optimade.odbx.science.
  • nginx runs nginx that takes HTTP/HTTPS requests and forwards them onto gunicorn via the appropriate socket, as well as hosting static content from ./odbx/static/
  • certbot calls certbot to attempt to renew SSL certificates every 12 hours.

Domains & SSL

  • The domain odbx.science was purchased until 2023 from Namecheap, which currently redirects to the public IP of the VM.
  • All *@odbx.science email addresses currently redirect to my personal account.
  • The domain came with a 1 year SSL certificate (~£4 year after). Since 26/04/20 certbot has been used to get free SSL from Let's Encrypt. This should renew automatically (see notes about certbot).

Releases

No releases published

Packages

No packages published

Languages

  • Python 60.4%
  • CSS 17.5%
  • HTML 16.6%
  • Shell 3.7%
  • JavaScript 1.8%