LinkDen
Reference

FAQ

Frequently asked questions about LinkDen.

โ“ Frequently Asked Questions

๐ŸŒŸ General

What is LinkDen?

A self-hosted, open-source link-in-bio platform. Think Linktree, but you own everything and it runs on the edge.

Is LinkDen free?

Yes. MIT licensed, zero cost. Cloudflare's free tier covers Workers, D1, and Pages -- so hosting is free too.

Can I use LinkDen commercially?

Absolutely. The MIT license allows unrestricted commercial use. Remove all branding, use it for clients -- no strings attached.

How is LinkDen different from Linktree?

FeatureLinkDenLinktree
๐Ÿ’ฐ PricingFree (self-hosted)Free tier + paid plans
๐Ÿ  Data ownershipYou own it allLinktree owns it
๐ŸŒ Custom domainFull supportPaid plans only
๐Ÿท๏ธ Whitelabel100% (Fully Allowed)Not available
๐Ÿ“Š AnalyticsPrivate & Built-inLinktree has access
๐ŸŽจ CustomizationFull code accessLimited editor
๐Ÿ Apple WalletBuilt-inNot available

๐Ÿš€ Deployment

Do I need a Cloudflare account?

Yes. LinkDen runs on Cloudflare Workers + Pages (D1 and R2), so a Cloudflare account is required.

Does LinkDen support multiple users?

No. LinkDen is a single-user platform.

  • One instance = One link page.
  • Need more? Deploy separate instances.

How does authentication work?

LinkDen uses Better Auth.

  • No external services needed.
  • First user to /admin/setup becomes the admin.
  • Registration locks automatically after that.

How do I reset my password?

Use the "Forgot password?" link at /admin/login. Resetting signs out every device.

Note: Requires email (Resend) to be configured in Settings. Without email, run bun reset:password -- --email you@example.com --remote from the repo root; you are prompted for the new password.

I lost my two-factor device

Sign in with one of the backup codes you saved when you turned 2FA on. If you have none left, run bun reset:password -- --email you@example.com --remote --disable-2fa, then turn 2FA back on under Settings โ†’ Account.


โœจ Features

What block types are available?

Nine types: Link, Header, Embed, Connect (contact form), vCard, Location, Image, Text, and Divider. Social icons are not a block: they show under your profile once you add them at /admin/links/social.

How many themes are there?

11 built-in themes, each with light and dark variants: Classic, Graphite, Ocean Blue, Sunset, Forest, Minimal, Corporate Classic, Blood Moon, Hacker Terminal, Hellfire, and Abyssal.

  • Override any colour on top of a preset.
  • Custom CSS is also supported.

Can I use my own domain?

Yes. See the custom domain guide.


๐Ÿ› ๏ธ Troubleshooting

"Failed to..." errors in Admin Panel

  1. Is the server running? Check your terminal.
  2. Check NEXT_PUBLIC_SERVER_URL: Should be http://localhost:3000 locally.

CORS errors in browser

Set CORS_ORIGIN to your frontend URL (e.g., http://localhost:3001).

Tip: No trailing slash!

Build fails with type errors

Run bun run check-types. Usually fixed by:

  • Adding missing environment variables.
  • Running bun install.

๐Ÿ”„ Updating LinkDen

  1. git pull origin main
  2. bun install
  3. bun run deploy (Alchemy applies any new migrations during the deploy)

bun db:generate is for contributors who change the schema. Don't run it on an install you only update.

On this page