Self-Hosting

ElixpoURL is open source under MIT. Stand up your own instance on Cloudflare Pages in about ten minutes.

Prerequisites

  • Cloudflare account with Pages and D1 enabled.
  • Node.js 22 or newer.
  • wrangler CLI (npm i -g wrangler).
  • An Elixpo Accounts OAuth app (or your own OAuth provider).

1. Clone and install

git clone https://github.com/elixpo/elixpourl.git
cd elixpourl
npm install

2. Provision D1

npx wrangler d1 create elixpourl
# paste the printed database_id into wrangler.toml
npm run db:migrate:local
npm run db:migrate:remote

3. Configure env

Copy .env.example .env and fill in your OAuth client ID/secret, the session secret, and the public site URL.

4. Deploy

./deploy.sh build deploy

The script builds with @cloudflare/next-on-pages, deploys to Cloudflare Pages on the main branch (override with DEPLOY_BRANCH), and refuses to run as root.

Staying up to date

Pull from upstream, re-run migrations, rebuild. We keep migrations gapless so updates are predictable.

License and branding

Code is MIT. The Elixpo wordmark, the Oreo mascot, and the brand palette stay with us — see LICENSES/exceptions/Oreo-trademarks in the repo. Self-hosted instances should ship with your own brand.

ElixpoURL: Fast URL Shortener on the Edge