Judge0
オープンソースのオンラインコード実行システム。安全なサンドボックス内で信頼できないコードを実行し、90以上の言語をサポートし、シンプルなHTTP APIを提供します。
スマートダウンロード
プロジェクトのホームページへ
インストーラはまだありません — ソースリポジトリをご覧ください
セルフホスト可能なオンラインコードサンドボックス。AIコード実行、オンラインジャッジ、プログラミング試験などのシナリオに適しています。
主な機能
- 簡単にセルフホスト可能:Docker Composeでワンクリックデプロイ、SaaSとしてホストして利用することも可能
- Python、Java、C++、Go、Rustなど90以上のプログラミング言語をサポート
- 隔離されたサンドボックスで実行し、ホストシステムの安全性を確保
- シンプルなHTTP JSON API、公式Python SDKを提供
- 複数ファイルプロジェクトのコンパイルと実行をサポート
できないこと
- •セルフホスティングには一定の運用知識(Docker、ネットワーク、ストレージ設定)が必要です。2. デフォルトでは uniikernel による分離を使用しますが、本番環境ではセキュリティの強化(seccomp、AppArmor など)を推奨します。3. 無料版は有料の Extra CE と比べて言語サポートが少ないです(約60種 vs 90以上)。4. 大規模な高同時接続には、Worker の数と Redis/PostgreSQL のリソースを適切に設定する必要があります。5. 公式ドキュメントと API ドキュメントはどちらも比較的詳細ですが、コミュニティリソースは中程度であり、難解な問題は GitHub Issues を参照する必要があります。
使用例
- AIエージェントが生成したコードを実行(例:大規模モデルがコードを記述した後、自動でテストを実行)
- オンラインプログラミングコンテストプラットフォーム(Online Judge)
- プログラミング教育とオンライン評価システム(e-learning)
- 候補者のプログラミング能力評価と採用選考
- オンラインIDEまたはコードエディタ(例:Judge0 IDE)
- 企業内部でのコードサンドボックス検証(例:セキュリティテスト)
詳細説明
Judge0(「ジャッジ・ゼロ」と発音)は、堅牢でスケーラブル、かつオープンソースの無料オンラインコード実行システムです。隔離されたサンドボックス(コンテナ)内で信頼できないコードを安全に実行でき、90以上のプログラミング言語をサポートしています。シンプルなHTTP JSON APIと公式Python SDKにより、あらゆるアプリケーションに簡単に統合できます。マルチファイルプロジェクトのコンパイル・実行や、追加ファイルの入力にも対応しています。詳細な実行結果(標準出力、標準エラー、終了コード、シグナルなど)を返します。カスタムコンパイラオプション、コマンドライン引数、実行時間やメモリの制限を設定できます。Webhookによる非同期コールバック通知を提供します。セルフホスト(Docker Compose/Kubernetes)での運用も、マネージドSaaS版の利用も可能です。基盤にはモジュラーアーキテクチャを採用しており、Redisキュー、PostgreSQLデータベース、サンドボックス化されたWorkerで構成されています。競技プログラミングプラットフォーム、オンライン学習、プログラミング試験、AIエージェント、オンラインIDEなど、さまざまな場面で広く活用されています。
トラブルシューティング & FAQ (2)
トラブル対応macOSでのDocker Desktopアップデート後にsettings.jsonファイルがないのはなぜですか? deprecatedCgroupv1を設定する方法は?
Docker Desktop 4.34 から、設定ファイルは settings.json から settings-store.json に名称変更されました。deprecatedCgroupv1 を適用するには、~/Library/Group Containers/group.com.docker/settings-store.json を編集し、プロパティ "deprecatedCgroupv1": true を手動で追加してから Docker を再起動してください。このファイルの場所は Docker Desktop の設定管理に記載されています。4.34 より古いバージョンを使用している場合は、同じパスの settings.json を引き続き使用してください。
トラブル対応Judge0 Dockerにおける 'chown: cannot access '/box': No such file or directory' エラーの修正方法
コンテナ内の /box にホストディレクトリがマウントされていることを確認してください。docker run コマンドに -v /path/on/host:/box を追加するか、docker-compose でボリュームを定義してください。プリビルドイメージを使用する場合は、エントリポイントスクリプトでディレクトリを作成するか、/box が自動生成されるバージョンを使用してください。コミュニティの回避策については GitHub issue #325 を参照してください。
タグ
はじめ方
ソフトウェアをインストール
ダウンロードしたインストーラをダブルクリックし、指示に従ってください
ステップ1:Docker と Docker Compose がインストールされていることを確認してください
ステップ2:リポジトリをクローン: git clone https://github.com/judge0/judge0.git && cd judge0
ステップ3:デプロイスクリプトを実行: ./deploy.sh (または CHANGELOG の手動手順に従って設定してください)
- ステップ1:Docker と Docker Compose がインストールされていることを確認してください
- ステップ2:リポジトリをクローン: git clone https://github.com/judge0/judge0.git && cd judge0
- ステップ3:デプロイスクリプトを実行: ./deploy.sh (または CHANGELOG の手動手順に従って設定してください)
チェックサムがありません
このプロジェクトは GitHub Release ページに SHA-256 チェックサムを公開していません
SHA256 チェックサム
チェックサムなし
GitHub Releases から直接ダウンロードし、ファイルの整合性をご自身で確認してください
本プラットフォーム上のすべての SHA-256 チェックサムは、プロジェクトの公式 GitHub Release ページから抽出されたもので、一切の改変はありません。GitHub Releases ページで独自に検証できます。
オープンソースの透明性
GitHub ソースを見るアンインストール情報
すべての関連コンテナを停止して削除します:docker-compose down -v;プロジェクトフォルダを削除すれば、完全に削除できます。
追加の依存関係なし
ダウンロード後すぐに使用可能。追加のランタイムは不要です。
問題が発生?以下のFAQを確認
2 FAQs