SentoryをMacのdocker-composeでサクッと立ち上げて起動する手順
フロントエンドのエラーログモニタリングサービスSentoryをMacのdocker-composeでサクッと立ち上げて起動するまでの手順をメモしました。
Sentry(セントリー)
Sentryとは?
Sentryとは、フロントエンドのエラー監視ツールになります。
エラーログや日時、ユーザーの情報、ブラウザや端末の情報などを集積し
GUIでログの確認を行うことができます。
Sntoryの特徴
- Sentryは様々なプラットフォームで利用が可能
 - ユーザーデータ(UA、OS)やユーザー行動ログに応じたエラーを検証することができる
 - プロジェクトごとにエラーのチケットを管理することができる
 
公式サイト
Application Performance Monitoring & Error Tracking Software | Sentry
やること
環境
- Mac OS Big SUR 11.3.1
 - Docker 20.10.2
 - docker-compose 1.25.0
 
要件
実際に利用するにはそこそこのスペックが必要になります。
- Docker 19.03.6+
 - Compose 1.24.1+
 - 4 CPU Cores
 - 8 GB RAM
 - 20 GB Free Disk Space
 
Sentryのインストール
githubからclone
setsentry/onpremiseのリポジトリからソースコードをクローンします。
zsh$ git clone https://github.com/getsentry/onpremise.git
cloneしたonpremiseディレクトリへ移動
cloneしたonpremiseディレクトリへ移動します。
zsh$ cd onpremise 
インストールスクリプトを実行
インストールスクリプトである./install.shを実行します。
zsh$ ./install.sh
./install/_lib.sh: line 15: realpath: command not found
realpathコマンドが見つからないエラー
realpathコマンドが見つからないエラーが発生しました。
zshrealpath: command not found
realpathが入っているcoreutilsをインストール
Homebrewで realpathが入っているGNU Linux coreutils をいれます。
zsh$ brew install coreutils
再度インストールスクリプトを実行
再度インストールスクリプトを実行します。
zsh$ ./install.sh 
メモリ不足エラー
今度はメモリが不足しているというエラーが発生しました。
zshFAIL: Required minimum RAM available to Docker is 3800 MB, found 2993 MB
メッセージを確認する限り最低4G必要なようです。
dockerのメモリ設定変更
再度インストールスクリプトを実行
再度インストールスクリプトを実行します。
zsh$ ./install.sh 
アカウント作成
アカウント作成の有無を問われるので必要に応じて回答します。
zshWould you like to create a user account now? [Y/n]: 
Emailの入力
アカウント作成へYと回答するとアカウントを作成します。
Emailを入力して実行します。
zshEmail: 
Passwordの入力
続いてPasswordの入力を求めらるので入力して実行します。
zshPassword
しばらくするとインストールが完了し下記のメッセージが表示されいます。
vbnet
-----------------------------------------------------------------
You're all done! Run the following command to get Sentry running:
  docker-compose up -d
-----------------------------------------------------------------
Sentryの起動
docker-compose upでSentryを起動
docker-compose upコマンドでSentryを起動します。
zsh$ docker-compose up -d
//中略
Starting sentry_onpremise_zookeeper_1            ... done
Starting sentry_onpremise_memcached_1            ... done
Starting sentry_onpremise_symbolicator_1         ... done
Starting sentry_onpremise_clickhouse_1           ... done
Starting sentry_onpremise_postgres_1             ... done
Starting sentry_onpremise_redis_1                ... done
Starting sentry_onpremise_smtp_1                 ... done
Creating sentry_onpremise_symbolicator-cleanup_1 ... done
Creating sentry_onpremise_geoipupdate_1          ... done
Starting sentry_onpremise_kafka_1                ... done
Starting sentry_onpremise_snuba-sessions-consumer_1                  ... done
Starting sentry_onpremise_snuba-subscription-consumer-events_1       ... done
Starting sentry_onpremise_snuba-api_1                                ... done
Starting sentry_onpremise_snuba-subscription-consumer-transactions_1 ... done
Starting sentry_onpremise_snuba-outcomes-consumer_1                  ... done
Starting sentry_onpremise_snuba-consumer_1                           ... done
Starting sentry_onpremise_snuba-replacer_1                           ... done
Starting sentry_onpremise_snuba-transactions-consumer_1              ... done
Creating sentry_onpremise_snuba-transactions-cleanup_1               ... done
Creating sentry_onpremise_snuba-cleanup_1                            ... done
Creating sentry_onpremise_ingest-consumer_1                          ... done
Creating sentry_onpremise_cron_1                                     ... done
Creating sentry_onpremise_web_1                                      ... done
Creating sentry_onpremise_subscription-consumer-transactions_1       ... done
Creating sentry_onpremise_sentry-cleanup_1                           ... done
Creating sentry_onpremise_subscription-consumer-events_1             ... done
Creating sentry_onpremise_worker_1                                   ... done
Creating sentry_onpremise_post-process-forwarder_1                   ... done
Creating sentry_onpremise_relay_1                                    ... done
Creating sentry_onpremise_nginx_1                                    ... done
Sentry起動の確認
docker psコマンドでSentryの起動を確認します。
ものすごい数のコンテナが立ち上がっています。
zsh$ docker ps
CONTAINER ID   IMAGE                                  COMMAND                  CREATED          STATUS                   PORTS                                       NAMES
d1af99d79486   nginx:1.21.0-alpine                    "/docker-entrypoint.…"   2 minutes ago    Up 2 minutes             0.0.0.0:9000->80/tcp, :::9000->80/tcp       sentry_onpremise_nginx_1
31bd40c2d0b1   getsentry/relay:nightly                "/bin/bash /docker-e…"   3 minutes ago    Up 2 minutes             3000/tcp                                    sentry_onpremise_relay_1
96946f054f97   getsentry/sentry:nightly               "/etc/sentry/entrypo…"   3 minutes ago    Up 3 minutes             9000/tcp                                    sentry_onpremise_web_1
142cbe99bcab   getsentry/sentry:nightly               "/etc/sentry/entrypo…"   3 minutes ago    Up 3 minutes             9000/tcp                                    sentry_onpremise_post-process-forwarder_1
a73d30ffeecf   getsentry/sentry:nightly               "/etc/sentry/entrypo…"   3 minutes ago    Up 3 minutes             9000/tcp                                    sentry_onpremise_worker_1
53710796c597   sentry-cleanup-onpremise-local         "/entrypoint.sh '0 0…"   3 minutes ago    Up 3 minutes             9000/tcp                                    sentry_onpremise_sentry-cleanup_1
0fc66120b6e7   getsentry/sentry:nightly               "/etc/sentry/entrypo…"   3 minutes ago    Up 3 minutes             9000/tcp                                    sentry_onpremise_subscription-consumer-events_1
6660c44c85d3   getsentry/sentry:nightly               "/etc/sentry/entrypo…"   3 minutes ago    Up 3 minutes             9000/tcp                                    sentry_onpremise_subscription-consumer-transactions_1
1178f9de7dcb   getsentry/sentry:nightly               "/etc/sentry/entrypo…"   3 minutes ago    Up 3 minutes             9000/tcp                                    sentry_onpremise_ingest-consumer_1
247403b0cf0a   getsentry/sentry:nightly               "/etc/sentry/entrypo…"   3 minutes ago    Up 3 minutes             9000/tcp                                    sentry_onpremise_cron_1
2485d8b09449   snuba-cleanup-onpremise-local          "/entrypoint.sh '*/5…"   3 minutes ago    Up 3 minutes             1218/tcp                                    sentry_onpremise_snuba-transactions-cleanup_1
3cdd89173e06   snuba-cleanup-onpremise-local          "/entrypoint.sh '*/5…"   3 minutes ago    Up 3 minutes             1218/tcp                                    sentry_onpremise_snuba-cleanup_1
35672074e478   symbolicator-cleanup-onpremise-local   "/entrypoint.sh '55 …"   4 minutes ago    Up 3 minutes             3021/tcp                                    sentry_onpremise_symbolicator-cleanup_1
d0f963485d02   getsentry/snuba:nightly                "./docker_entrypoint…"   9 minutes ago    Up 3 minutes             1218/tcp                                    sentry_onpremise_snuba-api_1
e9b9a080ae5b   getsentry/snuba:nightly                "./docker_entrypoint…"   9 minutes ago    Up 2 minutes             1218/tcp                                    sentry_onpremise_snuba-outcomes-consumer_1
761ef79ae530   getsentry/snuba:nightly                "./docker_entrypoint…"   9 minutes ago    Up 3 minutes             1218/tcp                                    sentry_onpremise_snuba-replacer_1
5670be83129d   getsentry/snuba:nightly                "./docker_entrypoint…"   9 minutes ago    Up About a minute        1218/tcp                                    sentry_onpremise_snuba-subscription-consumer-transactions_1
0f855d1ee7d4   getsentry/snuba:nightly                "./docker_entrypoint…"   9 minutes ago    Up About a minute        1218/tcp                                    sentry_onpremise_snuba-consumer_1
7c3727466982   getsentry/snuba:nightly                "./docker_entrypoint…"   9 minutes ago    Up About a minute        1218/tcp                                    sentry_onpremise_snuba-transactions-consumer_1
5ce98cc4b2ae   getsentry/snuba:nightly                "./docker_entrypoint…"   9 minutes ago    Up 3 minutes             1218/tcp                                    sentry_onpremise_snuba-subscription-consumer-events_1
0ce211d4efc9   getsentry/snuba:nightly                "./docker_entrypoint…"   9 minutes ago    Up About a minute        1218/tcp                                    sentry_onpremise_snuba-sessions-consumer_1
7fa51fba889b   postgres:9.6                           "/opt/sentry/postgre…"   9 minutes ago    Up 3 minutes (healthy)   5432/tcp                                    sentry_onpremise_postgres_1
81956699bb54   memcached:1.6.9-alpine                 "docker-entrypoint.s…"   9 minutes ago    Up 4 minutes (healthy)   11211/tcp                                   sentry_onpremise_memcached_1
4e57cfe13532   getsentry/symbolicator:nightly         "/bin/bash /docker-e…"   9 minutes ago    Up 3 minutes             3021/tcp                                    sentry_onpremise_symbolicator_1
c65e4f13f9a4   tianon/exim4                           "docker-entrypoint.s…"   9 minutes ago    Up 3 minutes             25/tcp                                      sentry_onpremise_smtp_1
d23c00d76349   confluentinc/cp-kafka:5.5.0            "/etc/confluent/dock…"   10 minutes ago   Up 3 minutes (healthy)   9092/tcp                                    sentry_onpremise_kafka_1
8bbb79e2d190   yandex/clickhouse-server:20.3.9.70     "/entrypoint.sh"         10 minutes ago   Up 3 minutes             8123/tcp, 9000/tcp, 9009/tcp                sentry_onpremise_clickhouse_1
f4f40b5dd5fe   redis:6.2.4-alpine                     "docker-entrypoint.s…"   10 minutes ago   Up 3 minutes (healthy)   6379/tcp                                    sentry_onpremise_redis_1
5ff06b679111   confluentinc/cp-zookeeper:5.5.0        "/etc/confluent/dock…"   10 minutes ago   Up 3 minutes (healthy)   2181/tcp, 2888/tcp, 3888/tcp                sentry_onpremise_zookeeper_1
Sentryへアクセス
ブラウザからSentryを開く
http://localhost:9000へブラウザからアクセスしSentryを開きます。
ログイン画面が表示されたらインストールは成功です。
SentryのSetup
Sentoryの初期設定を実施します。
ログイン
続いてインストール時に登録したユーザー情報を入力しログインします。
Setup情報の入力
Root URL
Sentoryを利用するURLを指定します。
Admin Email
管理者のメールアドレスを登録します。
Outbound email
SMTPサーバーの設定をします。
詳しくはこちらをご確認ください。
Sentry Developer Documentation | Sentry Developer Documentation
Beacon
使用統計(Usage Statistics)の情報を送信するかどうかの設定です。
Send my contact information along with usage statistics
送信する場合はこちらを選択します。
Please keep my usage information anonymous
送信しない場合はこちらを選択します。
入力が完了したらContinueをクリックします。
Sentryのダッシュボード
ダッシュボードが表示されたらSentryのSetupは完了です。
articleDocker を用いた統一ローカル環境:新人オンボーディングを 1 日 → 1 時間へ
articleDocker で Dev Container を構築:VS Code/Codespaces で即戦力環境を配布
articleDocker マルチステージビルド設計大全:テスト分離・依存最小化・キャッシュ戦略
articleDocker コマンド早見表:build/run/exec/logs/prune を 1 枚で網羅
articleWindows WSL2 に Docker を最適導入:I/O 最適化・メモリ配分・互換性チェック
articleDocker vs Podman vs nerdctl 徹底比較:CLI 互換性・rootless・企業導入の勘所
articleWebSocket が「200 OK で Upgrade されない」原因と対処:プロキシ・ヘッダー・TLS の落とし穴
articleWebRTC 本番運用の SLO 設計:接続成功率・初画出し時間・通話継続率の基準値
articleAstro のレンダリング戦略を一望:MPA× 部分ハイドレーションの強みを図解解説
articleWebLLM が読み込めない時の原因と解決策:CORS・MIME・パス問題を総点検
articleVitest ESM/CJS 混在で `Cannot use import statement outside a module` が出る技術対処集
articleテスト環境比較:Vitest vs Jest vs Playwright CT ― Vite プロジェクトの最適解
blogiPhone 17シリーズの発表!全モデルiPhone 16から進化したポイントを見やすく整理
blogGoogleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
blog【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
blogGoogleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
blogPixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
blogフロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
review今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
reviewついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
review愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
review週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
review新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
review科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来



