Skip to content

StaticFDP/staticfdp

Repository files navigation

StaticFDP Ecosystem

The StaticFDP ecosystem provides three open-source reference implementations for the FAIR Data Point architecture — all deployable on static hosting (GitHub Pages or Codeberg Pages) with no dedicated server required.


The three components

Repository Layer What it does
staticfdp FAIR Data Point Publishes a DCAT-conformant FDP from form submissions via static hosting
staticfdp-index FDP Index Harvests registered FDPs and serves a discovery catalog as RDF + HTML
staticfdp-vp Virtual Platform Aggregates multiple FDP Indexes into a federated discovery hub

Each repository is independently deployable and available on both platforms:

GitHub Codeberg
staticfdp github.com/StaticFDP/staticfdp codeberg.org/StaticFDP/staticfdp
staticfdp-index github.com/StaticFDP/staticfdp-index codeberg.org/StaticFDP/staticfdp-index
staticfdp-vp github.com/StaticFDP/staticfdp-vp codeberg.org/StaticFDP/staticfdp-vp

staticfdp — Static FAIR Data Point

This repository. A template for publishing datasets as a FAIR Data Point using only static hosting.

How it works:

  1. A contributor signs in with ORCID and fills in a web form
  2. A Cloudflare Worker (or Deno on Hetzner) posts the submission to GitHub Issues / Forgejo Issues
  3. GitHub Actions or Woodpecker CI runs scripts/issues_to_datasets.py, converting every Issue to RDF Turtle + JSON-LD
  4. The generated files are committed to docs/fdp/ and served as a DCAT-conformant FDP

Key features:

  • ORCID authentication — no password management
  • Dual-write to GitHub + Codeberg simultaneously (optional)
  • scripts/setup.sh — interactive infrastructure configuration
  • fdp-config.yaml — single source of truth (platform, URLs, publisher)
  • GitHub Actions + Woodpecker CI pipelines included

Quick start (GitHub):

git clone https://github.com/StaticFDP/staticfdp
cd staticfdp
bash scripts/setup.sh

Quick start (Codeberg):

git clone https://codeberg.org/StaticFDP/staticfdp
cd staticfdp
bash scripts/setup.sh

Architecture overview

flowchart TD
    F(["👤 Contributor fills in form"])
    FDP["**staticfdp**\none per project / institution\nIssues → RDF Turtle → Pages"]
    IDX["**staticfdp-index**\none per community / domain\nHarvests FDP catalogs → DCAT index"]
    VP["**staticfdp-vp**\nglobal / cross-domain\nAggregates indexes → federation graph"]

    F --> FDP
    FDP -->|"registers (ping / PR)"| IDX
    IDX -->|"aggregated by"| VP
Loading

Infrastructure: GitHub, Codeberg, or both

Every component supports three deployment targets, configurable via fdp-config.yaml:

Target Platform Jurisdiction CI/CD
github GitHub Pages Microsoft, US GitHub Actions
codeberg Codeberg Pages (Hetzner Frankfurt) German non-profit, EU Woodpecker CI
both Dual-write, active-active US + EU Both pipelines

Reference deployment

The GA4GH Bring Your Own Disease session (April 2026) is the first live deployment of staticfdp. Source:

Live FDP: fdp.semscape.org/ga4gh-rare-disease-trajectories/


Secrets required after setup

Secret Purpose How to set
GITHUB_TOKEN Post Issues to GitHub wrangler secret put GITHUB_TOKEN
FORGEJO_TOKEN Post Issues to Codeberg (optional) wrangler secret put FORGEJO_TOKEN
ORCID_CLIENT_ID ORCID OAuth wrangler secret put ORCID_CLIENT_ID
ORCID_CLIENT_SECRET ORCID OAuth wrangler secret put ORCID_CLIENT_SECRET
SESSION_SECRET HMAC-signed cookies wrangler secret put SESSION_SECRET

Authors

This work was envisioned and built by:

Name ORCID
Rajaram Kaliyaperumal ORCID
Eric G. Prud'hommeaux ORCID
Egon Willighagen ORCID
Andra Waagmeester ORCID

Machine-readable citation metadata is available in CITATION.cff and codemeta.json.


License

MIT. See LICENSE.

About

Static FAIR Data Point — part of the StaticFDP ecosystem

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors