AltFreeStack
Marketing, Forms & EmailingOpen-CoreπŸ”΄ Full Β· ~4GB

Dub: Open-Core alternative to Bitly in 2026

Dub is a modern short-link platform with detailed click analytics, built as an open source, self-hostable alternative to Bitly.

Core is open source, but advanced features or enterprise support may be behind a paid tier β€” check the license.

License AGPL-3.024.9k starsWebsite GitHub Repository

Audit Snapshot

  • License β€” Not verifiable on GitHub

  • GitHub β€” Active

  • Latest release β€” Not available

  • Docker Compose β€” Manual setup, no Docker

  • Production β€” Not production-tested by AltFreeStack

Dub vs. Bitly

Pros

  • Real-time click analytics, custom domains and a programmatic API

Things to consider

  • Self-hosting it takes more work than a simple docker-compose

Quick Docker installation guide

This tool doesn't install via a plain docker-compose.yml β€” it uses the project's own official installer. Review it before running it. See the full step-by-step guide β†’

πŸ’‘ Official SaaS or self-hosted with AltFreeStack?

  • On the official cloud: a recurring monthly fee and usage limits on Bitly.
  • On your own VPS: the core is free to self-host on your own server β€” no more monthly SaaS fee, though some advanced features stay behind a paid plan.
install.sh (official script)
# Dub es una app Next.js pensada principalmente para su nube gestionada;
# auto-hospedarla implica clonar el repo y configurar Postgres + Redis
# manualmente (no publican todavΓ­a una imagen Docker oficial ΓΊnica):
git clone https://github.com/dubinc/dub.git
cd dub && pnpm install && pnpm build

This docker-compose corresponds to an actively maintained project β€” last commit today.

This docker-compose not working for you? Report it on GitHub β†’

Technical profile

License
AGPL-3.0
Category
Marketing, Forms & Emailing
Replaces
Bitly
Tech stack
Next.jsPostgreSQLRedis

Key features

  • Real-time click analytics
  • Your own custom domains
  • API to generate links programmatically

Preview

Dub interface preview

Public image provided by Dub on its own website.

🌐 Connect your domain with free SSL

Step 1 β€” Set up the DNS

In your domain registrar's dashboard (Cloudflare, Namecheap, GoDaddy...), create a record:

Type
A
Name/Host
@ (root domain) or a subdomain, e.g. app
Content/Value
Your server's public IP

Wait 5 to 15 minutes for the record to propagate across the internet.

Step 2 β€” Automatic reverse proxy with Caddy

One single file, no Nginx config or manual certificates β€” Caddy issues and renews Let's Encrypt HTTPS on its own.

Create a file called Caddyfile:

yourdomain.com {
    reverse_proxy localhost:YOUR_APP_PORT
}

Start Caddy with this command (pulls the image and runs it in the background):

docker run -d -p 80:80 -p 443:443 --name caddy --restart always -v $PWD/Caddyfile:/etc/caddy/Caddyfile -v caddy_data:/data caddy