Self-hosting

There is no database and no API key. The dataset is static JSON in the repo, so a deploy costs $0 and can't break from a dead backend.

One-click Vercel deploy

Deploy to Vercel ▸

This forks the repo and deploys it. Your public API will be live at https://your-app.vercel.app/api/v1/exercises.

Run locally

git clone https://github.com/amiinwani/free-exercise-db-with-videos
cd free-exercise-db-with-videos
npm install
npm run dev      # dev server on :3000
npm run build && npm start   # production

Environment

  • DEMO_MODE — set to true only for a public showcase to enable the 4-req/IP limit. Leave unset for unlimited.
  • NEXT_PUBLIC_SITE_URL — your canonical URL (used in metadata & sitemap).
  • UPSTASH_REDIS_REST_URL / UPSTASH_REDIS_REST_TOKEN — optional, for durable cross-region demo rate limiting.

Bring your own video hosting (optional)

Videos are referenced by URL. Run bash scripts/download-all-videos.sh to pull every file, then re-host them on your own CDN and update the URLs in data/ via scripts/export-from-source.mjs.