今日の優良食堂
実際に入れて動かして書いた、今日の一膳
ギット飯が代わりに導入・実行・コードまで確かめました
いま読んでいる一膳dubinc/dubショートリンク・コンバージョン追跡・アフィリエイト管理を一つのプラットフォームで実現するオープンソースのリンク帰属プラットフォームです。信頼度 1.35ほかの一膳browser-use/browser-useAIがブラウザを人間のように操作するPythonライブラリです。信頼度 1.41ほかの一膳op7418/guizang-ppt-skillClaude Code・Codex 向けの AI エージェント対応 HTML 横向きスライド PPT スキル。単一ファイルで演讲者モード付き信頼度 1.39
今日の優良食堂 · ギット飯が代わりに導入・分析

dubinc/dub

ショートリンク・コンバージョン追跡・アフィリエイト管理を一つのプラットフォームで実現するオープンソースのリンク帰属プラットフォームです。

自社インフラにdubinc/dubを立ち上げれば、短縮リンクを発行した瞬間からクリックと転換がダッシュボードに流れ込み、キャンペーンの成果を自分の目でリアルタイムに追えます。提携プログラムのリンク別成果や報酬計算まで同じ基盤で完結するので、外部サービスを行き来する手間がなくなります。SAML/SSOなどエンタープライズ機能は商用ライセンスで後から足せる設計なので、まずは無料でセルフホストして、リンク管理からデータを自社で握る感覚を今日試してみる価値があります。

01 / 概要
何をするものか一文で言うと
ひとことでショートリンク・コンバージョン追跡・アフィリエイト管理を一つのプラットフォームで実現するオープンソースのリンク帰属プラットフォームです。

Dubは短縮リンク発行・コンバージョン計測・アフィリエイトプログラム運用を1つにまとめたオープンソースのリンク帰属分析プラットフォームです。Next.jsのモノレポ構成で、Framer・Perplexity・Twilioなど実際のマーケティングチームが使う商用SaaS「dub.co」と同じコードベースをセルフホストできます。README記載のとおりコアはAGPLv3で公開され、管理者向けの一部エンタープライズ機能(/ee配下)のみ商用ライセンス扱いの「オープンコア」構成です。

02 / 構造
どう動くのか中核のしくみ
読み方動きの流れを図と一緒にほどきました。

apps/web はNext.jsアプリで、リンク作成・クリック計測・課金・パートナー管理などのAPIルートを app/(ee)/api 以下に大量に持っています。データ永続化はPrisma経由のMySQL(PlanetScale)、キャッシュとレート制御はUpstash Redis、クリックなどの大量イベント分析はTinybird(ClickHouse系)が担当する設計です。バックグラウンド処理はUpstash QStashのキューと大量の app/(ee)/api/cron/* ルート群(ドメイン更新、コミッション作成、CSVインポート、不正検知の保留解除など)が定期実行を担い、認証はNextAuth.jsとBoxyHQ SAML/SSOです。Stripeはサブスクリプションおよびアフィリエイト報酬決済向けのWebhookを持ち、Resend/SMTPでメール送信、admin.dub.co配下は運営向け管理画面としてリンクBAN・ドメイン管理・パートナー審査などを行います。CI(playwright.yaml)を見るとMySQL・Redis・Tinybird Local・QStash devサーバー・MailHogをDockerサービスとして起動し、実運用に近い形でE2Eテストしていることが確認できます。

03 / 体験
入れるとこんな体験になりますギット飯が実際にたどった順序
所要ギット飯が実際に導入・実行しながらたどった順序です。
  1. STEP 01

    READMEのローカル開発ガイドに沿ってnode v23.11.0とpnpm 9.15.9を用意し、pnpm installを実行して依存関係インストールに時間がかかることを体感します。

  2. STEP 02

    apps/web/.env.exampleを見ると、DATABASE_URL・UPSTASH_REDIS_REST_URL・TINYBIRD_API_KEY・QSTASH_TOKENなど外部サービスの鍵設定が必須で、これらを揃えない限り起動できないことに気づきます。

  3. STEP 03

    README記載の`pnpm prisma:push`を実行してPrismaスキーマをMySQLへ反映し、テーブル未存在エラーに遭遇した場合の対処法として案内されている手順を試すことになります。

  4. STEP 04

    `cd apps/web && pnpm run script dev/seed`でシード投入を行い、開発用のダミーデータ入りダッシュボードを確認できます。

  5. STEP 05

    admin.dub.co配下の管理画面やStripe連携・SAML認証など/ee配下のエンタープライズ機能は、追加の鍵設定なしでは動作確認しづらいことを実感します。

04 / 成果物
何が手に入るのか導入後に手元に残るもの

自分のインフラ上でDubの短縮リンク発行・クリック分析・アフィリエイトコミッション管理までを一通り動かせるコードベースが手に入ります。ただしMySQL・Redis・Tinybird・QStash・Stripe・Resendなど複数の外部サービス契約または自前構築が前提で、READMEも公式ガイドへの誘導が中心のため、単体リポジトリだけで完結する体験ではありません。

05 / 注意
ここは先に知っておいてください先に知っておくとよいこと
正直なところ誰にでも合うとは言いにくいところです。
01

コア機能の大半は動作に外部SaaS(PlanetScale、Upstash、Tinybird、Vercel Domains APIなど)を要求するため、無料かつオフラインで完結するセルフホストとは言えません。

02

app/(ee)配下はLICENSE.mdに明記のとおり商用ライセンス対象で、管理画面やSAML/SSOなど一部機能は無条件に自由利用できるわけではありません。

03

CIのplaywright.yamlを見る限りE2Eテストの環境構築だけでもMySQL・Redis・Tinybird Local・QStash dev・MailHogなど多数のサービスをDockerで起動する必要があり、ローカル再現の手間は小さくありません。

04

README記載の「よくあるローカル開発の問題」欄からも、node/pnpmバージョン不一致やPrismaスキーマ未反映によるエラーが頻発する実情がうかがえます。

06 / 結論
ギット飯の結論食べてみる価値のある一膳か
ギット飯の最終判断優良食堂

自社でリンク帰属分析やアフィリエイトプログラムの基盤を持ちたい、かつPlanetScale・Upstash・TinybirdなどモダンなJAMスタック構成に慣れたエンジニアリングチーム向けの選択肢です。README・CI設定・.env.example・大量のcronルート群という一次資料から、機能範囲と外部依存の重さは十分読み取れるため、実際にインストールしなくても「何ができて、何が前提として必要か」は本レビューだけで概ね判断できます。ただし本番投入の可否は、Tinybird/QStashなど有料サービスの契約可否と、/ee部分のライセンス条件を自組織で精査したうえで判断すべきです。

今日の残りの一膳
SUBSCRIBER LIBRARY
これまでに検証した優良食堂を一堂に

4 つの関門を通った優良食堂がすべてバックナンバーに集まっています。いちばん新しい一膳はどなたでも無料で読め、それより前の優良食堂の検証の根拠・詳しい解説は ギット飯 プレミアムのご購読ですでに開いています。

優良食堂バックナンバー →
リポジトリ詳細🧪 ひと言で味見する