Cloudflare deployment

Deploy Linketry with the right amount of control.

Create a normal production instance in your own Cloudflare account. Quick Deploy is the fastest path (one Worker + Admin at /admin/). The reviewed repository workflow keeps separate Pages Admin hosting, dry-runs, and exact confirmation phrases before any write.

Demo is not your instance. Never enable LINKETRY_DEMO_MODE on a real deployment, and never reuse Demo credentials, accounts, or synthetic data for production.

A · Quick Deploy

Fastest path: one Worker with Admin at /admin/.

Cloudflare forks the repository, provisions a new D1 database and KV namespace, builds the Admin into the Worker, and applies the production migrations in your account. One secret: LINKETRY_ADMIN_TOKEN. Demo mode stays off.

  1. 1

    Sign in to the Cloudflare account that will own this production instance.

  2. 2

    Choose the Worker, D1 and KV names, then enter a private Admin login token.

  3. 3

    Deploy, open the Worker URL at /admin/, and configure that hostname as your first short-link domain.

Deploy production instance
Production only. No Demo resources or synthetic data.

The quick profile never enables Demo mode and never asks for LINKETRY_DEMO_* values. It starts on workers.dev; add a custom domain later when you are ready.

B · Reviewed repository workflow

More control: dry-runs, Pages Admin, approval gates.

Fork the repository and use Linketry's maintained dry runs. The scripts show the D1/KV plan and require an exact confirmation phrase before any Cloudflare or GitHub write. Prefer this path for custom domains, separate Pages Admin hosting, backups, and upgrades.

  1. 1

    Fork Linketry into the GitHub account that will own future upgrades.

  2. 2

    Run the bootstrap and repository configuration dry runs, then set LINKETRY_ADMIN_TOKEN with gh secret set before the first workflow run.

  3. 3

    Review the plan, confirm the exact phrase, then start the protected workflow.

Guarded assistant prompt
Help me deploy Linketry from my fork to my own Cloudflare account.

The prompt does not ask you to paste a token into chat, source files, logs, or command arguments.

Open full repository guide