インストール

方法A:Docker(お試しにおすすめ)

git clone git@github.com:pipihosting/themis.git
cd themis
cp .env.example .env   # RAILS_MASTER_KEY と ANTHROPIC_API_KEY を記入
docker compose up

http://localhost:3000にアクセスし、シード済みの管理者アカウント admin@themis.local / password123 でサインインしてください。

docker compose upは2つのサービス — db(Postgres 16)とapp(Rails 開発イメージ)を起動します。appコンテナはリポジトリをバインドマウントするため、コード変更はライブリロードされます。gemとPostgresのデータは再起動をまたいで名前付きボリュームに保持されます。MCPサーバー(GitHub、Sentry、Google Workspace)は同梱されません。MCPを使わないフローではエージェントは動作します。必要な場合は以下で別途インストールしてください。

方法B:ネイティブ

前提条件

  • Ruby 3.4.7(miseまたはrbenvを使用)
  • PostgreSQL 14以上
  • Node.js 20以上(MCPサーバーとアセットパイプライン用)
  • Go(GitHub MCPサーバー用)

クローンとセットアップ

git clone git@github.com:pipihosting/themis.git
cd themis
bin/setup

bin/setupはgemのインストール、データベースの作成、マイグレーションの実行、開発サーバーの起動を自動的に行います。

環境変数

.env.example.env(または.env.local)にコピーし、以下を記入してください:

POSTGRES_HOST=localhost
POSTGRES_USERNAME=postgres
POSTGRES_PASSWORD=your_password

オプションのボット識別情報の上書きやAnthropicプロキシ設定を含む全リストは.env.exampleを参照してください。

Rails認証情報

ThemisはAPIキーをRailsの暗号化認証情報に保存します:

bin/rails credentials:edit

Anthropic APIキー(必須)とオプションのインテグレーションを追加します:

themis:
  anthropic_api_key: sk-ant-xxx

  # オプション — Google OAuthサインイン用
  google_oauth:
    client_id: xxx
    client_secret: xxx

  # オプション — Tier 1軽量エージェント用
  openai_api_key: sk-xxx

MCPサーバーのインストール

Themisはエージェントを外部サービスに接続するためにMCP(Model Context Protocol)サーバーを使用します:

# Sentry(オプション)
npm install -g @sentry/mcp-server

# Google Workspace(オプション)
pip install workspace-mcp

GitHubへのアクセスはMCPサーバーではなく、専用のGitHub Appを使用します。登録とインストールについては admin/github-app.md を参照してください。

Linear MCPはLinearがhttps://mcp.linear.app/mcpでホスティングしています。ローカルへのインストールは不要です。

サーバーの起動

bin/dev

以下が起動します:

プロセスポート説明
Rails3000Webアプリケーション
TailwindCSSウォッチャー
Solid Queueバックグラウンドジョブ
Google Workspace MCP10299Drive + Calendar + Gmailインテグレーション(インストール済みの場合)
Jekyll docs4000ドキュメントサイト

http://localhost:3000にアクセスして開始してください。

シードデータ(開発環境)

bin/setupdocker compose upのいずれも初回起動時にdb:prepareを実行し、管理者ユーザーを1件シードします:

メールパスワード役割
admin@themis.localpassword123管理者、共有「Default」スペースのオーナー

ALLOW_PASSWORD_LOGIN=truedocker-compose.ymlのデフォルト)の場合、サインインページにメール/パスワードのログインフォームが表示されます。ネイティブ開発でGoogle OAuthを設定せずにサインインする場合は、.envで有効化してください。シードのソースはdb/seeds/default.rbを参照してください。