Skip to content

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

RepositoryLayerWhat it does
staticfdpFAIR Data PointPublishes a DCAT-conformant FDP from form submissions via static hosting
staticfdp-indexFDP IndexHarvests registered FDPs and serves a discovery catalog as RDF + HTML
staticfdp-vpVirtual PlatformAggregates multiple FDP Indexes into a federated discovery hub

Each repository is independently deployable and available on both platforms:

GitHubCodeberg
staticfdpgithub.com/StaticFDP/staticfdpcodeberg.org/StaticFDP/staticfdp
staticfdp-indexgithub.com/StaticFDP/staticfdp-indexcodeberg.org/StaticFDP/staticfdp-index
staticfdp-vpgithub.com/StaticFDP/staticfdp-vpcodeberg.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:

TargetPlatformJurisdictionCI/CD
githubGitHub PagesMicrosoft, USGitHub Actions
codebergCodeberg Pages (Hetzner Frankfurt)German non-profit, EUWoodpecker CI
bothDual-write, active-activeUS + EUBoth 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

SecretPurposeHow to set
GITHUB_TOKENPost Issues to GitHubwrangler secret put GITHUB_TOKEN
FORGEJO_TOKENPost Issues to Codeberg (optional)wrangler secret put FORGEJO_TOKEN
ORCID_CLIENT_IDORCID OAuthwrangler secret put ORCID_CLIENT_ID
ORCID_CLIENT_SECRETORCID OAuthwrangler secret put ORCID_CLIENT_SECRET
SESSION_SECRETHMAC-signed cookieswrangler secret put SESSION_SECRET

Authors

This work was envisioned and built by:

NameORCID
Rajaram KaliyaperumalORCID
Eric G. Prud'hommeauxORCID
Egon WillighagenORCID
Andra WaagmeesterORCID

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages