OpenSource-Hub
J

Judge0

4.2k stars·개발 도구·SHA-256 체크섬 확인됨

오픈 소스 온라인 코드 실행 시스템으로, 안전한 샌드박스에서 신뢰할 수 없는 코드를 실행하며, 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("judge zero"와 유사하게 발음)는 견고하고 확장 가능하며 오픈 소스인 자유 온라인 코드 실행 시스템입니다. 격리된 샌드박스(컨테이너)에서 신뢰할 수 없는 코드를 안전하게 실행할 수 있으며, 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을 계속 사용하십시오.

원본 Issue #525
문제 해결
Judge0 Docker에서 'chown: cannot access '/box': No such file or directory' 오류를 수정하는 방법?

호스트 디렉토리가 컨테이너의 /box에 마운트되도록 하세요. docker run 명령어에 -v /path/on/host:/box를 추가하거나 docker-compose에서 볼륨을 정의하세요. 사전 빌드된 이미지를 사용하는 경우, entrypoint 스크립트에서 디렉토리를 생성하거나 /box가 자동 생성되는 버전을 사용하세요. 커뮤니티 해결 방법은 GitHub 이슈 #325를 참조하세요.

원본 Issue #567

태그

code-executionsandboxonline-judgeapiself-hostededucationdockerkubernetes

시작하기

1

설치 프로그램 다운로드

위 버튼을 클릭하여 시스템에 맞는 설치 프로그램을 다운로드

2

소프트웨어 설치

다운로드한 설치 프로그램을 더블 클릭하고 안내에 따르세요

3

1단계: Docker와 Docker Compose가 설치되어 있는지 확인하세요

4

2단계: 저장소 클론: git clone https://github.com/judge0/judge0.git && cd judge0

5

3단계: 배포 스크립트 실행: ./deploy.sh (또는 CHANGELOG의 수동 단계에 따라 구성)

설치 가이드
  1. 1단계: Docker와 Docker Compose가 설치되어 있는지 확인하세요
  2. 2단계: 저장소 클론: git clone https://github.com/judge0/judge0.git && cd judge0
  3. 3단계: 배포 스크립트 실행: ./deploy.sh (또는 CHANGELOG의 수동 단계에 따라 구성)
파일 무결성

체크섬 없음

이 프로젝트는 GitHub Release 페이지에 SHA-256 체크섬을 게시하지 않았습니다

SHA256 체크섬

체크섬 없음

GitHub Releases에서 직접 다운로드하고 파일 무결성을 직접 확인하세요

이 플랫폼의 모든 SHA-256 체크섬은 프로젝트의 공식 GitHub Release 페이지에서 추출되었으며, 어떠한 변경도 없습니다. GitHub Releases 페이지에서 직접 검증할 수 있습니다.

오픈소스 투명성

GitHub 소스 보기
환경 가이드

제거 정보

모든 관련 컨테이너 중지 및 삭제: docker-compose down -v; 프로젝트 폴더를 삭제하면 완전히 제거됩니다.

추가 의존성 없음

다운로드 후 바로 사용 가능. 추가 런타임이 필요하지 않습니다.

프로젝트 정보
라이선스GPL-3.0
마지막 업데이트2026-06-27 07:10:09
GitHub 저장소공식 웹사이트

문제 발생? 아래 FAQ 확인

2 FAQs

유사한 프로젝트