This is the repository for the official website of ELIXIR On-Cloud, a transnational effort towards establishing a federated cloud computing network enabling the analysis of population-scale genomic and phenotypic data across participating nodes.
ELIXIR On-Cloud is led by the ELIXIR Compute Platform and is a Driver Project of the Global Alliance for Genomics and Health.
This website is built with Next.js and React. Every page is rendered statically at build time; there is no backend and no build-time secret.
Content lives in JSON files under src/data/:
| File | Page |
|---|---|
product.json |
Products |
services.json |
Services |
nodes.json |
Nodes (flags in public/flags/) |
project.json |
Projects |
contributor.json |
Contributors |
funding.json |
Funding |
To change content, edit the relevant file and open a pull request.
Requirements: Node.js 22 and npm.
npm install
cp .env.example .env.local # optional; all values have defaults
npm run devUseful commands:
npm run build: production build (also generates the sitemap)npx tsc --noEmit: type-checknpm run check-links: report dead outbound links insrc/
Pushes to main trigger the Deploy workflow,
which publishes the image to ghcr.io/elixir-cloud-aai/landing-page (tagged
latest and with the commit SHA). On the host,
docker-compose.yaml runs the site together with
Watchtower, which pulls new images every
5 minutes and restarts the site:
git clone https://github.com/elixir-cloud-aai/landing-page.git
cd landing-page
docker compose up -dThe site listens on port 80 (change it in docker-compose.yaml). TLS is
expected to be terminated by a reverse proxy in front of it.
To roll back, pin the site image to a previous sha-<commit> tag and run
docker compose up -d. To build locally instead of pulling, run
docker compose up -d --build.
This project is available under the Apache 2.0 License also shipped with this repository.
If you have suggestions for or find issue with this website, please use the issue tracker. If you would like to reach out to us for anything else, you can join our Slack board, start a thread in our Q&A forum, or send us an email.