Judge0
开源在线代码执行系统,在安全沙箱中运行不受信任的代码,支持90+语言,提供简单HTTP API。
智能下载
前往项目主页
该项目暂未提供安装包,请直接访问源代码仓库
可自托管的在线代码沙箱,适合AI代码执行、在线判题、编程考试等场景。
核心功能
- 轻松自托管:Docker Compose一键部署,也可托管使用SaaS
- 支持90+编程语言,包括Python、Java、C++、Go、Rust等
- 隔离沙箱执行,保护宿主系统安全
- 简单的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(发音类似“judge zero”)是一个健壮、可扩展且开源的自由在线代码执行系统。它允许你在隔离的沙箱(容器)中安全地运行不受信任的代码,支持超过90种编程语言。通过简单的HTTP JSON API和官方Python SDK,可以轻松集成到任何应用中。支持多文件项目编译执行以及附加文件输入。返回详细的执行结果(标准输出、标准错误、退出码、信号等)。支持设置自定义编译器选项、命令行参数、时间与内存限制。提供Webhook异步回调通知。既可以自托管(Docker Compose/Kubernetes),也可以使用托管的SaaS版。底层采用模块化架构:Redis队列、PostgreSQL数据库和沙箱化Worker。广泛用于竞赛平台、在线学习、编程考试、AI智能体、在线IDE等场景。
常见问题与排障 (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