--- title: Dub created: 2026-06-08 updated: 2026-06-08 type: app tags: [catalogue, url-shortener, self-hosted] confidence: high contested: false sources: [https://selfh.st/apps/?tag=42, https://github.com/dubinc/dub] --- # 🔗 Dub > **Dub** est une plateforme open source de gestion de liens courts pensĂ©e pour les Ă©quipes marketing, avec UTM builder, QR codes dynamiques, analytique dĂ©taillĂ© et API performante. ## 📋 Informations GĂ©nĂ©rales | MĂ©tadonnĂ©e | Valeur | | :--- | :--- | | **Site web** | https://dub.co | | **GitHub** | https://github.com/dubinc/dub | | **License** | AGPL-3.0 | | **Langage principal** | TypeScript | | **Étoiles GitHub** | 23 658 | | **DerniĂšre MAJ** | 2026-06-07 | | **CatĂ©gorie** | [[cat-url-shortener]] | ## 📝 Description Dub est bien plus qu'un simple raccourcisseur d'URL : c'est une **plateforme de link management** orientĂ©e Ă©quipes marketing, conçue pour suivre, attribuer et optimiser les liens courts utilisĂ©s dans les campagnes. Le projet a dĂ©marrĂ© comme alternative open source Ă  bit.ly et s'est Ă©toffĂ© pour devenir une suite complĂšte d'attribution (UTM builder, deep links, QR codes dynamiques) avec une API publique. L'interface est moderne (Next.js, Tailwind) et propose un dashboard temps rĂ©el avec gĂ©olocalisation, rĂ©fĂ©rents, devices, browsers. Le moteur de redirection est optimisĂ© (cache en mĂ©moire, edge-ready) et gĂšre plusieurs domaines personnalisĂ©s, slugs personnalisĂ©s, expiration programmĂ©e, mots de passe, et link previews dĂ©sactivables. La version auto-hĂ©bergĂ©e (Dub OSS) garde 80% des fonctionnalitĂ©s du SaaS et supporte l'authentification par email, OAuth GitHub/Google, l'API REST, les webhooks et l'export CSV. L'image Docker officielle embarque Postgres, Redis, Tinybird (optionnel) et le worker d'agrĂ©gation. ## 🚀 Installation ### Docker Compose (recommandĂ©) ```yaml services: dub: image: dubinc/dub:latest container_name: dub restart: unless-stopped networks: - web - internal environment: - NEXT_PUBLIC_APP_DOMAIN=go.example.com - DATABASE_URL=postgresql://dub:pass@db:5432/dub - REDIS_URL=redis://redis:6379 - NEXTAUTH_SECRET=${NEXTAUTH_SECRET} - NEXTAUTH_URL=https://go.example.com - GITHUB_CLIENT_ID=${GITHUB_CLIENT_ID} - GITHUB_CLIENT_SECRET=${GITHUB_CLIENT_SECRET} labels: - "traefik.enable=true" - "traefik.http.routers.dub.rule=Host(`go.example.com`)" - "traefik.http.routers.dub.tls.certresolver=letsencrypt" - "traefik.http.services.dub.loadbalancer.server.port=3000" depends_on: - db - redis db: image: postgres:16-alpine restart: unless-stopped networks: - internal environment: - POSTGRES_USER=dub - POSTGRES_PASSWORD=pass - POSTGRES_DB=dub volumes: - dub-db:/var/lib/postgresql/data redis: image: redis:7-alpine restart: unless-stopped networks: - internal volumes: - dub-redis:/data networks: web: external: true internal: volumes: dub-db: dub-redis: ``` ### Installation manuelle > Dub OSS fournit un guide pas Ă  pas : cloner le repo, installer pnpm, configurer `.env`, exĂ©cuter Prisma migrate puis `pnpm build && pnpm start`. RĂ©servĂ© au dĂ©veloppement ou Ă  un environnement custom. ## ⚙ Configuration - DĂ©finir `NEXT_PUBLIC_APP_DOMAIN` sur le domaine personnalisĂ© servant les liens courts. - Configurer OAuth GitHub/Google dans `.env` (variables `GITHUB_CLIENT_ID`). - ExĂ©cuter les migrations Prisma au premier dĂ©marrage. - Brancher Tinybird (optionnel) pour l'analytique temps rĂ©el et la gĂ©olocalisation IP. - Activer la protection du `/api` par rate limit (middleware Next.js intĂ©grĂ©). ## 🔄 Alternatives ### Open Source - [[app-shlink]] — l'institution PHP, conteneur natif, REST API, gĂ©olocalisation via GeoLite2. - [[app-kutt]] — moderne TypeScript, custom domain, UI soignĂ©e, plus simple que Dub. - [[app-yourls]] — pionnier PHP/MySQL, Ă©cosystĂšme de plugins riche. - [[app-sink]] — Rust, single binary, dĂ©ploiement Cloudflare ou serveur lĂ©ger. ### PropriĂ©taires (ce que cette app remplace) - **bit.ly** — leader historique, freemium agressif, analytics fermĂ©s. - **short.io** — custom domain et branded links, freemium. - **rebrand.ly** — link management orientĂ© marque blanche. - **BL.INK** — plateforme analytics avancĂ©e, onĂ©reuse. ## 🔐 SĂ©curitĂ© - **OAuth obligatoire** : activer au moins GitHub/Google, ne pas laisser l'inscription ouverte en production. - **Rate limiting** : la redirection d'URL est une cible classique de spam, activer CrowdSec ou le middleware intĂ©grĂ©. - **Backups Postgres** : la base de liens est prĂ©cieuse, sauvegarder quotidiennement. - **HTTPS strict** : service exposĂ© publiquement, ne jamais servir en HTTP. - **Secret rotation** : `NEXTAUTH_SECRET` doit ĂȘtre long et renouvelĂ© annuellement. ## 📚 Ressources - Site officiel : https://dub.co - Code source : https://github.com/dubinc/dub - Documentation : https://dub.co/docs - DĂ©mo : https://app.dub.co - Self-hosting guide : https://github.com/dubinc/dub/blob/main/self-host.md - CommunautĂ© : https://github.com/dubinc/dub/discussions ## Pages LiĂ©es - [[cat-url-shortener|URL Shortener]] — CatĂ©gorie complĂšte - [[app-shlink]] — Alternative mature PHP - [[app-kutt]] — Alternative TypeScript plus simple - [[recettes-docker-compose]] — Templates Docker