LASSIC Media らしくメディア

2026.07.22 らしくコラム

TwentyでCRMをセルフホスト構築・外注

LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託

セルフホストサーバーのイメージ

この記事のポイント

  • Twentyは、GitHub上で「Salesforceの代替」を掲げるAGPLv3ライセンスのOSS CRMで、自社サーバーへのセルフホストが可能です。ただし一部の機能ファイルは商用のEnterpriseライセンス対象です。
  • Docker Composeを使えば比較的短時間で構築できますが、暗号化キーの管理やRAM要件など見落としやすい注意点があります。
  • セルフホストであってもSSOや行レベル権限などのガバナンス機能は有償プランが前提となるため、内製と外注のどちらで進めるかはコスト構造とリスクの両面から判断する必要があります。

Twentyとは?Salesforceの代替を掲げるOSS CRMの全体像

Twentyとは、GitHub公式リポジトリで「The open alternative to Salesforce, designed for AI.」と紹介されているオープンソースのCRM(顧客関係管理)システムです*2。TypeScriptを中心に、React・NestJS・PostgreSQL・Redisといった構成で開発されており、2026年7月時点でスター53,413件、フォーク8,119件を獲得しています*2。クラウド版のほか、自社サーバーに構築するセルフホストという選択肢が公式に用意されている点が特徴です*1

図
図:Twentyセルフホスト構築から内製・外注判断までの流れ(要件整理→Docker構築→運用設計→内製/外注判断)

営業部門が使うCRMは、案件管理や商談進捗の可視化を担う基幹ツールです。SalesforceやHubSpotのようなSaaS型CRMはライセンス費用がユーザー数に応じて積み上がる一方、Twentyはソースコードが公開されたセルフホスト型のため、ライセンス費用そのものは発生しません*1。公式ドキュメントは、セルフホストの利点として自社サーバーへのデータ保持、データレジデンシー要件への対応、プラットフォームを自由に改変できる拡張性の3点を挙げています*1。もっとも、構築・運用を自社で担うか外部に委託するかという別の判断が新たに発生する点は、他のセルフホスト型OSSと同様です。

オブジェクト・ワークフロー・AIエージェントで何ができるか

データモデルのカスタマイズとCSV・API連携

公式のユーザーガイドは、Twentyの主要機能として、業務プロセスに合わせてデータモデルをカスタマイズできる点を挙げています*4。案件・取引先・商談といった標準オブジェクトに加え、独自の項目やオブジェクトを追加できる設計です。データの移行についても、CSVやAPI経由でのインポート・エクスポートに対応しており*4、既存のExcel管理台帳やほかのCRMからの移行を検討しやすい構成と言えるでしょう。

ワークフロー自動化とAIエージェントによる業務強化

ワークフロー機能は、業務プロセスの自動化と外部ツールとの連携を担います*4。あわせて、チームの会議やメールを一元管理するカレンダー・メール連携機能、ナビゲーション・ビュー・レコードページをカスタマイズできるレイアウト機能、リアルタイムに実績を追跡するダッシュボード、ロールベースでのアクセス管理機能が用意されています*4。AIエージェント機能についても「Enhance your team with AI agents.」と紹介されており*4、CRM上のデータを起点にした業務支援を組み込む余地があります。ただし、どこまでの機能を実運用で使うかは、後述するライセンス条件の確認が前提になります。

Docker Composeで構築する標準手順

前提条件と暗号化キーの発行

公式ドキュメントは、Docker Composeでの構築にあたり「RAM: Ensure your environment has at least 2GB of RAM」と明記し、メモリ不足がプロセスのクラッシュにつながる恐れがあると注意を促しています*3。DockerとDocker Composeが最新版でインストール済みであることも前提です*3

手順はまず.envファイルをダウンロードし、ENCRYPTION_KEYを「openssl rand -base64 32」コマンドで生成して設定します*3。公式ドキュメントはこの値について「Keep this value secret」と明記しており*3、紛失するとOAuthトークンやアプリケーション変数、TOTPシークレットなど、データベースに保存された機密情報へのアクセスを失うと警告しています*3。あわせてPG_DATABASE_PASSWORDには、特殊文字を含まない強力なパスワードを設定する必要があります*3

docker-compose.ymlの取得と起動

次にdocker-compose.ymlをダウンロードし、docker compose up -dで起動すると、既定では「http://localhost:3000」でアクセスできます*3。公式リポジトリが提供するワンライナーの導入スクリプトを使う方法も用意されており、バージョンやブランチを指定した導入にも対応します*3。公式ドキュメントは「Only modify settings explicitly mentioned in this guide.」とも述べており*3、ガイドに明記のない設定変更は不具合の原因になりやすい点に注意が必要です。

SERVER_URLとSSL要件、外部公開時の注意点

ローカル環境の検証を終え、社内外からアクセスできる環境として公開する場合は、SERVER_URLの設定が必要になります。公式ドキュメントは、SSLなしで直接アクセスする場合は「SERVER_URL=http://your-domain-or-ip:3000」、リバースプロキシ経由でSSLを使う場合は「SERVER_URL=https://your-domain-or-ip」と設定するよう案内しています*3

あわせて「SSL (HTTPS) is required for certain browser features to work properly」と明記されており*3、コピー&ペースト関連のAPIなど一部のブラウザ機能はSSLがないと正しく動作しません。ローカル開発中はブラウザがlocalhostを特別扱いするため問題が表面化しにくく、社内サーバーへ本格的に公開した段階になって初めて不具合に気づくケースが想定されます。リバースプロキシでのSSL終端を導入時から設計に組み込んでおくことが望ましいでしょう。

セルフホストでも有償になるEnterprise機能とライセンスの注意点

Twentyのライセンスは単純な単一ライセンスではありません。GitHub公式リポジトリのLICENSEファイルによると、プロジェクトの大部分はGNU Affero General Public License Version 3(AGPLv3)の下で公開されていますが、ファイル冒頭に「/* @license Enterprise */」というコメントが付いた一部のファイルは、AGPLv3ではなく商用ライセンスの対象です*6

この商用ライセンス対象ファイルについて、LICENSEファイルは「it is forbidden to copy, merge, publish, distribute, sublicense, and/or sell the Software」と明記しており*6、有効なEnterprise Editionのサブスクリプションがない限り、本番環境での利用はできない仕組みです*6。一方で「you may copy and modify the Software for development and testing purposes, without requiring a subscription」ともあり*6、開発・検証目的でのコピーや改変はサブスクリプションなしで認められています。

公式の料金ページでも、この区分は裏付けられています。セルフホストにもクラウド版と同様のプラン構成が適用され、行レベル権限・SAML/OIDC対応のSSO・暗号化キーのローテーション・監査ログといった機能は、上位のOrganizationプランでのみ利用できると案内されています*5。つまり、Twenty自体はAGPLv3の無料OSSであっても、内部統制上SSOや監査ログが必須となる企業では、セルフホストであっても追加のライセンス費用が発生する可能性がある点に注意が必要です。

セルフホスト内製と外注委託のコスト構造比較

セルフホストによる内製構築と、外部パートナーへの委託では、費用構造・必要スキル・リスク対応の重心が異なります。以下の表に主な違いを整理しました。

比較項目 セルフホスト内製 外注委託
ライセンス費用 AGPLv3部分は無料ですが、SSO・監査ログ等が必要な場合はOrganizationプランの契約費用が発生します*5*6 ライセンス体系の整理を含め、必要な契約範囲の見極めを委託先に相談できます
必要な専門知識 Docker運用、暗号化キーの管理、PostgreSQL運用、SERVER_URL・SSL設計が必要です*3 専門パートナーが構築・調整を担うため、社内での知識習得は最小限で済みます
バックアップ・データ保全 pg_dumpによるバックアップと復元テストを自社で設計・運用します*3 バックアップ設計から監視までを含めて委託できます
バージョンアップ対応 頻繁なリリース(直近はv2.22.0)に追随し、都度動作確認します*7 動作検証を含めて委託先が対応します

バックアップとアップグレード運用の要点

Twentyのデータは、Docker上で稼働するPostgreSQLコンテナに保存されます。公式ドキュメントは、手動でのバックアップとして「docker exec twenty-postgres pg_dump -U postgres twenty > backup_日付.sql」のようなコマンド例を示し、crontabによる定期実行も案内しています*3。復元は、サービス停止後にバックアップファイルをデータベースへ流し込み、コンテナを再起動する流れです*3

あわせて公式ドキュメントは、「Test restores regularly」「Store backups off-site」「Encrypt sensitive data」という3つの運用上の推奨事項を挙げています*3。復元テストを定期的に行わないままにしておくと、いざ障害が起きた際にバックアップファイルが実際には復元できないという事態に気づけません。

GitHub公式リポジトリのリリース履歴を確認すると、直近のバージョンはv2.22.0で、2026年7月17日に公開されています*7。継続的にリリースが重ねられている状況は、機能追加が活発である裏返しでもあり、バージョン間で挙動や設定項目が変わる可能性を踏まえて、アップグレード前には検証環境での確認を挟む運用が欠かせません。

内製構築に必要なスキルと外注との違い

Docker運用・鍵管理・ライセンス判断に求められる専門知識

Twentyを内製で構築・運用する場合、求められる専門知識は複数分野にまたがります。Dockerコンテナの運用とPostgreSQLの管理、ENCRYPTION_KEYをはじめとする機密情報の管理、SERVER_URLとSSL証明書の設計、そしてSSO・監査ログといったEnterprise機能が自社に必要かどうかのライセンス判断がその内容です。情報システム部門だけでこれらを完結させるには、複数の担当者が連携する体制を整える必要があるでしょう。

判断を先延ばしにしたまま自己流で構築を進めると、SSLを設定しないまま社内公開してブラウザ機能が動かない、あるいはバックアップの復元テストを怠るといった問題に後から気づくケースが生じます。特にENCRYPTION_KEYの紛失は、OAuthトークンなど保存済みの機密情報へのアクセスを失う重大な事態につながりかねません*3

専門パートナーに委託した場合の違い

専門パートナーに依頼すると、Docker環境の構築からSSL・SERVER_URLの設計、バックアップ運用、Enterprise機能が必要かどうかのライセンス確認までを一連の工程として任せられます。自社では構成検討や動作検証だけで時間がかかる場面でも、複数のCRM基盤を扱ってきた知見を活用すれば、稼働までの期間を圧縮しやすくなります。内製と外注のどちらを選ぶ場合でも、まずは自社に必要な機能とガバナンス要件の整理が出発点と言えるでしょう。

まとめ:Twentyセルフホスト活用の3つの判断軸

本稿ではTwentyの機能とセルフホスト構築の要点を、公式ドキュメントとGitHubリポジトリの情報に基づいて整理しました。要点は次の3つに集約されるでしょう。第一に、Twentyはデータモデルのカスタマイズ・ワークフロー・AIエージェントを備えたAGPLv3の無料OSSであり、Salesforce・HubSpotの代替候補になり得ます*2*4。第二に、Docker Composeでの構築自体は比較的シンプルですが、暗号化キーの管理・SSL要件・バックアップ運用には専門知識が必要です*3。第三に、SSOや監査ログなどのガバナンス機能はセルフホストであっても有償プランが前提となるため、自社に必要な機能を見極めたうえで、内製と外注のどちらで進めるかを判断することが重要です*5*6

LASSICに相談するメリット

LASSIC IT事業部は、OSSを含む業務基盤の構築・運用を元請(プライムベンダー)として受託しています。TwentyのDocker構築からバックアップ設計、SSL・外部公開時のセキュリティ設計、SSO・監査ログ等が必要な場合のライセンス整理まで一貫して対応する体制を整えています。自社での構築に不安がある企業様は、まずは現状の営業・案件管理体制の棚卸しからご相談ください。

よくある質問

Twentyは無料で商用利用できますか。

プロジェクトの大部分はAGPLv3ライセンスのOSSであり、無料で利用・改変できます*6。ただし、ファイル冒頭に「@license Enterprise」と記載された一部のファイルは商用ライセンスの対象で、本番環境で使うには有効なEnterprise Editionのサブスクリプションが必要です*6

セルフホストの構築にはどのくらいのサーバースペックが必要ですか。

公式ドキュメントは、最低2GBのRAMを確保するよう案内しています。メモリが不足するとプロセスがクラッシュするおそれがあります*3。DockerとDocker Composeが最新版でインストールされていることも前提です*3

SalesforceやHubSpotと比べて何が違いますか。

TwentyはOSSであり、GitHub上で「Salesforceの代替」と位置付けられています*2。セルフホストによって自社サーバーにデータを保持できる点、TypeScriptベースで拡張できる点が特徴です*1*2

セルフホストでもSSOや監査ログは使えますか。

公式の料金ページによると、SAML/OIDC対応のSSOや行レベル権限、監査ログ、暗号化キーのローテーションは、セルフホストであっても上位のOrganizationプランでのみ利用できます*5。無料のAGPLv3部分だけでは、これらの機能は使えません。

バックアップはどのように行いますか。

Docker上のPostgreSQLコンテナに対し、pg_dumpコマンドで手動またはcronによる定期バックアップを行います*3。公式ドキュメントは、復元テストの定期実施・バックアップのオフサイト保管・機密データの暗号化を推奨事項として挙げています*3

著者:テレリモ総研編集部 鈴木 亮佑


ITアウトソーシング・システム開発のご相談はLASSICへ

元請(プライムベンダー)として、貴社の課題に合わせた体制構築・開発支援をご提案します。まずはお気軽にご相談ください。

無料相談はこちら

ご不明な点はお問い合わせフォームからもご連絡いただけます。

  1. *1 出典:Twenty公式ドキュメント「Self-Host」(https://docs.twenty.com/developers/self-host/self-host
  2. *2 出典:Twenty公式GitHubリポジトリ「README」(https://github.com/twentyhq/twenty
  3. *3 出典:Twenty公式ドキュメント「Docker Compose」(https://docs.twenty.com/developers/self-host/capabilities/docker-compose
  4. *4 出典:Twenty公式ユーザーガイド「Introduction」(https://docs.twenty.com/user-guide/introduction
  5. *5 出典:Twenty公式サイト「Pricing」(https://twenty.com/pricing
  6. *6 出典:Twenty公式GitHubリポジトリ「LICENSE」(https://github.com/twentyhq/twenty/blob/main/LICENSE
  7. *7 出典:Twenty公式GitHubリポジトリ「Releases(v2.22.0)」(https://github.com/twentyhq/twenty/releases/tag/twenty%2Fv2.22.0


View