Skip to content

Getting Started ​

Inkpage Links is a self-hosted short-link app with visit analytics. It runs on Cloudflare (no VPS required).

1. Get the source ​

Inkpage Links is derived from the open-source project Sink and is distributed under the AGPL-3.0 license. Use the source repository you were given access to — it is not publicly forked, because this deployment is operated as a private instance.

2. Choose where to deploy ​

Cloudflare builds from your repository and publishes the app.

3. Create Cloudflare resources ​

In the Cloudflare dashboard, create the services Sink will use. Later you will bind them to the project — binding connects a specific resource to Sink under a designated name.

Binding nameCloudflare productRequired?Description
DBD1 (database)YesStores your links
KVKV (key-value store)YesSpeeds up redirects
ANALYTICSAnalytics EngineRecommendedVisit stats and logs
R2R2 (object storage)OptionalBackups and social preview images
AIWorkers AIOptionalAI-suggested short codes and titles

For the full experience, create all five. You can add analytics later — see Analytics and Realtime.

After creating D1 and KV, open each resource’s detail page and copy its ID (you will paste it into deploy settings).

4. Configure and deploy ​

Follow the Workers guide to connect the fork, add bindings, and set variables.

Set NUXT_SITE_TOKEN yourself

This is the password used by API tools (MCP, scripts, curl) — the dashboard itself signs in with Google. Use a long random string (at least 8 characters, no whitespace) and keep it stable — changing it invalidates API callers.

If you skip it, Sink may invent a random password at build time that can change on the next deploy.

Other settings: configuration reference.

  1. Create an OAuth client in the Google Cloud console (type Web application) with the authorized redirect URI https://your-domain/api/auth/google/callback
  2. Set NUXT_SESSION_SECRET, NUXT_GOOGLE_CLIENT_ID, NUXT_GOOGLE_CLIENT_SECRET, and NUXT_SUPER_ADMIN_EMAILS (your Google address)
  3. Open https://your-domain/dashboard
  4. Sign in with Google
  5. Open Dashboard → Links once

Why open Links once?

The first open finishes a one-time storage setup. Until then, creating links or backups may fail with “storage not ready” (HTTP 423). New installs only need a quick empty check; older KV-only installs migrate data here — see storage setup / migration.

  1. Create your first short link

The dashboard supports multiple languages. Docs are available in English and Simplified Chinese.