Build and deploy a static site to Fjord Pages (Forgejo Action).
Find a file
Stephen Way 6fef6d02ea
Deploy to Fjord Pages action
A Forgejo Action that publishes a static site to Fjord Pages: build
(optional), then stream the output to the ingest endpoint
(begin -> per-file PUT -> commit). Composite action (action.yml) wrapping
deploy.sh (curl + jq). Pre-built upload works on any tier; build-on-push
needs the instance runner add-on. MIT licensed.
2026-06-01 11:05:33 -07:00
examples Deploy to Fjord Pages action 2026-06-01 11:05:33 -07:00
action.yml Deploy to Fjord Pages action 2026-06-01 11:05:33 -07:00
deploy.sh Deploy to Fjord Pages action 2026-06-01 11:05:33 -07:00
LICENSE Deploy to Fjord Pages action 2026-06-01 11:05:33 -07:00
README.md Deploy to Fjord Pages action 2026-06-01 11:05:33 -07:00

Deploy to Fjord Pages

A Forgejo Action that publishes a static site to Fjord Pages. It builds (optionally), then streams the output to the Pages ingest endpoint: begin → per-file PUTcommit. See https://rasterhub.com/rasterstate/fjord-platform/src/branch/main/docs/PAGES_DESIGN.md and https://rasterhub.com/rasterstate/fjord-platform/src/branch/main/docs/PAGES_INGEST.md.

It's the build-on-push convenience layer over the upload primitive: the same begin/files/commit you could call from any CI or by hand. Build-on-push runs on the instance's Actions runner, so it needs the runner add-on; without a runner, do a pre-built upload (omit build-command, or run this from your own CI) on any tier.

Usage

- uses: actions/checkout@v4
- uses: https://rasterhub.com/rasterstate/pages-deploy-action@v1
  with:
    site-id: ${{ vars.FJORD_PAGES_SITE_ID }}
    deploy-token: ${{ secrets.FJORD_PAGES_DEPLOY_TOKEN }}
    build-command: npm ci && npm run build   # omit for a pre-built upload
    output-dir: dist                          # default: public

Get the site-id and reveal a deploy-token from the instance's Pages panel (Manage Pages). Store the token as an Actions secret; it's write-only and scoped to that instance's sites.

Inputs

Input Required Default Notes
site-id yes The Pages site id from the dashboard.
deploy-token yes Per-instance deploy token (use a secret).
output-dir no public Directory of built files to upload.
build-command no `` Runs before upload; empty = pre-built upload.
ingest-url no https://fjord.host/api/v1/pages/ingest Ingest endpoint base.

Notes

  • Needs curl and jq on the runner (standard images have both).
  • Caps (per-plan size, file count) are enforced at commit; an over-cap deploy is rejected and dropped, leaving the current site live.