portaljs-deploy

Featured

Deploy a PortalJS portal to PortalJS Arc — Datopian-managed static hosting on Cloudflare. Builds a static export, uploads it, and returns a live SLUG.arc.portaljs.com URL. One command, one target. Use when a portal is ready to publish or redeploy to a live URL.

DevOps & Infrastructure 2,343 stars 334 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# PortalJS — Deploy ## Overview Publish an existing PortalJS portal to **PortalJS Arc** — Datopian's managed static hosting on Cloudflare. Build a static export, upload it to the Arc API, and print a live `https://SLUG.arc.portaljs.com` URL. Re-running redeploys the same portal (idempotent on the slug). This is a single-target skill — it deploys to Arc only. For self-hosting, run `npm run build` and upload `out/` to any static host; no skill required for that path. Arc serves static exports only — SSR is not hosted on Arc yet. ## Prerequisites - A PortalJS portal directory with a `package.json` that lists `next` as a dependency. - Node 18+ and npm on PATH (the Arc device-login flow uses Node's global `fetch`). - `curl` and `tar` available for packaging and upload. - A PortalJS Arc token — read from `PORTALJS_TOKEN`, or `~/.portaljs/credentials` (`{"token":"…"}`). If neither exists, the skill signs in on demand via a device-code flow; no manual token copying required. - If the portal stores large data in Git LFS/R2, do not run `git lfs pull` before deploying — large datasets are served from Cloudflare R2 via absolute URLs in `datasets.json`, not copied into the export. ## Instructions The canonical, full step-by-step workflow is [`.claude/commands/portaljs-deploy.md`](https://github.com/datopian/portaljs/blob/main/.claude/commands/portaljs-deploy.md) — the single source of truth. Read and follow it when executing. Summary: 1. Gather input — portal directory (def...

Details

Author
datopian
Repository
datopian/portaljs
Created
14 years ago
Last Updated
today
Language
TypeScript
License
MIT

Integrates with

Bundled in these plugins

Similar Skills

Semantically similar based on skill content — not just same category